跳转到主要内容

为什么要将 Devin 集成到 GitHub?

将 Devin 集成到你的 GitHub 组织后,Devin 就可以创建 Pull Request(PR)、读取并回复你的 PR 评论等。这样,Devin 就能成为你工程团队中的真正协作者。 设置非常简单! 前往 app.devin.ai > Settings > Integrations > Github,点击 Connect,并按照页面上的 GitHub 应用集成步骤进行操作。请确保为相关仓库授予正确的访问权限,并检查权限设置。
在使用 GitHub Enterprise Server? 请参阅 GitHub Enterprise Server Integration guide,了解使用 personal access tokens 进行配置的说明。

设置集成

遇到问题?请查看我们的常见问题页面,获取常见问题的解决方案。
  1. 在你的 Devin 账号中访问 app.devin.ai,前往 Settings > Integrations > GitHub,然后点击 “Connect” 按钮,将你的组织与 Devin GitHub 应用集成。
  2. 你将被重定向至 GitHub,在那里你可以选择要与 Devin 连接的 GitHub accountrepositories,并查看相关权限。
    • 如果你是代表你的组织来设置 GitHub 集成,请务必选择你公司的组织账号。
Devin
  1. 在你完成 GitHub 中所有设置步骤后,你会被重定向回 Devin 的账号设置页面,在那里你可以确认集成已成功配置。
Devin
  1. [仅适用于企业客户]cognition-team GitHub 账号添加到相关的 repositories 中。这样我们就可以协助将 Devin 接入你的代码库,并监控 Devin 的活动。
我们建议在 master 主分支上启用分支保护,以确保在 Devin 合并任何变更之前,相关检查已被强制执行。

使用 Devin 的 GitHub 集成

完成集成设置后,你可以前往 Devin Web 应用,在提示中直接 @ 提及该仓库! 如果你是第一次使用某个代码仓库,我们建议你先完成引导流程中的开发环境设置,以确保 Devin 拥有关于如何与你的代码库协作的最新且最准确的信息。
只要会话尚未被归档,Devin 会自动回复所有 PR 评论

Pull Request 模板

当 Devin 创建 Pull Request 时,它会尝试使用你仓库中的模板来组织 PR 描述。如果你提供了模板,Devin 在向 GitHub 提交 PR 描述时会遵循该模板的结构。

Devin 专用模板(推荐)

你可以为 Devin 提供一个单独的模板,而无需更改面向人类用户的默认模板:只需在下方任一受支持的 PULL_REQUEST_TEMPLATE 位置添加一个名为 devin_pr_template.md 的文件即可。如果你希望 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 严格遵循的 GitHub pull_request_template.md,只需将其复制(或创建符号链接)到上述任一 devin_pr_template.md 路径即可。
有关 GitHub pull request 模板的更多信息(支持的位置、多模板、查询参数等),请参阅 GitHub 文档(GitHub Docs):为你的仓库创建 pull request 模板

配置 Devin 权限

管理权限

要管理权限,你需要是安装 Devin 集成所在 GitHub 组织的管理员
在设置集成时,你可以选择授予 Devin 权限,使其可以访问组织内的所有仓库,或仅访问你选择的部分仓库
在应用连接完成后,你可以随时通过 GitHub 中的集成配置页面调整权限:
  • 步骤 1: 前往 GitHub Integration settings
  • 步骤 2: 找到 Devin.ai Integration 并点击 “Configure”
  • 步骤 3: 滚动到 “Repository access” 部分来管理权限
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 能够像普通贡献者一样在你的仓库中工作。具体来说,我们允许 Devin 推送新分支、打开 PR,并参与 PR 讨论,这对 Devin 高效地为你的代码库做出贡献至关重要。

提交签名

在进行代码仓库设置时,你可以使用 Devin 的终端按照 GitHub 文档中介绍的 GPG 流程生成一个用于签名提交的 GPG 密钥。我们建议在你们组织内创建一个专用的 GitHub 账号用于上传该 GPG 密钥(例如:devin@company.com),以便你可以验证哪些提交是由 Devin 发出的。
Devin

安全注意事项

以下是有关 Devin 在 GitHub 中权限的一些补充信息:
  • 我们建议在 master 分支上启用分支保护,以确保在 Devin 合并任何变更之前,相关检查已强制执行。
  • 如果 Devin 已连接到你组织的 GitHub 账户,那么对于任何同时有权访问 GitHub 组织和 Devin 组织的用户,它将拥有与该用户相同的权限。
  • Devin 不会继承当前与其进行会话用户的权限,而是始终保留在组织层级授予它的权限。
  • Devin 无法在你的 GitHub 账户中创建新的仓库。

IP 白名单

如果您需要将 Devin 的服务加入白名单,以便访问贵组织的 GitHub 资源,请添加以下 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 组织账号或个人账号连接到其所在组织的 Devin 账号,但我们建议连接具备 Devin 在组织中运行会话所需相关权限的账号。
只有已通过认证且拥有连接了该 GitHub 集成的组织访问权限的用户,才能在其 Devin 运行中使用该集成。换句话说,只有由安装该 GitHub 集成的组织成员发起的 Devin 实例,才可以访问该 GitHub 集成。
加密密钥由 AWS KMS 管理,并会定期轮换。