ChatGPT 和 Codex 中的 GitLab 功能目前為測試版。
概覽
GitLab 外掛程式可讓 ChatGPT 和 Codex 擷取最新的 GitLab 資料,並在取得許可時,於已連線使用者可存取的專案中執行操作。它支援專案、群組、程式碼庫檔案、分支、提交、合併請求、議題、管線、作業及相關討論。
GitLab 外掛程式包含適用於 GitLab.com 的 GitLab 應用程式,以及一個 GitLab Self-Managed 應用程式範本。外掛程式是供使用者安裝的套件,而應用程式則是用來存取 GitLab 資料及操作的連線。
若使用 GitLab Self-Managed 或 GitLab Dedicated,工作區管理員必須先根據範本建立並發布工作區專用的應用程式,成員才能連線。進一步瞭解應用程式範本,以及如何設定 GitLab 應用程式範本。
先前支援個別同步的 GitLab Issues 應用程式已不再提供。請按照本文的設定步驟連線至目前的 GitLab 應用程式;它會透過與提示詞相關的 API 請求擷取資料。
可用性
可用性可能因方案和工作區設定而異。工作區管理員可在 ChatGPT 中設定 GitLab 外掛程式,並控管其可用性、可使用的人員、啟用的操作,以及何時需要核准。
GitLab 外掛程式的功能
讀取 GitLab 資料
ChatGPT 和 Codex 可以:
檢查專案和群組。
瀏覽程式碼庫樹狀結構並讀取檔案。
比較分支、提交和差異。
審查合併請求、核准、問題、備註和討論。
查看管線、作業、記錄和測試報告。
在 GitLab 中執行動作
視工作區設定和 GitLab 權限而定,ChatGPT 和 Codex 可以:
建立分支和提交。
建立、更新或刪除程式碼庫檔案。
建立或更新合併請求和問題。
新增備註或討論。
核准、重定基底或合併合併請求。
套用建議。
建立管線,或啟動和重試作業與管線。
可用動作取決於工作區的角色存取權、設定動作和設定核准設定,以及授予的 OAuth 範圍和連線使用者的 GitLab 權限。
在 ChatGPT 中設定 GitLab
連線至 GitLab.com
開啟 ChatGPT。
開啟外掛程式目錄。
搜尋 GitLab。
選取安裝外掛程式。
在 GitLab 中選取連線。
若系統提示,請在 GitLab 中授權 ChatGPT。GitLab 外掛程式會在您授予的 OAuth 範圍內,以您的 GitLab 使用者身分運作,因此 ChatGPT 和 Codex 只能存取您有權存取的 GitLab 專案和群組。
連線後,您可以在 ChatGPT 或 Codex 中使用 GitLab,檢查專案、檔案、合併請求、問題或管線,或要求執行獲准的動作。
如需安裝及管理外掛程式的協助,請參閱:ChatGPT 和 Codex 中的外掛程式。
連線至 GitLab Self-Managed 或 GitLab Dedicated
使用者連線前,工作區管理員必須先設定並發布 GitLab Self-Managed 應用程式範本。如需操作說明,請參閱:為 ChatGPT 和 Codex 設定 GitLab Self-Managed 應用程式範本。
中斷 GitLab 連線
開啟 ChatGPT。
前往設定 > 外掛程式。
開啟 GitLab。
選取解除安裝。
資料與隱私權
ChatGPT 和 Codex 如何與 GitLab 搭配運作
ChatGPT 和 Codex 會使用 GitLab 外掛程式,提出與您的提示詞相關的 API 請求。例如,它們可以列出程式碼庫樹狀結構、擷取特定檔案、讀取合併請求的差異或討論、檢查問題,或查看管線和作業記錄。如果已啟用的動作可能變更 GitLab,ChatGPT 或 Codex 只有在工作區設定、必要核准和連線使用者的 GitLab 權限皆允許時,才能執行該動作。
模型訓練與 GitLab 內容
根據預設,使用 ChatGPT Business、Enterprise、Edu 和 API 等商業方案的客戶所傳送的內容,不會用於改進我們的模型。如需進一步瞭解 OpenAI 如何使用商業資料,請參閱:企業隱私權。
使用個人訂閱方案時,如果已開啟為所有人改進模型,OpenAI 可能會使用您的內容訓練其模型。如需進一步瞭解您的資料如何儲存及使用,請參閱:資料控制常見問題。
無論是在 ChatGPT 或 Codex 中使用此應用程式,GitLab 內容都適用相同的工作區資料控制。
常見問題
GitLab 外掛程式可以讀取哪些內容?
它可以擷取已連線使用者有權存取的 GitLab 資料,包括專案和群組;程式碼庫樹狀結構、檔案、分支、提交和差異;合併請求、議題、備註和討論;以及 CI/CD 管線、作業、記錄和測試報告。實際可用內容取決於已啟用的操作和 GitLab 權限。
ChatGPT 和 Codex 可以在 GitLab 中執行操作嗎?
可以,但工作區管理員必須啟用相關操作,且任何必要的核准皆須通過。視設定和您的 GitLab 權限而定,ChatGPT 和 Codex 可以建立分支和提交;建立、更新或刪除程式碼庫檔案;建立或更新合併請求和議題;新增備註或討論;核准或合併合併請求;套用建議;以及建立管線,或啟動和重試作業與管線。
管理員如何限制外掛程式可執行的操作?
在 ChatGPT 中,工作區管理員可以使用角色存取權控管誰能使用應用程式、使用設定操作啟用或停用操作,並使用設定核准要求使用者確認指定操作。GitLab 本身的專案和群組權限仍然有效。
ChatGPT 或 Codex 可以讀取特定檔案或合併請求的差異嗎?
可以。請提供專案與檔案名稱或路徑、分支或參照、合併請求網址或內部 ID(IID),或您要尋找的程式碼行為。只要外掛程式操作已啟用且您擁有存取權,ChatGPT 或 Codex 就能擷取相關檔案、程式碼庫樹狀結構、提交、差異或合併請求詳細資料。
為什麼我看不到某個專案?
ChatGPT 和 Codex 只能存取已連線 GitLab 使用者可見的專案。請確認您連線的是預期的 GitLab 帳戶、您有權存取 GitLab 中的專案或群組,且已為 GitLab.com、GitLab Self-Managed 或 GitLab Dedicated 選擇正確的應用程式。
GitLab 外掛程式支援 GitLab Self-Managed 或 GitLab Dedicated 嗎?
標準 GitLab 應用程式會連線至 GitLab.com,並可在 ChatGPT 和 Codex 中使用。若使用 GitLab Self-Managed 或 GitLab Dedicated,工作區管理員必須先設定並發布 GitLab Self-Managed 應用程式範本,使用者才能連線。如需操作說明,請參閱:為 ChatGPT 和 Codex 設定 GitLab Self-Managed 應用程式範本。
如果我的 GitLab 執行個體會封鎖網路流量,該怎麼辦?
如果您的 GitLab Self-Managed 或 GitLab Dedicated 執行個體限制網路流量:
請要求網路管理員將 OpenAI 的 ChatGPT 整合出口範圍加入允許清單,讓 GitLab 外掛程式能連線至您的 GitLab HTTPS 主機和 API。
如果您使用 Codex 專案環境,還須將 Codex 雲端出口範圍加入允許清單。
若要使用 Codex 程式碼審查,請允許將 HTTPS Webhook 請求傳送至 Codex。如果 Webhook 傳遞失敗,請檢查 GitLab 的對外請求篩選設定。
如需可加入允許清單的位址,請參閱:OpenAI IP 出口範圍。
