本文提供 GitHub 管理員必須完成的設定步驟,以便你的組織部署 GitHub Server Pull Requests 連接器。 設定後,連接器會索引 GitHub Enterprise Server 的拉取請求資料,讓使用者能在 Microsoft Search、Microsoft 365 Copilot 和 Copilot Search 中搜尋、摘要及檢索 PR 資訊。
本文適用於 GitHub Server Pull Requests 連接器。 關於如何部署連接器的資訊,請參見 部署 GitHub Server Pull Requests 連接器。
設定檢查清單
以下檢查清單列出配置 GitHub Server 環境及設定連接器前置條件的步驟。
| 工作 | 角色 |
|---|---|
| 識別組織名稱 | GitHub 管理員 |
| 確保目標 GitHub 實例有 API 存取權 | GitHub 管理員 |
| 識別 Microsoft Entra ID 身份映射規則 | GitHub 管理員 |
| 登入 GitHub 帳號 | GitHub 管理員 |
| 設定一個自訂的 GitHub 應用程式來進行認證 | GitHub 管理員 |
| 調整 GitHub Server API 速率限制 | GitHub 管理員 |
| 設定防火牆設定 | 網路管理員 |
識別組織名稱
確定連接器將使用哪個 GitHub Enterprise Server 組織來擷取 PR。 連接器僅索引所選組織中安裝的 GitHub App 可存取的內容。
確保目標 GitHub 實例有 API 存取權
確認你的 GitHub Enterprise Server 實例是否可透過 API 存取。 連接器需要 API 存取才能取得拉取請求的元資料。 請確定:
- GitHub 實例是透過 HTTPS 存取的。
- 防火牆或網路限制允許進出 API 請求。
- Graph Connector 代理主機裝置可存取 GitHub Enterprise Server 網域。
識別 Microsoft Entra ID 映射規則
請定義 Microsoft Entra ID 映射規則。 身份映射確保使用者在 Copilot 存取 PR 資料及搜尋體驗時,權限的正確執行。
支援的映射策略包括:
- Email:將 GitHub 的電子郵件地址與 Microsoft Entra ID 屬性匹配。
- 登入:將 GitHub 用戶名映射到 Microsoft Entra ID 屬性。
- 姓名: 使用 GitHub 個人檔案名稱來做地圖映射。
如果恆等式不直接匹配,可以用正則表達式 (正則表達式) 來正規化資料。 例如:[a-zA-Z0-9]+
使用者必須分享所需的 GitHub 身份屬性,尤其是在「自帶使用者 (BYOU) 」環境中。
登入 GitHub 帳號
如果您的組織使用單一登入 (SSO) ,請在設定連接器前先登入 GitHub。 目前,GitHub Server 的 Pull Requests 連接器不支援在連接器設定時依賴 SSO 的認證流程。
使用自訂的 GitHub 應用程式來進行認證
想要最順暢的設定體驗,建議使用 Microsoft 管理的 GitHub 應用程式。
你也可以選擇使用自己的 GitHub 應用程式來進行驗證。 如果你選擇這個選項,請依照以下清單中的步驟完成設定。
| 工作 | 角色 |
|---|---|
| 建立並設定 GitHub 應用程式 | GitHub 管理員 |
| 為 GitHub 應用程式建立憑證 | GitHub 管理員 |
| 安裝 GitHub 應用程式 | GitHub 管理員 |
建立並設定 GitHub 應用程式
確認你有正確權限來設定 GitHub 服務。 欲了解更多資訊,請參閱 組織中的角色。
要建立一個用於 GitHub Server Pull Requests 連接器的 GitHub 應用程式:
在 GitHub 中,選擇右上角的個人頭像,選擇 「組織」,然後選擇連接器應該從哪個組織拉取資料。
在組織概覽頁面,選擇 設定。
在左側側邊欄,往下滑到 開發者設定 ,選擇 GitHub 應用程式。
選擇 新的 GitHub 應用程式。
設定應用程式:
- GitHub 應用程式名稱:輸入你想要的名稱。
- 首頁網址:從瀏覽器的網址列複製網址。
-
回撥網址:
- 針對 Microsoft 365 for enterprise:
https://gcs.office.com/v1.0/admin/oauth/callback - 針對 Microsoft 365 政府:
https://gcsgcc.office.com/v1.0/admin/oauth/callback
- 針對 Microsoft 365 for enterprise:
取消勾選 Webhook 選項。
請設定以下權限:
儲存庫權限
- 目錄 - 唯讀
- 元資料 - 唯讀
- 管理 - 唯讀
組織權限
- 成員 - 唯讀
- 管理 - 唯讀
帳號權限
- Email 地址 - 唯讀
在「 安裝此 GitHub 應用程式在哪裡」中,選擇 「任何帳號」,然後選擇 「建立 GitHub 應用程式」。
為 GitHub 應用程式建立憑證
安裝 GitHub 應用程式
調整 GitHub Server API 速率限制
當你匯入大量 GitHub 資料——例如拉取請求、問題或知識檔案——GitHub Server 環境中的 API 速率限制設定會直接影響擷取過程完成的速度。 GitHub Server 預設的 API 限制為每用戶或每位憑證每小時 15,000 筆經認證的請求。 此限制支援較小的資料集,但當處理數十萬甚至數百萬筆資料時,可能會拖慢擷取速度。
如果你的組織需要提升吞吐量,可以提高 API 速率上限。 較高的限制讓連接器能更快擷取項目,但同時也會增加 GitHub Server 基礎架構的負載。 在更新速率限制設定前,請確認你的環境是否有足夠的 CPU 容量、儲存 I/O 和網路頻寬來支援增加的請求量。 更新限制後,監控系統效能以確保在更高吞吐量下穩定擷取。
費率限制設定建議
請參考下表的指引,根據你 GitHub 環境中大約有多少 pull request 來選擇合適的速率限制設定。
| 項目數量大致 | 建議的速率限制設定 | 完成吞食的近似時間 |
|---|---|---|
| 多達10萬 | 使用預設速率限制設定 (正常的擷取速度) | NA |
| 100,000 到 1,000,000 | 將速率上限提高至每小時30,000筆請求 | 2天到1週 |
| 1,000,000 或更多 | 根據伺服器容量,每小時使用 30,000 個請求或更高 () | 1至2週 (依環境負荷而異) |
更新 API 速率限制設定
要提高 API 請求上限:
- 用管理員帳號登入你的 GitHub Server 實例。
- 在右上角選擇 網站管理員 以進入管理模式。 欲了解更多資訊,請參閱 「設定速率限制」。
- 在左側窗格,依照你的版本) 選擇管理控制台 (或管理員控制台。
- 打開速率 限制 標籤。
- 請確認已選擇 啟用 HTTP API 速率限制。
- 在每 小時 (請求) – 已認證中,輸入速率限制值 (例如 30000) 。
- 選擇 儲存設定。
注意事項
當你儲存變更時,某些 GitHub Server 服務可能會重新啟動,導致短暫的服務中斷。 儲存後,給設定時間在實例中傳遞。
設定防火牆設定
為了增加安全性,你可以為 Azure SQL Server 或資料庫設定 IP 防火牆規則。 欲了解更多資訊,請參閱 IP 防火牆規則。
在防火牆設定中加入以下客戶端 IP 範圍。
| 區域 | Microsoft 365 企業版 | Microsoft 365 政府 |
|---|---|---|
| NAM | 52.250.92.252/30, 52.224.250.216/30 | 52.245.230.216/30, 20.141.117.64/30 |
| EUR | 20.54.41.208/30, 51.105.159.88/30 | NA |
| APC | 52.139.188.212/30, 20.43.146.44/30 | NA |
IP 限制可能導致連接器停止運作,進而導致爬行失敗。 為了解決這個問題,可以把連接器的 IP 位址加入允許清單。