OpenAI
此頁面由機器翻譯。查看原始英文文章。

在 ChatGPT 中設定 GitHub Enterprise 應用程式範本

了解工作區管理員如何在 ChatGPT 中使用組織自己的 GitHub App 設定 GitHub Enterprise 應用程式範本。

更新日期:7 days ago

概觀

如果你是 ChatGPT 工作區管理員,且要為組織設定 GitHub Enterprise 應用程式範本,請使用本指南。範本並不是成員最終使用的應用程式。範本是一套設定流程,在你提供必要的 GitHub Enterprise 設定後,便會建立工作區專屬的應用程式草稿。

GitHub Enterprise 的設定流程會將 ChatGPT 連接到你組織的 GitHub Enterprise 主機。你需要建立 GitHub App、註冊 ChatGPT 回呼 URL、產生憑證,再將這些值貼到 ChatGPT 範本設定流程中。ChatGPT 建立應用程式草稿後,你就可以發布,並像其他工作區應用程式一樣進行管理。

如需工作區導覽與應用程式存取權的相關資訊,請參閱:外掛程式與應用程式的管理員控制、安全性及合規性。

你要設定的內容

你將在 ChatGPT 中建立工作區專屬的 GitHub Enterprise 應用程式。此應用程式會使用:

  • 在你的 GitHub Enterprise 主機上註冊的 GitHub App。

  • GitHub App 用戶端 ID 與用戶端密鑰,用於使用者 OAuth 授權。

  • GitHub App 私密金鑰,讓 ChatGPT 能產生用於程式碼庫操作的安裝權杖。

  • webhook 密鑰與 webhook URL,讓 GitHub Enterprise 能將安裝及程式碼庫事件傳回 ChatGPT。

  • 你的 GitHub Enterprise 主機名稱,例如 github.example.com。

請建立 GitHub App,而不是獨立的 GitHub OAuth App。ChatGPT 範本設定需要 GitHub App 憑證、私密金鑰與 webhook 設定。

開始之前

你需要:

  • ChatGPT 工作區管理員或擁有者權限。

  • 可建立及安裝 GitHub App 的 GitHub Enterprise 管理員或組織擁有者權限。

  • 僅含主機名稱的 GitHub Enterprise 位址,不包含 https:// 或路徑。

  • 決定 ChatGPT 應支援哪些程式碼庫動作,例如唯讀程式碼庫搜尋、pull request 工作流程、議題工作流程、檔案編輯、GitHub Actions,或更廣泛的 Codex 工作流程。

  • 用於處理 GitHub App 私密金鑰與用戶端密鑰的安全環境。

請在不同分頁中分別開啟 ChatGPT 與 GitHub Enterprise,並保持開啟。請勿自行編造回呼 URL。請原樣複製 ChatGPT 中顯示的回呼 URL。

需要準備的值

  • GitHub Enterprise 主機名稱:例如 github.example.com。

  • 回呼 URL:從 ChatGPT 範本設定流程中複製。

  • GitHub App 用戶端 ID。

  • GitHub App 用戶端密鑰。

  • GitHub App 私密金鑰 PEM。

  • ChatGPT 產生的 webhook 密鑰。

  • 在 ChatGPT 中建立應用程式草稿後產生的 webhook URL。

在 ChatGPT 中開始設定範本

  1. 在 ChatGPT 中,切換到要提供此應用程式的工作區。

  2. 開啟工作區設定 > 應用程式。你也可以前往管理員主控台,選取目標 ChatGPT 工作區,然後開啟外掛程式。選取管理舊版應用程式,開啟保留的應用程式頁面。

  3. 選取目錄。

  4. 搜尋 GitHub Enterprise。

  5. 選取 GitHub Enterprise 應用程式範本,開始設定。

  6. 輸入清楚易懂的應用程式名稱與說明,例如 GitHub Enterprise 或 GitHub Enterprise - 工程部門。

  7. 輸入 GitHub Enterprise 主機名稱,例如 github.example.com。

  8. 複製 ChatGPT 中顯示的回呼 URL。保持此分頁開啟。

  9. 如果設定過程中顯示了產生的 webhook 密鑰,請將其複製。

回呼 URL 範例:https://chatgpt.com/connector/oauth/<callback_id>

請勿移除回呼 ID、在結尾加上斜線,或改用一般的 ChatGPT URL。

在 GitHub Enterprise 中建立 GitHub 應用程式

  1. 開啟你的 GitHub Enterprise 主機網址,例如 https://github.example.com。

  2. 前往應擁有此應用程式的組織或帳戶。

  3. 開啟「設定」>「開發人員設定」>「GitHub 應用程式」。

  4. 選取新增 GitHub 應用程式。

  5. 輸入清楚易懂的應用程式名稱,例如 ChatGPT GitHub Enterprise。

  6. 輸入首頁網址。如果沒有專用的內部頁面,請使用 GitHub Enterprise 組織網址。

  7. 在「回呼網址」中,原樣貼上從 ChatGPT 複製的回呼網址。

  8. 請保持啟用「讓使用者授權權杖到期」,除非你的資安團隊有明確理由需要變更此設定。

  9. 啟用「安裝時要求使用者授權」,讓使用者能在安裝或連線流程中授權應用程式。

  10. 在「可在哪裡安裝此 GitHub 應用程式?」設定中,選擇符合部署需求且範圍最小的選項。

  11. 建立 GitHub 應用程式。

設定權限與事件

選擇你打算啟用的 ChatGPT 動作所需的最低權限。

若僅需以唯讀方式探索程式碼庫與進行問答,可先設定下列讀取權限:

  • 中繼資料:唯讀。GitHub 要求 GitHub App 具備中繼資料權限。

  • 內容:唯讀,用於存取檔案與程式碼庫內容。

  • 議題:若需搜尋或讀取議題,請設為唯讀。

  • Pull requests:若需搜尋 pull request 或取得審查所需的背景資訊,請設為唯讀。

  • 動作:若需取得工作流程執行狀態、作業、記錄或產出物,請設為唯讀。

對於涉及寫入的工作流程,僅在必要項目新增寫入權限,例如內容、Pull requests、議題、動作或工作流程。請使用足以支援預期 ChatGPT 動作的最小權限範圍。

webhook 事件應與你支援的工作流程相符。常見事件包括安裝、安裝的程式碼庫、推送、Pull request、議題、議題留言、工作流程執行與工作流程作業。

產生並複製 GitHub App 憑證

  1. 在 GitHub App 設定中,複製用戶端 ID。

  2. 產生用戶端密鑰,並立即複製。

  3. 在私密金鑰下方,產生私密金鑰。

  4. 下載 .pem 檔案,並妥善存放於安全位置。

  5. 在本機開啟 .pem 檔案,複製完整的 PEM 文字,包括起始行與結束行。

私密金鑰屬於機敏資訊。請將其視為憑證,妥善保管。若私密金鑰外洩,請產生新的私密金鑰、更新 ChatGPT 應用程式設定,並在 GitHub Enterprise 中刪除外洩的金鑰。

在 ChatGPT 中完成設定

  1. 返回 ChatGPT 範本設定分頁。

  2. 將 GitHub App 用戶端 ID 貼到 OAuth 用戶端 ID 欄位。

  3. 將 GitHub App 用戶端密鑰貼到 OAuth 用戶端密鑰欄位。

  4. 保持範圍設定不變,除非你的組織確實需要覆寫範本的預設值。

  5. 確認 GitHub Enterprise 主機名稱欄位僅包含主機名稱,例如 github.example.com。

  6. 將 GitHub App 私密金鑰 PEM 貼上或上傳至「GitHub App 私密金鑰」欄位。

  7. 確認已填入產生的 webhook 密鑰。

  8. 建立應用程式草稿。

  9. 在 ChatGPT 中開啟已建立的應用程式草稿詳細資料,並複製產生的 webhook URL。

webhook URL 應類似:https://connectors.api.openai.org/connectors/<connector_id>/webhook

在 GitHub Enterprise 中完成 webhook 設定

  1. 返回 GitHub Enterprise 中的 GitHub App 設定。

  2. 開啟 GitHub App 的一般設定。

  3. 若尚未啟用 webhook,請啟用 webhook 的「啟用」選項。

  4. 將 ChatGPT webhook URL 貼到「webhook URL」欄位。

  5. 將 ChatGPT webhook 密鑰貼到「webhook 密鑰」欄位。

  6. 保持 SSL 驗證啟用。

  7. 確認訂閱的 webhook 事件與你啟用的權限及動作相符。

  8. 儲存變更。

在 ChatGPT 中發布及管理應用程式

建立應用程式草稿後,成員並不會自動取得使用權限。檢閱草稿後:

  1. 發布應用程式草稿。

  2. 在工作區設定中,開啟應用程式頁面,再開啟已啟用,確認清單中有該應用程式。你也可以前往「管理員主控台」>「外掛程式」,透過「管理舊版應用程式」開啟應用程式頁面。

  3. 在 Enterprise 和 Edu 中,使用使用者存取權選擇哪些角色可以使用該應用程式。在 Business 中,可管理整個工作區的應用程式可用性。

  4. 檢閱讀取和寫入動作的動作控制設定。

  5. 檢閱應用程式權限,選擇 ChatGPT 在哪些情況下須先詢問成員,才能使用該應用程式。

  6. 請一位具有使用權限的測試使用者開啟 ChatGPT 中的應用程式,確認清單中有該應用程式。

這些應用程式權限適用於 ChatGPT 對話。工作區智慧體會依據建立者為各個智慧體設定的控制項,決定可使用哪些應用程式動作,以及何時需要請終端使用者核准這些動作。如需瞭解智慧體的行為,請參閱:適用於 Enterprise 和 Business 的 ChatGPT 工作區智慧體。

安裝與測試 GitHub App

  1. 在 GitHub Enterprise 中,將 GitHub App 安裝至組織或帳號。

  2. 依據工作區政策,選擇所有程式碼庫或特定程式碼庫。

  3. 以具有使用權的使用者身分,從 ChatGPT 啟動連接流程。

  4. 出現提示時,授權 GitHub App。

  5. 先執行簡單的讀取動作,例如列出可存取的程式碼庫,或擷取已知的 pull request。

  6. 若已啟用寫入動作,請先在低風險的程式碼庫中測試,再擴大部署。

主機名稱與 OAuth 運作方式

ChatGPT 會根據主機名稱推導 GitHub Enterprise 端點。請僅輸入主機名稱,例如 github.example.com 或 octocorp.ghe.com。

請勿輸入 API 路徑或程式碼庫路徑;也請勿輸入 github.com,除非它確實是此應用程式使用的 GitHub Enterprise 主機。

疑難排解

  • 重新導向 URI 不符:確認 GitHub App 回呼 URL 與 ChatGPT 中顯示的回呼 URL 完全一致。

  • ChatGPT 無法建立或儲存應用程式草稿:確認已填寫所有必填欄位,包括主機名稱、OAuth 用戶端 ID、OAuth 用戶端密鑰、私密金鑰與 webhook 密鑰。

  • 驗證成功,但程式碼庫呼叫失敗:確認 GitHub App 已安裝,且具有該程式碼庫的存取權。

  • API 傳回 403 或權限不足:新增缺少的 GitHub App 權限,並在出現提示時,請安裝擁有者核准更新後的權限。

  • 未顯示任何程式碼庫:確認應用程式的安裝範圍包含預期的程式碼庫,且在 ChatGPT 中進行授權的使用者具有這些程式碼庫的存取權。

  • webhook 傳送失敗:確認 webhook URL 與 webhook 密鑰和 ChatGPT 提供的值一致,保持 SSL 驗證啟用,並確保 GitHub Enterprise 主機能連線至 connectors.api.openai.org。

  • 私密金鑰錯誤:確認已複製完整的 PEM 內容,包括起始行與結束行。

這篇文章有幫助嗎?