跳转到主要内容

概述

本指南将完整介绍如何将 GitLab 实例 集成到 Devin 中,包括 Admin 设置用户设置 该集成分为两个部分:
  1. Admin 设置
    • 将组织的自托管 GitLab 实例连接到 Devin
    • 设置服务账户
    • 配置代码仓库访问权限
    • 注册 OAuth,以便用户关联自己的 GitLab 账户
  2. 用户设置
    • 将单个用户的 GitLab 账户关联到其 Devin 账户
必须先完成Admin 设置,用户才能关联其 GitLab 账户。只有 Enterprise Admin 可以执行Admin 设置步骤。

第 1 部分:Admin 设置

步骤 1:在 GitLab 中创建服务账户

在 GitLab 中:
  1. 进入正确的 GitLab 组
  2. 导航到 Settings
  3. 打开 Service Accounts
  4. 创建一个新的服务账户
Devin 将使用此服务账户访问 GitLab 中的代码仓库。
在 GitLab 中创建服务账户

步骤 2:将服务账户添加为组成员

仍在 GitLab 中:
  1. 前往该组的成员页面
GitLab 组成员页面
  1. 将服务账户添加为该组的成员
  2. 为其授予 Developer 角色
这是必要的,这样服务账户才能正确访问代码仓库。

步骤 3:为服务账户生成个人访问令牌

创建服务账户后:
  1. 找到新创建的服务账户
  2. 点击三个点 > 管理访问令牌 > 生成新的个人访问令牌 > 在访问作用域中选择 api
  3. 复制该令牌并妥善保管
请确保你选择的是服务账户的令牌,而不是在你的用户偏好设置中找到的个人访问令牌。你需要让 Devin 以服务账户的身份执行操作,而不是以你的身份执行。在 Devin 中添加 GitLab 连接时,你将使用此令牌。

步骤 4:在 Devin 中添加 GitLab 连接

在 Devin 中:
  1. 前往 企业设置
  2. 打开 连接
  3. 添加新连接
  4. 输入:
    • 自托管 GitLab URL (如适用)
添加 GitLab 连接 URL
  • 服务账户的个人访问令牌
这会创建企业级 GitLab 连接。

步骤 5:配置 Webhook

配置 Webhook 后,Devin 就能在 GitLab 中发生特定事件时 (例如创建或更新合并请求,以及在合并请求中发表评论) 自动接收实时通知。 要配置 Webhook:
  1. 企业设置 > 连接 中,找到你刚刚添加的 GitLab 实例
  2. 点击 管理 下拉菜单
  3. 选择 配置 Webhook
  4. 按照提供的命令完成设置
配置 Webhook
配置完成后,Devin 就可以实时响应 GitLab 事件,而不必依赖定期轮询。

步骤 6:验证代码仓库访问权限

添加连接后:
  1. 确认服务账户有权访问你要使用的代码仓库
  2. 在 Devin 中,如果代码仓库没有立即显示,请手动刷新代码仓库列表
  3. 前往 企业代码仓库
  4. 选择正确的组织
企业代码仓库
  1. 打开 管理权限
  2. 添加相关代码仓库,并授予适当的 读取/写入 权限
管理代码仓库权限
如果有代码仓库缺失,可能是因为 Devin 会定期刷新代码仓库列表,而不是实时刷新。

第 2 部分:为自托管 GitLab 启用用户关联

步骤 7:在自托管 GitLab 实例上注册 OAuth 应用程序

为了让每位用户都能将自己的 GitLab 身份与 Devin 关联,Admin 必须为该自托管 GitLab 实例注册一个 OAuth 应用。 在 Devin 中:
  1. 前往企业 GitLab 连接区域
  2. 打开 Advanced
  3. 前往自托管 GitLab 部分
  4. 启动 注册 OAuth 应用程序 流程
注册 OAuth 应用程序

步骤 8:在 GitLab 中完成 OAuth 应用注册

按照注册模态窗口中的链接打开 GitLab 应用程序表单。按下图所示填写各项字段:
  1. NameRedirect URI 设置为与 Devin 模态窗口中显示的内容完全一致
  2. 勾选 Confidential 复选框
  3. 选择 api 作用域
  4. 点击 Save application
GitLab OAuth 应用程序设置
  1. 从 GitLab 复制 Application IDApplication Secret
  2. 返回 Devin,将这些值粘贴到注册模态窗口中
  3. 点击 Register
至此,完成用户身份关联所需的管理员端设置。

第 3 部分:组织成员资格要求

步骤 9:确保用户属于正确的 Devin 组织

用户必须先成为拥有 GitLab 代码仓库权限的 Devin 组织成员,才能关联其 GitLab 账户。 在 Devin 中:
  1. 前往组织成员页面
  2. 确认该用户属于拥有 GitLab 代码仓库权限的 Devin 组织
  3. 如果不属于,请先将其添加到该组织
个人连接只会显示用户所属组织的集成。 如果用户不在拥有 GitLab 代码仓库权限的 Devin 组织中,GitLab 集成可能完全不会显示。

第 4 部分:终端用户设置

步骤 10:打开个人连接

以 Devin 终端用户身份:
  1. 前往 个人连接
  2. 查找自托管 GitLab 集成
如果未显示,请先检查所在组织的成员身份。
集成显示出来后:
  1. 选择自托管的 GitLab 连接
  2. 完成关联流程
  3. 将用户的 GitLab 账户 关联到其 Devin 账户
完成后,Devin 应该就能以该用户的身份执行 GitLab 操作。