跳转到主要内容

配置集成

将 Devin 集成到你的 GitHub 账户中,可以让 Devin 访问你的代码仓库并创建拉取请求(pull request)。这样 Devin 就能成为你工程团队中的真正协作者。

为 Devin 创建服务账号

  1. 在你的 GitHub Enterprise 中创建一个新的 GitHub 账号供 Devin 使用。这样可以确保 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(资源所有者) 下,选择正确的组织。
If you’re not seeing the correct organization under “Resource owner”, make sure that the enterprise and organization have enabled the use of fine-grained personal access tokens. 如果你在 “Resource owner(资源所有者)” 下未看到正确的组织,请确认企业和组织均已启用细粒度个人访问令牌的使用。

在 Enterprise 设置中启用

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

在 Organization 设置中启用

只有 Organization 管理员(Organization Admin)可以更新这些设置。请确保在 Enterprise 设置中也启用了 personal access tokens(个人访问令牌)。
  1. 在 GitHub 右上角点击你的个人头像,然后点击 Organizations(组织)
  2. 在目标组织旁边点击 Settings(设置)
  3. 在左侧边栏中,在 Personal access tokens(个人访问令牌) 下,点击 Settings(设置)
  4. 选择 Fine-grained tokens(细粒度令牌) 选项卡。
  5. Fine-grained personal access tokens(细粒度个人访问令牌) 下,为你的组织启用访问。
  6. 点击 Save(保存)
  1. Repository access(代码仓库访问) 下,选择你希望 Devin 使用的仓库。令牌始终包含对 GitHub 上所有公共仓库的只读访问权限。
  2. 确保令牌具有以下 Devin 正常工作所需的权限:
PermissionAccess levelDescription
ContentsRead and write允许 Devin 向代码库提交更改
IssuesRead and write允许 Devin 创建新的 issue
MetadataRead only允许 Devin 查看仓库的重要元数据,例如仓库所有者
Pull requests(PR)Read and write允许 Devin 创建新的 PR
根据你希望 Devin 执行的工作,授予更多权限有助于 Devin 更好地与你的团队协作。
  1. 点击 Generate Token(生成令牌) 并保存显示的令牌。
    注意: 根据你的 GitHub 设置,可能需要管理员审批。
  2. 为验证该令牌是否具有所有必要的访问和权限,请在本地机器上创建并推送一个测试分支到该组织中的某个仓库。
  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 "Test: Validate Devin token permissions" \
  --body "This is a test PR to validate token permissions." \
  --base main

# 清理:关闭测试 PR 并删除测试分支
gh pr close pr-number --delete-branch
预期结果: push 和 PR 创建应在没有身份验证错误的情况下成功。如果 push 失败,请检查该 token 是否具有 “Contents: Read and write” 权限。如果 PR 创建失败,请检查该 token 是否具有 “Pull requests: Read and write” 权限。

配合 GitHub 集成使用 Devin

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

安全注意事项

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