跳转到主要内容

为什么要将 Devin 与 GitHub 集成?

将 Devin 与你的 GitHub 组织集成后,Devin 就可以创建 Pull Request(PR)、回复 PR 评论,并直接在你的代码仓库中协作。这样,Devin 就能作为你工程团队中的正式贡献者参与工作。 要开始使用,请前往 app.devin.ai > Settings > Integrations > GitHub,点击 Add Connection,并按照提示进行操作。你需要选择 Devin 可以访问的仓库,并审核所需的权限。
在使用 GitHub Enterprise Server? 请参阅 GitHub Enterprise Server Integration guide,了解使用 personal access tokens 进行配置的说明。

设置集成

要创建和管理 Devin 集成,您必须是 GitHub 组织的管理员。遇到问题?请查看我们的常见问题
  1. 在您的 Devin 账户中访问 app.devin.ai,导航到 Settings > Integrations > GitHub,然后点击 Add Connection
Devin
  1. 如果您尚未登录 GitHub,系统会提示您进行身份验证。
Devin
  1. 选择您希望连接到 Devin 的 GitHub 组织。
Devin
  1. 选择是否授予 Devin 对 All repositoriesSelect repositories 的访问权限,以控制 Devin 可访问的代码仓库范围。
Devin
  1. 完成 GitHub 授权后,系统会将您重定向回 Devin 的设置页面,您可以在该页面确认集成已激活。
Devin
我们建议在主分支上启用分支保护规则,以确保在 Devin 合并更改之前,所有必需的检查都已通过。

使用 Devin 的 GitHub 集成

针对 Core 和 Teams 用户

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

适用于 Enterprise 用户

完成集成配置后,你可以在 Enterprise Settings > Repository Permissions 中,将代码仓库分配给特定组织。
Devin
如果你是首次使用某个代码仓库,我们建议先完成在引导流程中设置开发环境,以确保 Devin 获取到关于你的代码库的准确且最新的信息。 只要会话尚未被归档,Devin 会自动回复 PR 评论。

在 GitHub 中管理 Devin 的权限

在设置过程中,你可以授予 Devin 访问你组织中所有仓库的权限,或将其访问范围限制为特定仓库 你可以随时通过 GitHub 的设置调整仓库访问权限:
  1. 前往你的 GitHub 组织的 Settings > GitHub Apps(例如:https://github.com/organizations/<org_name>/settings/installations
  2. 找到 Devin.ai 集成并选择 Configure
  3. Repository access 中,选择授予对所有仓库的访问权限,或仅选择特定仓库
  4. 点击 Save 以应用更改
Devin
Devin 需要以下权限: 对以下项目的**读取(Read)**访问权限:
PermissionDescription
dependabot alerts允许 Devin 代表你处理 Dependabot 警报(例如升级依赖版本)
actions允许 Devin 查看为仓库配置的 actions,以便了解 Devin 的更改是否通过 CI
checks允许 Devin 查看为仓库配置的 checks,以便了解 Devin 的更改是否通过 CI
commit statuses允许 Devin 查看某次提交是否通过 CI
deployments允许 Devin 查看仓库的哪些版本已被部署
metadata允许 Devin 查看关于仓库的重要元数据,例如仓库所有者
packages允许 Devin 查看仓库的哪些版本被发布为 package
pages允许 Devin 查看与仓库关联的 pages,例如用于查看文档
repository advisories允许 Devin 查看与仓库相关的安全公告,以便帮助修复安全问题
repository hooks允许 Devin 查看为仓库配置的 hooks,例如 lint 和类型检查
repository projects允许 Devin 查看与仓库关联的 projects,例如获取某个任务的信息
对以下项目的**读取(Read)写入(Write)**访问权限:
PermissionDescription
code允许 Devin 向代码库提交更改
discussions允许 Devin 参与 discussions
issues允许 Devin 创建新的 issues
pull requests允许 Devin 创建新的 PR
workflows允许 Devin 设置新的 workflows,例如帮助配置 CI/CD
这些权限使 Devin 能够像普通贡献者一样在你的仓库中工作——推送分支、打开拉取请求(PR),并参与 PR 讨论。

Pull Request 模板

当 Devin 创建 Pull Request 时,它会使用你仓库中的模板来组织 PR 描述。如果你提供了模板,Devin 在向 GitHub 提交 PR 时会遵循该模板的格式。 你可以在下方任一受支持的 PULL_REQUEST_TEMPLATE 位置添加一个名为 devin_pr_template.md 的文件,为 Devin 提供单独的模板,而无需修改你面向人工审核的默认模板。如果你希望 Devin 包含额外的上下文信息(例如审阅者检查清单或已修改文件的 Mermaid 图表),这会特别有用。

模板查找顺序

Devin 会按以下顺序查找模板,并使用第一个匹配项:
  1. PULL_REQUEST_TEMPLATE/devin_pr_template.md
  2. docs/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  3. .github/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  4. pull_request_template.md
  5. docs/pull_request_template.md
  6. .github/pull_request_template.md
如果未找到任何模板,Devin 会使用其默认的 PR 描述格式。
如果你希望 Devin 使用你现有的 pull_request_template.md,请将其复制或创建符号链接到上述任一 devin_pr_template.md 路径。
有关 GitHub pull request 模板的更多信息(支持的位置、多模板、查询参数等),请参阅 GitHub 文档(GitHub Docs):为你的仓库创建 pull request 模板

提交签名

在进行代码仓库设置时,你可以使用 Devin 的终端按照 GitHub 文档中介绍的 GPG 流程生成一个用于签名提交的 GPG 密钥。我们建议在你们组织内创建一个专用的 GitHub 账号(例如:[email protected]),并将其与该 GPG 密钥关联,这样可以更容易识别哪些提交来自 Devin。
Devin

安全注意事项

  • 分支保护: 我们建议在主分支上启用分支保护规则,以确保在 Devin 合并更改之前,所有必需的检查都已通过。
  • 组织级权限: Devin 使用授予组织级别的权限,而不是运行会话的个人用户的权限。
  • 一致的访问控制: 所有同时加入 GitHub 组织和 Devin 组织的用户,共享相同的 Devin 集成权限。
  • 仓库创建: Devin 无法在你的 GitHub 账户中创建新的仓库。

IP 白名单

如果贵组织在访问 GitHub 时需要配置 IP 白名单,请将以下 IP 地址加入允许列表:
  • 100.20.50.251
  • 44.238.19.62
  • 52.10.84.81
  • 52.183.72.253
  • 20.172.46.235
  • 52.159.232.99
请注意,这些 IP 地址在后续更新中可能会发生变更。我们建议您关注我们的发行说明以了解任何变更。

GitHub 集成常见问题

可以。用户可以将 GitHub 组织账号或个人 GitHub 账号连接到其 Devin 组织。不过,我们建议连接具备 Devin 访问团队所需代码仓库的相应权限的账号。
只有安装了该 GitHub 集成的组织成员,才能在其 Devin 会话中使用该集成。Devin 会根据用户的组织成员身份继承对该 GitHub 集成的访问权限。
加密密钥由 AWS KMS 管理,并会定期轮换。