github / github/app

[Bug] Copilot-internal endpoints hardcoded to api.github.com fail (403/404) for GHE.com data-residency subscriptions

オープン
#2,717 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
言語のデータがありません
スター
2.1k
フォーク
153
PR マージ指標
30日以内にマージされた PR はありません

説明

### Short summary
Internal Copilot endpoints are hardcoded to api.github.com and fail (403/404) when the Copilot subscription lives on a GHE.com data-residency account

### Affected version or release
1.1.6 (commit a9706b2)

### Installation context
Windows 11 x64. Primary account: GHE.com data residency (`9altitudes.ghe.com`) holding the Copilot subscription. Secondary github.com account added, no Copilot license.

### What happened?
Several app features call Copilot-internal endpoints on `api.github.com` regardless of which host holds the Copilot subscription:

```
github_app::github::repos: copilot repo search returned error
url=https://api.github.com/copilot_internal/repository_search status=404 Not Found

github_app::github::client: github API request failed status=403
url=https://api.github.com/cmc_internal/api/agents/automations/triggers
error=GitHub API request failed (403 Forbidden): This API requires a valid Copilot license.
```

Because my Copilot license is on the GHE.com tenant (not on the github.com account), these calls fail on every app start: repository search 404s and cloud workflow/automations metadata 403s ("requires a valid Copilot license"). The features backing them silently degrade for data-residency customers.

### Steps to reproduce
1. Have your Copilot subscription on a GHE.com data-residency account; add it to the app (optionally also a github.com account without a Copilot seat).
2. Start the app and watch `~/.copilot/logs/github-app..log`.
3. Observe 404 on `api.github.com/copilot_internal/repository_search` and 403 on `api.github.com/cmc_internal/api/agents/automations/*`.

### Expected behavior
Copilot-internal endpoints should be resolved against the host/tenant that holds the Copilot subscription (or the data-residency equivalent), not hardcoded to api.github.com.

### Additional context
- Request ID example: `D49F:1D5EDB:4C4B17F:49B7142:6A76E1CA` (403, cmc_internal/api/agents/automations/tools)
- Companion issue about unauthenticated calls to the GHE.com API itself: #2716
- Related: #1131 (GHEC data residency OAuth scope)

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず ~/.copilot/logs/github-app..log でリクエストの失敗を再現し、/copilot_internal/repository_search と /cmc_internal/api/agents/automations/* への呼び出しを追跡します。issue にはソースファイルやテストの名前はありません。これらのエンドポイントが、報告されている 403/404 の失敗なしに、Copilot サブスクリプションを保持するホストまたはテナント(GHE.com のデータレジデンシーの場合を含む)を使用すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github
領域
api, backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。