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
打开 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 能否读取特定文件或合并请求的差异?
可以。请提供项目及文件名或路径、分支或引用、合并请求的 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 云端代码审查。
