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