ChatGPT 和 Codex 中的 GitLab 功能目前為測試版。
概覽
GitLab 外掛程式可讓 ChatGPT 和 Codex 擷取最新的 GitLab 資料,並在獲得許可的情況下,對已連結使用者有權存取的專案執行操作。它支援專案、群組、程式碼庫檔案、分支、提交、合併請求、議題、管線、作業及相關討論。
GitLab 外掛程式包含適用於 GitLab.com 的 GitLab 應用程式,以及 GitLab Self-Managed 應用程式範本。外掛程式是使用者安裝的套件,而應用程式則提供連線,用於存取 GitLab 資料及執行操作。
若使用 GitLab Self-Managed 或 GitLab Dedicated,工作區管理員必須先透過範本建立並發布工作區專屬的應用程式,成員才能連線。進一步了解應用程式範本,並參閱 GitLab 應用程式範本的設定方式。
先前支援個人同步功能的 GitLab 議題應用程式已不再提供。請依照本文的設定步驟連結目前的 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。
選取解除安裝。
在程式碼審查中審查合併請求
桌面版和網頁版的程式碼審查外掛程式已提供 GitLab 合併請求審查功能的預覽版。開啟合併請求以檢視變更和審查意見,再請 Codex 解釋程式碼或協助解決問題。
GitLab 連線可讓你存取 GitLab 資料。程式碼審查外掛程式則提供審查功能。兩者仍受工作區設定和 GitLab 權限的限制。
目前不提供 GitLab 雲端程式碼審查。連結 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 雲端程式碼審查。
