# Copilot クラウド エージェントと Slack の統合

Copilot クラウド エージェントにコンテキストを提供し、Slack ワークスペース内からプル要求を開きます。

> \[!NOTE]
>
> * この機能は パブリック プレビュー であり、変更される可能性があります。
> *

GitHub Copilot は AI を使用します。 間違いがないか確認してください。 「[アプリケーション カード: GitHub Copilot エージェント](/ja/copilot/responsible-use/agents)」を参照してください。

## はじめに

Slack の Copilot cloud agent 統合により、Slack ワークスペースから Copilot cloud agent を操作でき、Slack の GitHub App に含まれます。 Slack スレッドまたはダイレクト メッセージ内から、会話のコンテキストを使用して cloud agent セッションを開始できます。

その他の Copilot 統合については、 [Copilot統合について](/ja/copilot/concepts/tools/about-copilot-integrations) を参照してください。

## セキュリティに関する考慮事項

Slack でGitHub Appを@mentionする前に、次のことを検討してください。

* Copilot は、質問への回答に加えて、プル要求や問題の作成など、ユーザーに代わって書き込みアクションを実行する場合があります。
  Copilot では、リンクされた GitHub アカウントのアクセス許可が、実行されるすべてのアクションに対して使用されます。
* Copilot cloud agent は、スレッド全体を要求のコンテキストとしてキャプチャし、ディスカッションに基づいてソリューションを理解し、実装します。 このコンテキストは pull request に格納されます。 コンテキストを制限する場合は、代わりに Slack の GitHub App に直接メッセージを送信できます。

## Prerequisites

* 有料のGitHub プランを通じてCopilotにアクセスできるCopilot アカウントが必要です。
* Slack アカウントを持ち、ワークスペースのメンバーである必要があります。
* Slack の GitHub App がインストールされている必要があります。 「[GitHubと Slack の統合](/ja/integrations/how-tos/slack/integrate-github-with-slack)」を参照してください。

## GitHub AppをあなたのGitHubアカウントに接続する

Slack で GitHub App を初めて使用すると、アプリは GitHub アカウントに接続し、既定のリポジトリを設定するように求められます。 既定のリポジトリでは、 Copilot cloud agent セッションによって作成されたプル要求が開かれます。

1. Slack で、GitHub Appを含む直接メッセージを開くか、「`@GitHub App`」と入力してスレッド内のGitHubをメンションします。
2. Copilot cloud agentにプロンプトを送信します。 これは、タスクを実行するための要求でも、単に `login`することもできます。
3. GitHub アカウントへの接続を求められた場合は、Copilotの応答の指示に従って、GitHub アカウントにアクセスするアプリを承認します。
4. Slack メッセージ スレッドで、\[設定の **構成** ] をクリックして、プル要求の既定のリポジトリを設定します。 このリポジトリは、後で `settings` コマンドを使用して変更できます。
5. \[設定] ダイアログで、クラウド エージェントを使用するリポジトリの名前を入力し、\[ **変更の保存**] をクリックします。

## Slack での GitHub App の使用

GitHub Appダイレクト メッセージを送信したり、スレッドでメンションしたりできます。 ボットはメッセージに応答し、要求に基づいてタスクを実行します。

Copilot cloud agentをトリガーして動作させるには、既定のリポジトリ (またはプロンプトで指定されたリポジトリ) への書き込みアクセス権が必要です。 関連するリポジトリへの書き込みアクセス権がない場合でも、Slack スレッドで入力を提供することで Copilot をガイドできます。これは、プル要求で変更 Copilot cloud agent 際にコンテキストとして使用されます。

ユーザーは、Copilot cloud agentアクセス権を持つ任意のリポジトリで`write`を呼び出すことができます。 エンタープライズ所有のリポジトリの場合、管理者は [Slack GitHub App](https://github.com/marketplace/slack-github?ref_product=copilot\&ref_type=engagement\&ref_style=text\&ref_plan=enterprise) をインストールして構成し、Slack アプリがアクセスできるリポジトリを指定する必要があります。
GitHub Appsの構成の詳細については、[AUTOTITLE を](/ja/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations)参照してください。

1. Slack で、 GitHub App を含む直接メッセージを開くか、「 `@GitHub`」と入力してスレッド内のアプリをメンションします。

2. プロンプトを入力し、送信します。 要求の一部として、リポジトリとブランチを自然言語で記述できます。 例えば次が挙げられます。

   `@GitHub Add "Hello World" to the README in octo-org/octo-repo on the develop branch`

   > \[!NOTE] 要求 Copilot cloud agent 使用するリポジトリを指定し、必要に応じて、プル要求のベース ブランチとして使用するリポジトリの既存のブランチを指定します。 リポジトリを指定しない場合、 Copilot はチャネルの既定のリポジトリが設定されている場合は使用し、それ以外の場合はどちらを使用するかを尋ねます。 ブランチを指定しない場合は、 Copilot リポジトリの既定のブランチから新しいブランチが作成されます。

3. Copilot cloud agent は cloud agent セッションを開始し、 cloud agent が完了したら、行う予定の変更の概要と、既定のリポジトリに作成された pull request へのリンクを返します。

### Copilot に関する課題を作成する

Slack から直接Copilot問題を作成するようにGitHubに依頼し、会話を実用的なタスクに変えることができます。 自然言語で必要な内容を記述するだけで、問題 Copilot 自動的に作成されます。 子と親のリレーションシップでは、1 つの問題または複数の問題を一度に作成できます。
Copilot言及すると、作成した問題のコンテキストとして完全なスレッド履歴が使用されます。 コンテキストにフォーカスを合わせるには、新しいスレッドを開始するか、直接メッセージを送信することを検討してください。

1. Slack で、ターゲット リポジトリを指定して、1 つ以上の問題を作成するように Copilot に依頼します。

   1 つの問題を作成するには:

   ```text
   @GitHub In octo-org/octo-repo, create a feature request to add fuzzy matching to search.
   ```

   複数の問題を一度に作成するには:

   ```text
   @GitHub In octo-org/octo-repo, open separate issues for adding fuzzy matching to search, paginating the results list, and caching search queries.
   ```

   子と親のリレーションシップに関する問題を作成するには:

   ```text
   @GitHub In octo-org/octo-repo, create an epic to redesign search, with child issues for fuzzy matching, pagination, and query caching.
   ```

   > \[!NOTE]
   > Copilotを使用して問題を作成できるのは、問題を作成するアクセス許可が既にあるリポジトリのみです。 この機能によって、アクセスが変更されたり、リポジトリのアクセス許可がバイパスされたりすることはありません。

2. Copilot は、各問題へのリンクを含む問題と返信を作成します。 各問題にはタイトルと説明が含まれており、プロンプトに基づいて Copilot ラベル、担当者、問題の種類などのメタデータを追加することもできます。

### チャネルの既定のリポジトリの設定

すべての要求でリポジトリを指定しないようにするには、Slack チャネルの既定のリポジトリを設定します。

1. チャネルで、「 `@GitHub settings` 」と入力し、メッセージを送信します。
2. 既定として使用するリポジトリを選択し、変更を保存します。

要求でリポジトリが指定されていない場合、 Copilot はチャネルの既定のリポジトリを使用します。

> \[!NOTE] 既定のリポジトリはチャネル全体で共有されるため、変更は、そのチャネルで Copilot を使用しているすべてのユーザーに適用されます。

## 詳細については、次を参照してください。

* [クラウド エージェントGitHub Copilotについて](/ja/copilot/concepts/agents/cloud-agent/about-cloud-agent) - Copilot cloud agent とそのサポート方法の詳細について説明します。