> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab

> 在 GitLab 仓库中直接与 Devin 协作

<div id="why-integrate-devin-with-gitlab">
  ## 为什么要将 Devin 与 GitLab 集成？
</div>

将 Devin 与你的 GitLab 仓库集成后，Devin 就可以创建合并请求 (MR) 、读取并回复你在 MR 中的评论，并与你的团队高效协作。这样一来，Devin 就能成为你工程团队中的真正协作伙伴。

<Note>
  **使用自托管的 GitLab 实例？** 我们为使用 Enterprise 套餐的用户提供对 GitLab Self-Managed 的支持。只需点击 “Connect” 按钮上的下拉菜单，然后选择 “Self-Hosted”。如需完整的设置指示，请参阅 [GitLab Self-Managed Integration guide](/zh/enterprise/integrations/gitlab-self-managed)。
</Note>

<div id="setting-up-the-integration">
  ## 设置集成
</div>

**集成设置非常简单！** 按照以下步骤开始：

1. 为 Devin 专门创建一个新的账户 (就像你创建个人账号一样) 。在集成过程中，你将使用这个账号，而不是你的个人账号。

2. 在你的 Devin 账号中，前往 [Settings > **连接** > **GitLab**](https://app.devin.ai/settings/connections)，然后点击“Connect”。

3. 系统会将你重定向到 GitLab，在那里你需要：
   * 使用你为 Devin 创建的账户登录 (而不是你的个人账号)
   * 授予 Devin 访问和操作你代码仓库所需的权限

4. 完成后，你会回到 Devin 的设置页面，在那里你可以确认集成已成功启用。

<Warning>
  对于本地部署 (自托管) 的 GitLab 实例，将合并请求 (Merge Request，MR) 状态 (open、merged、closed) 同步到 Devin 会话的操作**每天仅执行一次**。因此，在下一次同步发生之前，你的会话或会话列表中显示的 MR 状态可能会在一段时间内与实际状态存在偏差。
</Warning>

***

<div id="webhook-configuration">
  ## Webhook 配置
</div>

配置 webhook 后，Devin 就能在 GitLab 中发生特定事件时自动接收实时通知 (例如创建或更新合并请求，以及在合并请求中发表评论) 。

要配置 webhook：

1. 在你的 Devin 账户中，前往 **设置** > **连接**
2. 找到你要配置的 GitLab 实例
3. 点击 **管理** 下拉菜单
4. 选择 **配置 Webhook**
5. 按照提供的命令完成设置

<Frame>
  <img src="https://mintcdn.com/cognitionai/pyEbN3xdufu0Z31G/images/enterprise/gitlab/gitlab-configure-webhook.png?fit=max&auto=format&n=pyEbN3xdufu0Z31G&q=85&s=d2e01d6fd89ca40302f9ea9ebf61848b" alt="配置 Webhook" width="452" height="388" data-path="images/enterprise/gitlab/gitlab-configure-webhook.png" />
</Frame>

配置完成后，Devin 就可以实时响应 GitLab 事件，而不再依赖定期轮询。

***

<div id="repository-permissions">
  ## 代码仓库权限
</div>

<div id="for-core-and-teams-users">
  ### 面向 Core 和 Teams 用户
</div>

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

<div id="for-enterprise-users">
  ### 企业版用户
</div>

集成配置完成后，你可以在 **企业设置** > **代码仓库权限** 中将代码仓库交给特定组织。

1. 前往 **企业代码仓库**
2. 选择相应的组织
3. 打开 **管理权限**
4. 添加相关代码仓库，并授予适当的 **读/写** 权限

<Note>
  如果连接后代码仓库未立即显示，Devin 会定期刷新代码仓库列表。你也可以在 Devin 中手动刷新代码仓库列表。
</Note>

***

<div id="user-linking">
  ## 用户关联
</div>

对于使用自托管 GitLab 实例的 Enterprise 用户，每位用户都可以将自己的 GitLab 个人账户关联到 Devin。这样，Devin 就可以代表相应用户执行 GitLab 操作。

要关联个人 GitLab 账户：

1. 确保你是具有 GitLab 代码仓库权限的 Devin 组织成员
2. 前往 Devin 设置中的 **Personal 连接**
3. 找到 GitLab 集成
4. 选择 GitLab 连接并完成关联流程

<Note>
  **Personal 连接 仅显示用户所属组织的集成。** 如果没有看到 GitLab 集成，请确认你是具有 GitLab 代码仓库权限的 Devin 组织成员。
</Note>

***

<div id="using-devin-with-the-gitlab-integration">
  ## 在 GitLab 集成中使用 Devin
</div>

连接 GitLab 后，在 [Devin's Machine](https://app.devin.ai/machine) 上配置你的代码仓库。

<Note>
  虽然在你直接提出请求时，Devin 可以查看并处理你在其合并请求和拉取请求中留下的评论，但 Devin 不会自动唤醒来回复这些评论。
</Note>

<div id="best-practices">
  ## 最佳实践
</div>

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

<div id="support">
  ## 支持
</div>

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