OpenAI
页面内容为机器翻译。查看英文原文。

将 GitLab 连接到 ChatGPT 和 Codex

在 ChatGPT 和 Codex 中访问您的 GitLab 项目,以分析和引用代码、合并请求、议题及 CI/CD 内容,并对其执行操作。

更新于:17 hours ago

ChatGPT 和 Codex 中的 GitLab 功能目前处于 Beta 阶段。

概述

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

  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. 选择卸载。

在代码审查插件中审查合并请求

桌面端和网页版的代码审查插件现已提供 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 能否读取特定文件或合并请求的差异?

可以。请提供项目及文件名或路径、分支或引用、合并请求的 URL 或内部 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 云端代码审查。

这篇文章对你有帮助吗?