Azure DevOps Services
注释
此功能以个人预览版提供。 访问权限有限,在正式发布之前,功能可能会更改。
Azure Boards 与 GitHub Copilot 集成,以简化开发工作流。 可以直接将工作项与 Copilot 配合使用,Copilot 会自动创建分支、实施代码更改并生成草稿拉取请求,同时保持工作项进度更新。
通过此集成,可以:
- 从工作项启动自动编码
- 直接在 Azure DevOps 中跟踪 GitHub Copilot 的进度
- 自动将生成的拉取请求和分支链接到工作项
- 跟踪草稿拉取请求何时准备好了供审查
重要
此集成需要 GitHub 存储库和 GitHub 应用身份验证。 GitHub Copilot 集成不支持 Azure Repos (Azure DevOps Git 存储库)。
先决条件
| 类别 | 要求 |
|---|---|
| 许可 | 有效的 GitHub Copilot 订阅 |
| Repository | 具有适当权限的 GitHub 存储库(而不是 Azure Repos) |
| 身份验证 | 在 Azure DevOps 和 GitHub 之间配置的 GitHub 应用身份验证(不支持个人访问令牌) |
| 权限 | 在 Azure DevOps 中参与访问工作项和链接项目的能力 |
| Azure Boards 连接 | 将 Azure Boards 连接到 GitHub |
支持的工作项类型
GitHub Copilot 集成支持要求和任务类别下的任何工作项类型,包括:
- 标准工作项类型:用户情景、产品积压工作项、要求、任务、Bug、问题
- 在流程模板中创建的自定义工作项类型
这种广泛的支持意味着可以在 Azure DevOps 项目中将 GitHub Copilot 与任何流程模板(敏捷、Scrum、CMMI 或自定义)中的工作项配合使用。
从工作项启动 GitHub Copilot
打开要使用 GitHub Copilot 的工作项。
在工作项窗体中,选择 GitHub 图标。
如果有多个选项可用,按钮将成为具有不同选项的下拉菜单。
选择 “使用 GitHub Copilot 创建拉取请求”。
选择要让 Copilot 创建拉取请求的目标 GitHub 存储库和分支。
注释
只有通过 GitHub 应用身份验证连接的 GitHub 存储库才会显示在存储库列表中。 不支持 Azure Repos。
(可选)添加特殊说明以指导 Copilot 的实现方法。 例如,你可以添加“创建包含设置说明的自述文件”。
选择 “创建 ”以开始自动编码过程。
启动 Copilot 时会发生什么情况
从工作项启动 Copilot 时,会发生以下自动化过程:
- 数据共享:Azure DevOps 使用 GitHub Copilot 共享工作项标题、大型文本字段(如说明和接受条件)、注释和指向工作项的链接。
-
许可证验证:Azure DevOps 验证 GitHub Copilot 许可证。
- 如果验证失败,将显示 “获取许可证 ”选项来购买 GitHub Copilot。
- 存储库准备:Copilot 为工作创建新的分支。
- 拉取请求创建:自动生成草稿拉取请求并将其链接到工作项。
-
工作项更新:
- 将在工作项讨论中添加一条注释。
- 状态指示器显示在“开发”部分上方。
- 分支和拉取请求链接会被自动添加。
- 进度跟踪:实时状态更新显示 Copilot 的进度。
监视 GitHub Copilot 进度
状态指示器
Azure DevOps 在工作项上直接显示 Copilot 的状态,共有三种可能的状态:
- 进行中:Copilot 正在积极执行代码更改。
- 准备审阅:草稿拉取请求已完成,可供审阅。
- 错误:编码过程中出现问题(将鼠标悬停以查看详细信息)。
注释
预计 Copilot 操作需要 5-15 分钟才能完成,取决于工作项目的复杂性。
板卡指示器
在开发板上查看工作项时,可以直接在工作项卡片上标识 GitHub Copilot 状态。 GitHub Copilot 图标显示在卡片上,并指示 Copilot 正在处理或已完成该项目的工作。
此可视指示器可帮助你快速识别哪些工作项具有活动的Copilot操作,而无需一一打开每个工作项。
开发部分更新
工作项的“开发”部分会自动显示:
- 由 Copilot 创建的链接分支。
- 具有实时状态的草稿拉取请求。
- 直接链接以查看 GitHub 中生成的代码。
查看和合并拉取请求
选择拉取请求链接以查看 Copilot 在 GitHub 中的实现。
如果对更改感到满意,请将草稿转换为常规拉取请求。 工作项讨论自动接收有关拉取请求状态更改的通知。
使用 GitHub 的界面查看、注释和批准生成的代码。
准备就绪后,在 GitHub 中完成合并过程。
- 合并提交会自动链接到工作项。
- 如果删除分支,则会删除分支链接。
- 成功合并后,Copilot 状态指示器处于隐藏状态。
拉取请求合并后:
- 若要反映完成情况,请更新工作项状态。
- 验证合并提交是否显示在“开发”部分中。
- 如果实现完全满足要求,请关闭工作项。
有关详细信息,请参阅我们的培训模块 GitHub Copilot 入门。
排查问题
检查错误详细信息:将鼠标悬停在错误图标上,以获取有关出错的具体信息。
重新运行 Copilot:选择 “重新运行 Copilot ”以使用相同或修改的说明再次尝试该过程。
手动干预:如果需要,请对生成的分支和拉取请求进行手动更改。
许可证问题
- 问题:许可证验证失败。
- 解决方案:确保拥有有效的 GitHub Copilot 订阅,并根据需要选择 “获取许可证 ”。
存储库访问
- 问题:看不到预期的存储库。
-
解决方案:
- 验证 Azure DevOps 与 GitHub 之间的 GitHub 应用连接。
- 确保你有权访问 GitHub 存储库(而不是 Azure Repos)。
- 检查存储库权限和 GitHub 应用身份验证。
- 确认存储库是否已通过适当的 GitHub 应用集成进行连接。
Copilot 错误
- 问题:编码代理遇到错误。
- 解决方法:查看错误详细信息、检查说明,以便清楚起见,并尝试重新运行 Copilot。
状态未更新
- 问题:进度状态仍停滞。
- 解决方案:检查 GitHub 是否有实际进度,因为状态更新取决于 GitHub 报告。
最佳做法
- 明确工作项描述:提供详细的验收标准和上下文,以获得更好的 Copilot 结果。
- 保持更改简单简洁:工作项说明越复杂且详细,Copilot 就越难理解。 重点介绍明确的特定要求。
- 具体说明:启动 Copilot 时添加实现指南。
- 定期监视:定期检查进度,尤其是对于复杂的工作项。
- 快速审阅:快速审查草稿拉取请求并提供反馈,以保持工作势头。
- 适当的工作项卫生:在整个过程中适当更新工作项状态。
局限性
在将 GitHub Copilot 与 Azure Boards 配合使用时,请注意以下限制:
- 依赖项:不支持处理工作项之间的依赖关系。 每个工作项都应是自包含的。
- 并发操作:不支持在不同的工作项中管理多个并发的 Copilot 操作。 把一个 Copilot 操作完成后,再开始另一个。
- 数据共享:仅与 GitHub Copilot 共享工作项标题、大型文本字段、批注和工作项链接。
- 复杂性:过于复杂或详细的工作项说明可能会降低 Copilot 的有效性。
相关内容
- 将工作项链接到开发工件
- 配置 GitHub 集成
- 在 Azure Repos 中处理拉取请求
- 使用链接和附件来跟踪工作