メモ
- この機能は パブリック プレビュー であり、変更される可能性があります。
GitHub Copilot は AI を使用します。 間違いがないか確認してください。 「アプリケーション カード: GitHub Copilot エージェント」を参照してください。
はじめに
Slack の Copilot cloud agent 統合により、Slack ワークスペースから Copilot cloud agent を操作でき、Slack の GitHub アプリに含まれています。 Slack メッセージ、スレッド、または直接メッセージ内で、会話のコンテキストを使用して、 cloud agent セッションを開始して、調査、計画、コードの作成、問題の作成、および要求のプルを行うことができます。 チームの協調的な決定は、コードに結び付け、ディスカッションがどこで行われるか、実装がどこにあるかのギャップを埋めます。
その他の Copilot 統合については、 Copilot統合について を参照してください。
セキュリティに関する考慮事項
Slack で @mentionGitHub する前に、 Copilot cloud agent がスレッド全体を要求のコンテキストとしてキャプチャし、ディスカッションに基づいてソリューションを理解し、実装することを検討してください。 このコンテキストは、エージェントによって生成される成果物に格納されます。 コンテキストを制限する場合は、代わりに Slack の GitHub アプリに直接メッセージを送信できます。
コラボレーション セッション、アクセス許可、コード チャネル、サンドボックスについて
Copilotが使用する ID は、ダイレクト メッセージと共有コンテキストのどちらを操作するかによって異なります。
-
ダイレクト メッセージで Copilot を使用すると、プル要求や問題の作成などのアクションを実行したり、質問に回答したりできます。 リンクされた GitHub 個人アカウントのアクセス許可を使用して、これらのアクションを実行します。
-
グループ スレッドやチャネルなどの共有コンテキストで Copilot を使用すると、 Copilot は個人アカウントではなくアプリ ID の下に、プル要求などの成果物を作成します。
メモ
共有コンテキストで Copilot によって作成されたプル リクエストでは、アプリの ID が使用されます。 リポジトリルールセットを使用する場合、これらのプル要求は個人に起因しないため、リポジトリに少なくとも 1 つの承認が既に必要である限り、マージの前にもう 1 つの承認が必要です。 この機能は、既定では有効になっています。 「ルールセットで使用できるルール」を参照してください。
リポジトリへの 書き込み アクセス権を持つユーザーのみが変更を行うために Copilot をトリガーできますが、会話参加者は入力を提供できます。 ワークスペースのゲスト メンバーおよびリポジトリへの外部コラボレーターは、Slack で Copilot とのセッションを開始または誘導することはできません。
Copilot は、会話内のすべてのメッセージを使用して作業を通知します。 スレッド全体が成果物の意思決定コンテキストになります。
Slack コード
タスクの実行を Copilot に依頼すると、 Copilot cloud agent は Slack Code と呼ばれる専用のコード チャネルを作成します。 ここでは、必要に応じてチームメイトと一緒に、Copilot とタスクに共同で取り組むことができます。 コード チャネルが確立されたら、そのチャネルを介してのみセッションを誘導します。
Copilot は、コード チャネルを管理し、作業中のリポジトリ、ブランチ、問題、プル要求リンク、状態、モデルなど、セッションに関する詳細を表示します。 コード チャネルは、一度に 1 つのセッション (タスクごとに 1 つのチャネル) を対象としています。 セッションが完了すると、チャネルをアーカイブするかどうかを確認するメッセージが表示されます。 アーカイブ後、チャネルとその履歴は引き続き表示および検索可能であり、必要に応じてチャネルを再度開くことができます。
セキュリティで保護されたクラウド サンドボックス
Copilot cloud agent Slack からタスクの作業を開始すると、Copilotはセキュリティで保護されたクラウド サンドボックスで非同期的に作業を続け、準備ができたら結果を投稿します。 Slack からステアリングを維持したり、 GitHub、ターミナル、または任意のコード エディターでエージェントによって生成された成果物の作業を続行したりできます。
Prerequisites
-
有料のGitHub プランを通じてCopilotにアクセスできるCopilot アカウントが必要です。
-
Slack アカウントを持ち、ワークスペースのメンバーである必要があります。
-
Slack の GitHub 統合がインストールされている必要があります。 「GitHubと Slack の統合」を参照してください。
-
Copilot cloud agentを使用するには、Copilot プランでクラウド サンドボックスが有効になっている必要があります。 GitHub Copilotについては、クラウドサンドボックスを参照してください。
メモ
クラウド サンドボックス ポリシーは、 Copilot cloud agent ポリシーと同じ構成を共有します。 マネージド ユーザーを含む Enterpriseを含む組織または企業のメンバーは、Slack でCopilot cloud agentを使用する前に、所有者がクラウド サンドボックスとCopilotを有効にする必要がある場合があります。 「組織または企業のクラウド サンドボックスの有効化または無効化」を参照してください。
GitHub アプリをGitHub アカウントに接続する
Slack で GitHub 統合を初めて使用すると、アプリによって GitHub アカウントに接続するように求められます。 プロンプトが表示されたら、既定のリポジトリを設定します。
既定のリポジトリは、プロンプトに応答するときに Copilot が使用するコンテキストを提供します。また、プロンプトでリポジトリを指定しない限り、 Copilot cloud agent セッションによって作成された問題とプル要求が開かれます。
作業を開始するには:
- Slack で、GitHub アプリで直接メッセージを開くか、「
@GitHub」と入力してGitHub アプリをスレッドに@mentionします。 - プロンプトに従って GitHub アカウントに接続し、プロンプトが表示されたら、必要に応じて既定のリポジトリを設定します。
- 他に何ができるかを確認するには、スレッドで「
@GitHub help」と入力してアプリを@mentionします。
Slack で GitHub アプリを使用する
GitHub アプリのダイレクト メッセージを送信したり、スレッドで@mentionしたりできます。 ボットはメッセージに応答し、要求に基づいてタスクを実行します。
Copilot cloud agentをトリガーして動作させるには、既定のリポジトリまたはプロンプトで指定されたリポジトリへの書き込みアクセス権が必要です。 関連するリポジトリへの書き込みアクセス権がない場合でも、Slack スレッドで入力を提供することで Copilot をガイドできます。これは、プル要求で変更 Copilot cloud agent 際にコンテキストとして使用されます。
ユーザーは、Copilot cloud agentアクセス権を持つ任意のリポジトリでwriteを呼び出すことができます。 エンタープライズ所有のリポジトリの場合、管理者は Slack GitHub アプリ をインストールして構成し、Slack アプリがアクセスできるリポジトリを指定する必要があります。
GitHub Appsの構成の詳細については、AUTOTITLE を参照してください。
-
Slack で、GitHub アプリで直接メッセージを開くか、「
@GitHub」と入力してアプリをスレッドに@mentionします。 -
プロンプトを入力し、送信します。 要求の一部として、リポジトリとブランチを自然言語で記述できます。 例えば次が挙げられます。
@GitHub Add "Hello World" to the README in octo-org/octo-repo on the develop branch -
Copilot cloud agent は cloud agent セッションを開始し、 cloud agent が完了したら、予定されている変更の概要と、指定したリポジトリに作成された成果物へのリンクを返します。
Copilot に関する課題を作成する
Slack から直接Copilot問題を作成するようにGitHubに依頼し、会話を実用的なタスクに変えることができます。 自然言語で必要な内容を記述するだけで、問題 Copilot 自動的に作成されます。
子と親のリレーションシップでは、1 つの問題または複数の問題を一度に作成できます。
アプリを @mention すると、作成した問題のコンテキストとして完全なスレッド履歴が使用されます。 コンテキストにフォーカスを合わせるには、新しいスレッドを開始するか、直接メッセージを送信することを検討してください。
-
Slack で、ターゲット リポジトリを指定して、1 つ以上の問題を作成するように Copilot に依頼します。
1 つの問題を作成するには:
@GitHub In octo-org/octo-repo, create a feature request to add fuzzy matching to search.複数の問題を一度に作成するには:
@GitHub In octo-org/octo-repo, open separate issues for adding fuzzy matching to search, paginating the results list, and caching search queries.子と親のリレーションシップに関する問題を作成するには:
@GitHub In octo-org/octo-repo, create an epic to redesign search, with child issues for fuzzy matching, pagination, and query caching.メモ
Copilotを使用して問題を作成できるのは、問題を作成するアクセス許可が既にあるリポジトリのみです。 この機能によって、アクセスが変更されたり、リポジトリのアクセス許可がバイパスされたりすることはありません。
-
Copilot は、各問題へのリンクを含む問題と返信を作成します。 各問題にはタイトルと説明が含まれており、プロンプトに基づいて Copilot ラベル、担当者、問題の種類などのメタデータを追加することもできます。
チャネルの既定のリポジトリの設定
プライベート チャネルまたはパブリック チャネルごとに既定のリポジトリを設定できます。 Copilotを含むダイレクト メッセージの既定のリポジトリを設定することはできません。
チャネルに既定のリポジトリがない場合は、 Copilot チャネルの既定のリポジトリとして、そのチャネルの最初のセッションで使用するリポジトリを設定します。
- チャネルで、「
@GitHub settings」と入力し、メッセージを送信します。 - 既定として使用するリポジトリを選択し、変更を保存します。
リポジトリまたはブランチを指定しない場合、 Copilot はチャネルの既定のリポジトリとそのリポジトリの既定のブランチを使用します。
メモ
既定のリポジトリはチャネル全体で共有されるため、変更は、そのチャネルで Copilot を使用しているすべてのユーザーに適用されます。
詳細については、次を参照してください。
- クラウド エージェントGitHub Copilotについて - Copilot cloud agent とそのサポート方法の詳細について説明します。