Skip to main content

为什么要将 Devin 与 GitLab 集成?

将 Devin 与你的 GitLab 代码仓库集成后,Devin 就可以创建合并请求 (MR) 、读取并回复你在 MR 中的评论,并与你的团队高效协作。这样一来,Devin 就能成为你工程团队中的真正协作伙伴。
使用自托管的 GitLab 实例? 我们为使用 Enterprise 套餐的用户提供对 GitLab Self-Managed (15.0 及更高版本) 的支持。只需点击 “Connect” 按钮上的下拉菜单,然后选择 “Self-Hosted”。如需完整的设置指示,请参阅 GitLab Self-Managed Integration guide

设置集成

集成设置非常简单! 按照以下步骤开始:
  1. 为 Devin 专门创建一个新的账户 (就像你创建个人账号一样) 。在集成过程中,你将使用这个账号,而不是你的个人账号。
  2. 在你的 Devin 账号中,前往 Settings > 连接 > GitLab,然后点击“Connect”。
  3. 系统会将你重定向到 GitLab,在那里你需要:
    • 使用你为 Devin 创建的账户登录 (而不是你的个人账号)
    • 授予 Devin 访问和操作你代码仓库所需的权限
  4. 完成后,你会回到 Devin 的设置页面,在那里你可以确认集成已成功启用。
对于本地部署 (自托管) 的 GitLab 实例,将合并请求 (Merge Request,MR) 状态 (open、merged、closed) 同步到 Devin 会话的操作每天仅执行一次。因此,在下一次同步发生之前,你的会话或会话列表中显示的 MR 状态可能会在一段时间内与实际状态存在偏差。

Webhook 配置

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

代码仓库权限

面向 Core 和 Teams 用户

集成配置完成后,你可以在 Devin Web 应用中的提示中直接 @ 提及代码仓库。

企业版用户

集成配置完成后,你可以在 企业设置 > 代码仓库权限 中将代码仓库交给特定组织。
  1. 前往 企业代码仓库
  2. 选择相应的组织
  3. 打开 管理权限
  4. 添加相关代码仓库,并授予适当的 读/写 权限
如果连接后代码仓库未立即显示,Devin 会定期刷新代码仓库列表。你也可以在 Devin 中手动刷新代码仓库列表。

用户关联

对于使用自托管 GitLab 实例的 Enterprise 用户,每位用户都可以将自己的 GitLab 个人账户关联到 Devin。这样,Devin 就可以代表相应用户执行 GitLab 操作。 要关联个人 GitLab 账户:
  1. 确保你是具有 GitLab 代码仓库权限的 Devin 组织成员
  2. 前往 Devin 设置中的 Personal 连接
  3. 找到 GitLab 集成
  4. 选择 GitLab 连接并完成关联流程
Personal 连接 仅显示用户所属组织的集成。 如果没有看到 GitLab 集成,请确认你是具有 GitLab 代码仓库权限的 Devin 组织成员。

将 Devin 与 GitLab 集成配合使用

连接 GitLab 后,请在 Devin’s Machine 上设置你的代码仓库。
Devin 如何响应 MR 评论。 配置好 webhook 后,在 Devin 会话 正在跟踪的 合并请求 上发表的评论会实时传递给该 会话。默认情况下,这会唤醒处于休眠状态的 会话,Devin 随即回复该评论。如需加以限制,组织管理员可在 Settings > Devin > Pull requests 中开启 Require @Devin to respond。启用该设置后,Devin 仅会被以 @Devin 开头的评论唤醒并作出回复 (也接受 devinai 前缀) 。无论该设置如何,包含 (aside)!aside 以及以 aside 开头的评论都会被忽略,因此你可以在不唤醒 Devin 的情况下讨论该 MR。若未配置 webhook,MR 评论不会实时传递给 会话;但只要你在 会话 中直接指出,Devin 仍然可以处理这些评论。

最佳实践

  • 为 Devin 创建独立的 GitLab 账户
  • 为 main/master 分支启用分支保护
  • 配置 webhook,以便接收实时事件通知

支持

  1. app.devin.ai/settings/support 创建一个与我们团队的 Slack Connect 频道
  2. 在提交问题时共享会话链接并提供截图