Agent tasks REST APIとは?Copilot Pro/Pro+/Max対応の変更点と管理者チェック

Agent tasks REST APIの今回の更新で押さえるべき結論は、Copilot Pro、Pro+、Maxユーザーも、Copilot cloud agentのタスクをREST APIから開始・追跡できるようになったという点です。これにより、リポジトリ横断の修正、移行作業、社内開発者ポータルからのタスク起動、定期的なリリース準備などを自動化しやすくなります。一方で、APIはパブリックプレビューのため、管理者は認証方式、リポジトリの有効化範囲、GitHub Actionsの実行承認、監査ログ、人間によるレビュー体制を先に確認する必要があります。(The GitHub Blog)

なお、「Azure REST API」の更新として情報を追っている場合でも、この発表の実体はAzure Resource ManagerのAPI変更ではなく、GitHub Copilot / GitHub REST APIのAgent tasks機能です。Azureの認証やMicrosoft Graph APIと同じ前提で設計すると、トークンや権限設計でつまずきやすいため注意してください。

目次

Azure REST APIの更新として見る前に:実体はGitHub CopilotのREST API

今回の「Agent tasks REST API now available for Copilot Pro, Pro+, and Max」は、GitHub Copilot cloud agentに作業を依頼するためのREST APIです。Copilot cloud agentは、GitHub Actionsに支えられた一時的な開発環境でリポジトリを調査し、コード変更、テストや検証、必要に応じたPull Request作成まで進めます。(GitHub Docs)

混同しやすいポイントは、名前に「Copilot」や「REST API」が含まれるため、Azure CopilotやMicrosoft 365 Copilot API、Azure Resource Manager REST APIと同じものに見えてしまうことです。実際に呼び出すエンドポイントは api.github.com 配下のGitHub REST APIであり、Azureの管理APIではありません。

観点今回の更新で変わること実務上の注意点
対象ユーザーCopilot Pro、Pro+、MaxユーザーがAgent tasks REST APIを利用可能に組織やリポジトリのポリシーで利用できない場合がある
できることCopilot cloud agentタスクの開始、一覧取得、状態確認「PR作成まで自動」ではなく、人間のレビュー前提で設計する
自動化の範囲スクリプト、社内ポータル、定期ジョブなどからタスクを起動可能一括実行はリポジトリ数・権限・レビュー負荷を見積もる
認証PAT、OAuth、GitHub App user-to-server tokenなどのユーザー系トークンを利用GitHub App installation tokenのようなserver-to-server tokenは対象外
提供状態パブリックプレビュー仕様変更に備えてAPIバージョン固定と小規模展開が必要

Agent tasks REST APIでできること

Agent tasks REST APIでは、主に次の操作ができます。REST APIドキュメントでは、リポジトリ単位のタスク一覧、タスク開始、タスクIDによる取得、認証ユーザーに紐づくタスク一覧などのエンドポイントが用意されています。(GitHub Docs)

操作エンドポイント例主な用途
タスク開始POST /agents/repos/{owner}/{repo}/tasksCopilot cloud agentに作業を依頼する
リポジトリ内のタスク一覧GET /agents/repos/{owner}/{repo}/tasks特定リポジトリの進行中・完了済みタスクを確認する
タスク詳細取得GET /agents/repos/{owner}/{repo}/tasks/{task_id}作成済みタスクの状態、関連セッション、PR情報を確認する
自分のタスク一覧GET /agents/tasks認証ユーザーがアクセスできるタスクを横断的に確認する

タスク開始時に必須なのは prompt です。任意で base_ref、model、create_pull_request などを指定できます。model は利用プランや組織ポリシーによって選択肢が変わる可能性があるため、固定値に依存しすぎず、未指定時の自動選択やフォールバックも考えておくと安全です。(GitHub Docs)

最小構成のAPI呼び出し例

curl -L -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer ${GITHUB_TOKEN}" \
  -H "X-GitHub-Api-Version: 2026-03-10" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks \
  -d '{
    "prompt": "既存のlintエラーを修正し、関連するテストを実行してください。無関係なファイルは変更しないでください。",
    "base_ref": "main",
    "create_pull_request": true
  }'

実装時は、レスポンスの id、html_url、state、対象リポジトリ、作成時刻を保存しておきます。その後、GET APIで queued、in_progress、completed、failed、waiting_for_user などの状態を確認し、完了時はPRレビュー担当者に通知する流れにすると運用しやすくなります。タスク状態には queued、in_progress、completed、failed、idle、waiting_for_user、timed_out、cancelled が含まれます。(GitHub Docs)

今回の変更で影響を受ける利用者

Copilot cloud agentは有料Copilotプランで利用でき、GitHub上のリポジトリで利用可能です。ただし、管理対象ユーザーアカウントが所有するリポジトリや、明示的に無効化されたリポジトリでは利用できません。(GitHub Docs)

特に重要なのは、プランによって初期状態が異なる点です。Copilot Pro、Copilot Pro+、Copilot MaxではCopilot cloud agentがデフォルトで有効とされる一方、Copilot BusinessやCopilot Enterpriseでは管理者が有効化する必要があります。組織やEnterpriseでは、上位ポリシーが下位設定を上書きするため、リポジトリ管理者だけで解決できないケースがあります。(GitHub Docs)

利用者・管理者確認すべきことよくある失敗
個人のCopilot Pro/Pro+/Maxユーザー対象リポジトリでCopilot cloud agentが無効化されていないかAPIは使えるが対象リポジトリでタスクが起動できない
Organization ownerCopilot cloud agentポリシー、リポジトリアクセス範囲全リポジトリに開放してレビュー負荷が急増する
Enterprise owner / AI managerEnterpriseレベルの有効化方針、対象OrganizationOrganization側で設定変更できない原因を見落とす
開発者書き込み権限、トークン権限、PRレビュー経路403をAPI不具合と誤解する

認証と権限で確認すべきポイント

Agent tasks APIは、ユーザーに紐づく認証を前提にしています。ドキュメントでは、personal access token、OAuth app token、GitHub App user-to-server tokenが利用できる一方、GitHub App installation access tokenのようなserver-to-server tokenはサポート対象外とされています。(GitHub Docs)

Fine-grained personal access tokenを使う場合、タスク開始にはリポジトリの「Agent tasks」権限のread and writeが必要です。一覧取得やタスク詳細の確認ではread権限が必要です。(GitHub Docs)

HTTPステータス主な原因確認する場所
401トークン未設定、期限切れ、形式不正Authorizationヘッダー、トークン有効期限
403権限不足、Copilot cloud agentのポリシー無効、対象リポジトリで無効PAT権限、Organization/Enterpriseポリシー、リポジトリ設定
404リポジトリ名誤り、アクセス権なし、対象リソースなしowner、repo、ユーザーのアクセス権
422パラメータ不正、指定ブランチや入力値の検証エラーprompt、base_ref、model、JSON形式

社内自動化に個人PATをそのまま埋め込む設計は避けるべきです。OAuthやGitHub App user-to-server tokenを使い、トークンの発行者、スコープ、失効、棚卸し、保管先を運用ルールに含めてください。特に複数リポジトリを横断する自動化では、必要以上に広い権限を持つトークンを使うと、誤実行時の影響範囲が大きくなります。

管理者が必ず確認すべき設定

Copilot cloud agentを有効化する範囲

Organizationでは、Copilot cloud agentをメンバー向けに有効化し、利用可能なリポジトリを制御できます。デフォルトでは、利用権を持つユーザーが全リポジトリで利用できる構成になり得るため、最初は「Selected repositories」で低リスクなリポジトリから始めるのが現実的です。(GitHub Docs)

Enterpriseでは、AI controlsのAgents設定からCopilot cloud agentのグローバルポリシーを選択できます。選択したOrganizationのみ有効化する構成も可能で、リポジトリ単位のブロックはOrganization ownerと連携して進める必要があります。(GitHub Docs)

GitHub Actionsの自動実行をどう扱うか

Copilot cloud agentがPRに変更をpushしても、デフォルトではGitHub Actionsワークフローは自動実行されません。PRの内容を確認したうえで、書き込み権限を持つユーザーが承認して実行する流れです。自動実行を許可する設定もありますが、未レビューのコードがリポジトリへの書き込み権限やActions secretsにアクセスする可能性があるため、初期展開では承認必須のままにするのが安全です。(GitHub Docs)

Agents専用のSecretsとVariables

Copilot cloud agentには、Actions、Codespaces、Dependabotとは別に、Agents専用のsecretsとvariablesがあります。内部パッケージレジストリ、MCPサーバー、ビルド用環境変数を渡す場合は、Agents向けのsecret/variableとして設定します。既存のActions secretsが自動的に使われるわけではありません。(GitHub Docs)

実務では、次の基準で分けると管理しやすくなります。

用途推奨設定注意点
内部パッケージ取得読み取り専用トークンをAgents secretに設定書き込み権限付きトークンを渡さない
MCPサーバー連携COPILOT_MCP_ 接頭辞のsecret/variableを検討Copilot本体ではなくMCP向けに限定される
ビルド設定Variablesに環境名やフラグを保存secretにする必要がない値までsecret化しない
組織共通設定Organization-level Agents secret対象リポジトリを「All」にせず、必要な範囲に限定する

開発環境の再現性

Copilot cloud agentは一時的な開発環境で作業します。依存関係のインストール、ツールの事前準備、Windows環境の利用、大きめのrunnerやself-hosted runnerの選択などは、copilot-setup-steps.yml を使って調整できます。テストがローカルでは通るのにエージェント環境で失敗する場合、依存パッケージ、環境変数、OS差分、LFS、社内レジストリへのアクセスを疑ってください。(GitHub Docs)

セキュリティとレビュー体制の注意点

Copilot cloud agentは自律的にコードへアクセスし、変更をpushできるため、通常の補完機能よりも権限面の影響が大きくなります。GitHubは、トリガーできるユーザーをリポジトリのwrite権限者に制限し、Copilotがpushできるブランチを限定し、Copilot作成のドラフトPRを人間がレビュー・マージする設計を採っています。(GitHub Docs)

また、生成コードに対してCodeQL、GitHub Advisory Database、secret scanningなどを使った検証が行われ、セッションログから分析内容を確認できます。ただし、これらはレビューを不要にするものではありません。実運用では、CODEOWNERS、branch protection、required checks、セキュリティレビューの基準をあわせて整える必要があります。(GitHub Docs)

リスク具体例管理側の対策
意図しない大規模変更「全体を整理して」のような曖昧なpromptで広範囲に変更される変更対象ファイル、禁止事項、完了条件をpromptテンプレートに明記
CI/CDの過剰実行複数リポジトリで同時にPRを作成し、runnerやレビューが詰まる同時実行数、対象リポジトリ、実行時間帯を制限
secret露出ビルド用トークンを広い権限で渡すAgents secretsを最小権限・リポジトリ限定で設定
prompt injectionissueやコメントに隠し指示が混入する信頼できない入力をそのまま自動化promptに入れない
監査不足誰が起動した作業か後から追えないtask ID、session ID、起動ユーザー、対象PRを記録

Enterprise audit logでは、actor:Copilot フィルターを使って過去180日分のagentic activityを確認でき、agent_session_id や起動ユーザーなどの情報を追跡できます。API連携側でも、タスクIDとPR URLをチケットやデプロイ記録に残しておくと、監査時の説明がしやすくなります。(GitHub Docs)

Agent tasks REST APIに向いているタスク、向いていないタスク

API化の価値が出やすいのは、「人が毎回同じ依頼文を書いている」「対象リポジトリが複数ある」「完了後はPRでレビューできる」作業です。逆に、要件が曖昧で人間の判断が多い作業、秘密情報や本番環境に強く依存する作業、緊急障害対応のように失敗時の影響が大きい作業は、最初からAPI自動化に載せるべきではありません。

向いている作業活用例判断基準
リポジトリ横断の軽微な移行設定ファイルの更新、非推奨APIの置き換え変更パターンが明確で、テストで検証しやすい
定型的な修正lintエラー、型エラー、テスト追加差分が小さく、レビュー観点が決まっている
ドキュメント更新README、移行手順、リリースノート草案コード変更と分離しやすい
新規リポジトリ初期化テンプレート適用、CI設定、基本README作成社内標準がテンプレート化されている
定期リリース準備変更履歴の整理、PR作成補助人間が最終確認するフローがある

避けたいのは、「パフォーマンスを良くして」「全体をモダン化して」のような範囲の広い依頼です。Agent tasks REST APIを使う場合でも、promptは作業指示書として扱い、対象、完了条件、変更禁止範囲、テスト方法を明確に書く必要があります。

開発者が実装時に入れるべきガードレール

Agent tasks REST APIを社内ツールやCI/CDに組み込む場合、単に POST して終わりにしないことが重要です。最低限、次の設計を入れておくと運用トラブルを減らせます。

設計項目実装の考え方
重複起動防止同じリポジトリ・同じ目的の未完了タスクがあれば新規作成しない
状態監視queued や in_progress が長時間続く場合に通知する
失敗時の扱いfailed、timed_out、waiting_for_user を人間に返す
PR通知html_url やPR URLをSlack、Teams、Issue、社内ポータルに表示する
同時実行数最初は1〜数リポジトリ単位で制限し、レビュー負荷を見て広げる
APIバージョンX-GitHub-Api-Version を指定し、プレビュー仕様変更時に検証する
promptテンプレート依頼内容、禁止事項、テスト、PR説明に入れる内容を標準化する

特にモデル指定は慎重に扱ってください。REST APIドキュメントでは model パラメータが用意されていますが、利用可能なモデルはプランや組織ポリシーに依存し、時間とともに変わる可能性があります。モデル名をハードコードするより、未指定時の自動選択を基本にし、必要な場合だけ設定画面や環境変数で切り替えられるようにする設計が安全です。(GitHub Docs)

既存運用からの移行で気を付けること

2026年5月時点では、Agent tasks REST APIはCopilot BusinessとCopilot Enterprise向けのパブリックプレビューとして案内され、Copilot ProやPro+向け対応は今後予定とされていました。今回の更新では、Copilot Pro、Pro+、Maxユーザー向けに利用可能になった点が大きな変化です。(The GitHub Blog)

すでにBusiness/Enterpriseで試験導入していた組織では、APIの技術変更だけでなく、個人プラン利用者や社外コントリビューターに近いワークフローも意識する必要があります。社内標準としては、次のような整理をしておくと混乱を防げます。

  • どのリポジトリでCopilot cloud agentを許可するか
  • API起動を許可するユーザーやツールをどう定義するか
  • 作成されたPRのレビュールールを通常PRと同じにするか
  • Copilot作成PRのラベル、タイトル、説明文をどう統一するか
  • 失敗したタスクを誰が確認し、再実行するか
  • 監査ログ、セッションログ、社内チケットをどう紐づけるか

移行時にやりがちな失敗は、API実装だけを先に作り、レビュー・承認・監査の運用を後回しにすることです。Agent tasks REST APIは開発作業の入口を自動化する機能であり、マージ判断や本番反映まで任せる機能ではありません。

導入手順:小さく試してから横展開する

最初から全リポジトリに展開するのではなく、次の順序で進めると安全です。

  1. 対象がAzure REST APIではなくGitHub REST APIであることをチーム内で確認する
  2. Copilot cloud agentを使う対象リポジトリを1〜3個に限定する
  3. OrganizationまたはEnterpriseのCopilot cloud agentポリシーを確認する
  4. Fine-grained PAT、OAuth、GitHub App user-to-server tokenのいずれを使うか決める
  5. 最小権限のトークンで POST /agents/repos/{owner}/{repo}/tasks を試す
  6. タスクID、状態、PR URLを保存する簡単な監視処理を作る
  7. Copilot作成PRのレビュー観点をチームで決める
  8. Actions workflow approvalを必要とする設定のまま運用テストする
  9. Agents secretsや開発環境セットアップを必要最小限で追加する
  10. 監査ログと社内チケットの紐づけを確認してから対象を広げる

試験導入では、「既存テストが通る小さな修正」を題材にするのがおすすめです。たとえば、READMEの更新、lintエラーの修正、テスト追加、設定ファイルの軽微な変更などです。最初の目的は大きな成果を出すことではなく、API起動からPRレビュー、監査までの流れが破綻しないことを確認することです。

まとめ:Agent tasks REST APIは便利だが、先に統制を設計する

Agent tasks REST APIにより、Copilot Pro、Pro+、MaxユーザーもCopilot cloud agentのタスクをプログラムから開始・追跡できるようになりました。これまでGitHub上の操作に寄りがちだったAIエージェント作業を、社内ポータル、定期ジョブ、移行スクリプト、開発ワークフローへ組み込みやすくなった点が大きな価値です。

一方で、これは「AIに自動で安全にマージさせる機能」ではありません。実務で使うなら、トークン権限、対象リポジトリ、Actions承認、Agents secrets、promptテンプレート、人間レビュー、監査ログをセットで設計してください。次に取るべき行動は、低リスクなリポジトリを1つ選び、最小権限トークンでタスク起動と状態確認を試し、作成されたPRを通常の開発ルールでレビューできるか確認することです。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次