Organization にインストールした GitHub App が、サインイン済みユーザー資格なしで GitHub Copilot SDK から Copilot リクエストを送れる public preview。エージェントや自動サービスは workload 所有の identity で動き、個人ユーザーへの認証・利用量の紐づけを避けられる。利用量の帰属先と課金先はインストール先 organization。当該 organization のモデルポリシー、予算、支出コントロールが適用される。
GitHub Actions
Organization 所有リポジトリの workflow では GitHub App を置かず、組み込み GITHUB_TOKEN を使う。
- workflow の
permissionsにcopilot-requests: writeを付与 - 実行環境へ
GITHUB_TOKENを渡して Copilot SDK を起動 - Organization の「Allow use of Copilot CLI billed to the organization」ポリシーが有効であること
GitHub App(Actions 以外)
- Organization 権限
Copilot Requestsを Read-only にした GitHub App を作成 - 利用量を帰属させたい organization にインストール
- App 用 JWT で REST
POST /app/installations/{installation_id}/access_tokensを呼び、ボディにpermissions.organization_copilot_requests: readを指定して installation access token(接頭辞ghs_)を取得。有効期限は 1 時間 - インストール ID は
GET /orgs/{org}/installationなど GitHub Apps 向け REST で取得
Organization が GitHub App installation からの Copilot リクエストを受け付ける設定であること。個人アカウントや enterprise インストールではこの認証経路は使えない。
Copilot SDK
- 取得した installation access token を
gitHubToken(言語によりgithub_token等)へ渡す useLoggedInUser: falseで環境変数や保存済みユーザー資格へのフォールバックを切る- 子プロセス runtime では token を SDK の明示オプションのみで渡す。URI 接続の既存 runtime では runtime プロセス側に
COPILOT_GITHUB_TOKENを設定する運用もある - 失効前に新しい installation access token を発行し、クライアントまたは runtime を再起動して差し替え
Organization 側の可視性
Organization owner は Copilot 利用権を持つ App を確認できる。AI usage CSV では app_client_id で App 帰属の利用を識別できる。特定 App の Copilot 利用を止めるには、当該 organization インストールを suspend または uninstall する。