Skip to main content

API を使用してCopilotクラウドエージェントを利用する

REST API を使用して、 Copilot クラウドエージェント タスクをプログラムで開始および管理できます。

この機能を使用できるユーザーについて

Copilot 事業 または Copilot Enterprise プランを所有する organization。

メモ

エージェント タスク API は パブリック プレビュー であり、変更される可能性があります。

エージェント タスク API を使用して、 クラウド エージェント を独自のツールとワークフローに統合できます。 たとえば、新しいタスクを開始したり、既存のタスクを一覧表示したり、タスクの状態を確認したりできます。

完全な API リファレンスについては、 エージェント タスクの REST API エンドポイント を参照してください。

認証

エージェント タスク API では、ユーザーからサーバーへのトークンのみがサポートされます。 personal access token、OAuth app トークン、またはGitHub Appユーザーからサーバーへのトークンを使用して認証できます。

          GitHub Appインストール アクセス トークンなどのサーバー間トークンはサポートされていません。

API を使用してタスクを開始する

新しいクラウド エージェント タスクを開始するには、POST/agents/repos/{owner}/{repo}/tasks要求を送信します。 必須のパラメーターは prompt のみです。これはエージェントのプロンプトです。

Shell
curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks \
  -d '{
    "prompt": "Fix the login button on the homepage",
    "base_ref": "main"
  }'

次のプレースホルダー値を置き換えます。

  • YOUR-TOKEN: personal access token または GitHub App ユーザーからサーバーへのトークン。
  • OWNER: リポジトリのアカウント所有者。
  • REPO: リポジトリの名前。

要求本文には、次の省略可能なパラメーターを含めることもできます。

  • base_ref: 新しいブランチとプルリクエストのための基本ブランチ。
  • model: タスクに使用する AI モデル。 省略した場合、自動モデルの選択 が使われます。 サポートされているモデルの詳細については、 AUTOTITLE を参照してください。
  • create_pull_request: タスクのプル要求を作成するかどうかを決定するブール値。

タスクの一覧表示

特定のリポジトリまたはアクセス権を持つすべてのリポジトリのタスクを一覧表示できます。

特定のリポジトリのタスクを一覧表示するには:

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks

すべてのリポジトリのタスクを一覧表示するには:

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/tasks

タスクの状態の確認

特定のタスクの状態を確認するには、タスク ID を使用して GET 要求を送信します。

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks/TASK-ID
          `TASK-ID`を、確認するタスクの ID に置き換えます。 この ID は、タスクまたはリスト タスクを作成するときに応答から取得できます。 応答には、タスクの現在の `state` ( `queued`、 `in_progress`、 `completed`、 `failed`、 `idle`、 `waiting_for_user`、 `timed_out`、または `cancelled`のいずれか) が含まれます。

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