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

將 GitLab 連接至 ChatGPT 和 Codex

在 ChatGPT 和 Codex 中存取您的 GitLab 專案,以分析和引用程式碼、合併請求、議題及 CI/CD,並對其執行操作。

更新日期:14 days ago

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

  1. 開啟 ChatGPT。

  2. 開啟外掛程式目錄

  3. 搜尋 GitLab

  4. 選擇安裝外掛程式

  5. 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 連接

  1. 開啟 ChatGPT。

  2. 前往設定 > 外掛程式

  3. 開啟 GitLab

  4. 選擇解除安裝

資料及私隱

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 程式碼審查,請允許向 Codex 傳送 HTTPS Webhook 輸出請求。如果 Webhook 傳送失敗,請檢查 GitLab 的輸出請求篩選設定

如需加入允許清單的位址,請參閱:OpenAI IP 輸出範圍

這篇文章對你有幫助嗎?