跳转到主要内容

配置集成

将 Devin 集成到你的 GitHub,可以让 Devin 访问你的代码仓库并创建 Pull Request,从而成为你工程团队中真正的合作伙伴。

为 Devin 创建服务账号

  1. 在你的 GitHub Enterprise 中,为 Devin 创建一个新的 GitHub 账号供其使用。这样可以确保 Devin 的所有访问和使用情况都能够被正确跟踪和管理。
  2. 将新创建的服务账号以 Member 身份添加到所有相关的 GitHub 组织中。确认该账号已具有 Devin 预计需要访问的所有代码仓库的访问权限。

为 Devin 生成 Personal Access Token(个人访问令牌)

  1. 使用服务账户登录后,点击右上角的个人头像,然后点击 Settings(设置)
  2. 在左侧边栏中,点击 Developer settings(开发者设置)
  3. 在左侧边栏中,在 Personal access tokens(个人访问令牌) 下,点击 Fine-grained tokens(细粒度令牌)
  4. 点击 Generate new token(生成新令牌)
  5. 填写 Token name(令牌名称)Expiration(过期时间)
    注意: 当令牌过期时,Devin 将立即失去对 GitHub 的所有访问权限,你需要创建一个新的令牌。
  6. Resource owner(资源所有者) 下,选择正确的组织。
如果你在 “Resource owner” 下看不到正确的组织,请确认 Enterprise 和 Organization 已启用 fine-grained personal access tokens 的使用。

在 Enterprise 设置中启用

只有 Enterprise 管理员可以更新这些设置。请确保在对应 Organization 的设置中也启用了 personal access tokens。
  1. 在 GitHub Enterprise Server 右上角,点击个人头像,然后点击 Enterprise settings(企业设置)
  2. 在页面顶部,点击 Policies(策略)
  3. Policies(策略) 下,点击 Personal access tokens(个人访问令牌)
  4. 选择 Fine-grained tokens(细粒度令牌) 选项卡。
  5. Fine-grained personal access tokens(细粒度个人访问令牌) 下,启用访问。
  6. 点击 Save(保存)

在 Organization 设置中启用

只有 Organization 管理员可以更新这些设置。请确保在 Enterprise 设置中也启用了 personal access tokens。
  1. 在 GitHub 右上角,点击个人头像,然后点击 Organizations(组织)
  2. 在对应 Organization 旁边,点击 Settings(设置)
  3. 在左侧边栏中,在 Personal access tokens(个人访问令牌) 下,点击 Settings(设置)
  4. 选择 Fine-grained tokens(细粒度令牌) 选项卡。
  5. Fine-grained personal access tokens(细粒度个人访问令牌) 下,为你的 Organization 启用访问权限。
  6. 点击 Save(保存)
  1. Repository access(仓库访问) 下,选择你希望 Devin 参与工作的仓库。令牌始终包含对 GitHub 上所有公共仓库的只读访问权限。
  2. 确保令牌具有以下权限,这些是 Devin 正常工作所必需的:
PermissionAccess levelDescription
ContentsRead and write允许 Devin 向代码库提交更改
IssuesRead and write允许 Devin 新建 issues
MetadataRead only允许 Devin 查看关于仓库的关键信息,例如所有者
Pull requestsRead and write允许 Devin 创建新的 PR
根据你交给 Devin 的具体工作,授予额外权限将有助于 Devin 更好地与你的团队协作。
  1. 点击 Generate Token(生成令牌) 并保存显示的令牌。
    注意: 根据你的 GitHub 设置,可能需要管理员审批。
  2. 为验证令牌是否具有所有必要的访问和权限,请在本地机器上创建并推送一个测试分支到该 Organization 中的某个仓库。
  3. 当令牌生成并测试完成后,请联系你在 Cognition 的对接人完成后续配置流程。如果你目前未直接与我们的团队合作,请发送邮件至 [email protected] 联系我们。

在本地验证 PAT 权限

在将该令牌提供给 Cognition 之前,先通过推送一个测试分支来验证它是否拥有所需的权限:
# 使用您的令牌通过 gh CLI 进行身份验证
export GH_TOKEN=your_personal_access_token
export GH_HOST=your-github-enterprise-server.com

# 克隆代码仓库
gh repo clone your-organization/your-repository
cd your-repository

# 创建测试分支
git checkout -b test-devin-token-$(date +%s)

# 进行小改动
echo "# Test" >> TEST.md
git add TEST.md
git commit -m "Test: Validate Devin token permissions"

# 推送分支(测试内容写入权限)
git push origin HEAD

# 创建拉取请求(测试拉取请求写入权限)
gh pr create --title "测试:验证 Devin 令牌权限" \
  --body "这是一个用于验证令牌权限的测试 PR。" \
  --base main

# 清理:关闭测试 PR 并删除测试分支
gh pr close pr-number --delete-branch
预期结果: 推送和创建 PR 应在不出现身份验证错误的情况下成功。如果推送失败,请确认令牌具有 “Contents: Read and write” 权限。如果 PR 创建失败,请确认令牌具有 “Pull requests: Read and write” 权限。

在 GitHub 集成中使用 Devin

现在 GitHub 已完成集成,你可以配置哪些 Devin 子组织可以访问各个代码库(参见 Enterprise GitHub Permissions)。 完成集成设置后,你可以前往 Devin Web 应用,并在提示中 @mention 任意代码库! 如果你是第一次使用某个代码库,建议你通过入门流程中的开发环境设置步骤,以确保 Devin 拥有关于如何使用你的代码库的最准确、最新的信息。
只要会话尚未被归档,Devin 会自动回复任何 PR 评论。

安全注意事项

关于 Devin 在 GitHub 中权限的一些补充信息:
  • 我们建议在 master 分支上启用分支保护,以确保在 Devin 合并任何更改之前,相关检查都会被强制执行并通过。
  • 如果 Devin 已连接到你们组织的 GitHub 账户,那么只要某个用户同时有权访问该 GitHub 组织和 Devin 组织,Devin 在该组织中的权限级别就会与该用户一致。
  • Devin 不会继承与它发起会话的用户权限,而是始终保留在组织级别授予它的权限。
  • Devin 无法在你的 GitHub 账户中创建新的仓库。