Azure DevOps服务
Important
此功能处于有限 预览状态。
某些功能可能尚未在你的环境中提供,因为Microsoft分阶段推出预览功能。 功能可能会更改或删除,而不通知。 预览版功能没有服务级别协议(SLA)和有限的支持。
使用 GitHub Copilot 审查 Azure Repos 中的拉取请求。 Copilot充当自动审阅者,可在更改代码上发布评论和建议,以便在人工审阅者注销之前获得反馈。
若要使用该功能,Project集合管理员为组织启用该功能,Project管理员管理project级默认值,存储库所有者将替代各个存储库的设置,以及单个用户选择通过预览功能(除非管理员为每个人启用预览版)。
先决条件
| 类别 | Requirements |
|---|---|
| 组织 | Azure DevOps 中的组织 |
| 存储库 | Azure Repos中的 Git 存储库。 不支持 TFVC。 |
| 组织权限 | Project集合管理员以在组织级别启用该功能。 |
| Project权限 | Project管理员在project级别启用该功能。 |
| 存储库权限 | 存储库所有者或管理员为存储库启用该功能。 |
| 账单 | 链接到你的 Azure DevOps 组织的 Azure 订阅。 Copilot 代码审查使用情况通过 Azure 成本管理计费。 有关详细信息,请参阅 计费。 |
启用Copilot代码评审
在组织级别
Project集合管理员必须为组织启用Copilot代码评审,然后project所有者才能为单个项目和存储库启用它。
如果选择组织级别“启用所有”选项,则会为组织中的每个项目和这些项目中的每个存储库启用Copilot代码评审。 无需单独启用每个项目或存储库。
登录到 Azure DevOps 组织(
https://dev.azure.com/{yourorganization})。选择 组织设置>Repos>存储库。
在“GitHub Copilot 代码审查”下,将“允许此组织中的存储库使用 Copilot 代码审查”切换为“开”。
在项目级别
启用组织级别访问后,Project管理员可以选择在project级别启用该功能。 此选项提供对组织中哪些项目可以使用Copilot代码评审进行精细控制。
如果选择项目级“启用所有”选项,则会为该项目中的每个存储库启用Copilot代码评审。 无需单独启用每个存储库。
选择 项目设置>Repos>存储库。
在“GitHub Copilot代码评审”下,将“启用Copilot此项目的代码评审”切换为“打开”。
此设置适用于项目中的所有存储库,除非在存储库级别重写。 仍可以根据需要启用或禁用各个存储库的功能。
在存储库级别
启用组织级访问(以及(可选)项目级访问后,存储库所有者会针对应使用它的每个存储库启用Copilot代码评审。
若要验证该功能是否已启用,请在存储库中打开任何拉取请求。 GitHub Copilot现在应显示为 reviewers 列表中的可用审阅者。
配置Copilot代码评审
在所有三个范围内启用该功能后,可以配置如何在存储库中Copilot评审拉取请求。
设置自动评审策略
Copilot无需手动请求即可自动查看新的拉取请求。 可以为项目中的所有存储库或单个存储库配置此策略。
功能启用和自动评审是单独的设置。 启用Copilot代码评审可将其提供给存储库。 创建新的拉取请求时,自动评审策略会请求Copilot评审。
为项目中的所有存储库配置自动审阅
使用项目级策略自动请求项目中每个存储库Copilot评审。 无需单独为每个存储库配置策略。
选择 项目设置>Repos>存储库。
在“GitHub Copilot代码评审”下,将“自动请求”Copilot代码评审,以检查此项目中的所有存储库的新拉取请求。
此设置适用于项目中的所有存储库,除非存储库级策略重写它。
为一个存储库配置自动评审
需要特定于存储库的行为时,请使用存储库级策略。
选择 项目设置>Repos>存储库。
选择要配置的存储库。
在“设置”选项卡上,在“GitHub Copilot代码评审”下,将“自动请求”Copilot代码评审切换到“打开”。
(可选)配置评审范围:
- 适用于所有拉取请求:Copilot评审存储库中的每个新拉取请求。
- 适用于特定的分支策略:Copilot仅评审面向指定分支的拉取请求(例如主要或开发)。
自动评审的策略优先级:
- 项目级自动评审策略适用于项目中的所有存储库。
- 存储库级别的自动评审设置将替代该存储库的项目级默认值。
启用自动评审时,Copilot在创建后立即开始查看新的拉取请求。 你仍可以通过在拉取请求中选择GitHub Copilot旁的请求来手动请求其他评审。
选择代理池
Copilot代码评审使用Azure Pipelines代理池运行评审作业。 默认情况下,它使用组织中的默认Azure Pipelines池。
某些组织禁用默认Azure Pipelines池。 在该配置中,在选择受支持的备用池之前,无法运行Copilot代码评审。
如果组织配置了托管 DevOps 池,可以选择它以运行Copilot代码评审,而不是默认池。
注释
Copilot代码评审不支持自承载代理池。
选择 组织设置>Repos>存储库。
在GitHub Copilot代码评审下,从下拉菜单中选择“计算池”。
组织的计算池配置决定了可用的池。 如果没有可用的池,请与组织管理员联系。
选择“保存”。
所选池处理组织中存储库的所有Copilot代码评审。 可以随时更改此设置。 若要对不同的项目或存储库使用不同的池,请通过 托管 DevOps 池配置池分配。
自定义Copilot的评审行为
有关使用自定义说明和代理技能定制Copilot代码评审反馈的指导,请参阅“配置Copilot代码评审说明”。
使用 Copilot 代码审查
在三个作用域都启用此功能后,你可以要求 Copilot 审查拉取请求。 以下部分介绍预期内容。
请求评审
默认情况下,GitHub Copilot 仅会在您提出请求时审查拉取请求:
- 创建拉取请求。
- 在 Reviewers 节中,选择 GitHub Copilot 旁边的 request。
- 等待评审完成。 评审可能需要一些时间,具体取决于存储库的大小和拉取请求中的更改数。 评审完成后,状态将更改为 “审阅已完成”。
如果Copilot识别潜在问题,它会将注释和建议直接添加到拉取请求中,供你检查和解决。
阅读Copilot的注释
- Copilot 在拉取请求中以名为 GitHub Copilot 的普通审阅者身份提交反馈。
- 每个注释都显示在它适用的代码行上,并尽可能包括一键可以应用的建议更改。
- Copilot 总是留下评论审查。 它从不批准拉取请求或请求更改,因此其审查不满足必需审查者策略,也不会阻止合并。
- Copilot 的评论类似于人工评审者的评论。 你可以回复他们、对他们做出反应、解决或隐藏它们。 Copilot不会阅读回复,也不会跟进。
新提交后重新评审
当你推送新提交时,Copilot 不会自动重新审查拉取请求。 若要在提交后重新发起评审,请在 Reviewers 列表中再次选择 GitHub Copilot 旁边的 Request。
取消正在进行的评审
如果代码评审花费的时间超过预期,或者需要停止它,则可以取消评审运行。
- 打开Copilot当前正在审阅的拉取请求。
- 在“审阅者”部分的GitHub Copilot旁边,选择“取消”按钮(或选择“更多选项>取消审阅”)。
- 在出现提示时确认取消。
评审运行会立即停止,不会添加其他注释。 部分评审结果(包括取消之前添加的注释)保留在拉取请求中。 可以随时请求新的评审。
要求和限制
以下要求和限制在预览期间适用,可以更改。
仅当拉取请求满足以下要求时,Copilot 才会对其进行审查:
| 要求 | 价值 |
|---|---|
| 拉取请求状态 | 积极 |
| 拉取请求合并状态 | 无合并冲突(合并成功) |
| 存储库大小 | 10 GB 或更少 |
| 拉取请求更改的文件 | 100 个文件或更少 |
这些并发和速率限制同样适用:
| Limit | 价值 |
|---|---|
| 对同一拉取请求版本的重复评审 | 每个合并提交 1 个完成的审查 |
| 每个拉取请求并发审查数 | 1 |
| 每个组织并发审查数 | 5 |
| 每个用户并发审查数 | 2 |
Billing
每个已完成的代码评审都会消耗令牌,包括发送到模型的输入令牌、模型生成的输出令牌,以及复用现有上下文的缓存令牌。 用于每个评审的令牌将转换为名为 GitHub AI 信用额度的标准计费单位,其中 1 个信用额度等于 0.01 美元。
有关Copilot代码评审计费和成本的常见问题的解答,请参阅Copilot代码评审疑难解答。
费用将计入与你的 Azure DevOps 组织关联的 Azure 订阅,并在 Azure 成本管理 中显示为单独的计量项。 每次评审的成本会因拉取请求的大小、更改的行数等因素而有所不同。 若要估算环境中的预期成本,请首先为一两个存储库启用该功能,并监视每日使用情况。
Azure 成本管理 中的 Copilot 代码评审计费现已包括 Azure DevOps 项目标签,支持按项目生成成本报告。 可以按这些项目标记筛选或对成本分析进行分组,以将使用情况归咎于单个Azure DevOps项目。
要查看您的每日费用:
在 Azure 门户中,转到订阅。
选择“成本管理”“成本分析”。
按产品进行筛选以查看组织的每日成本。 若要查看特定项目的成本,请根据Azure DevOps项目标记添加筛选器或组。
设置预算警报
创建Azure预算,在支出达到设定的阈值时通知你。 预算仅向你发送通知。 它们不会停止评审或更改任何资源。 需要在链接到Azure DevOps组织的订阅上拥有所有者、参与者或成本管理参与者访问权限。
在Azure 门户中,打开与你的 Azure DevOps 组织关联的订阅。
选择 “成本管理>预算”,然后选择“ 添加”。
在“筛选器”下,为“产品”添加筛选器,然后选择 AzDO 的GitHub Copilot。
如果订阅关联到多个 Azure DevOps 组织,请添加 Tag 筛选器,并选择要将警报定位到的组织名称标记。 如果存在项目标记,还可以按项目标记筛选或分组以创建项目级预算警报。
输入预算名称,选择重置期和到期日期,设置预算金额,然后选择“ 下一步”。
将一个或多个警报阈值添加为预算百分比(例如,75% 和 90%),将 类型 设置为 “实际 ”或“ 预测”,并输入要通知的电子邮件地址。
选择“创建”。
当支出达到阈值时,Azure在下一次评估后的一小时内发送电子邮件。 若要查看触发的警报,请选择 “成本管理>成本警报”。 为避免提醒电子邮件进入垃圾邮件文件夹,请将 azure-noreply@microsoft.com 添加到已批准的发件人列表中。 有关详细信息,请参阅 “创建和管理预算”。
关闭 Copilot 代码审查
若要停止使用 Copilot 代码审查,请在要禁用的范围内,将开关设为 Off:
- 对于单个用户:在用户设置中关闭预览功能开关。
- 对于一个存储库:在 Project 设置中关闭存储库切换>Repos>存储库。
- 对于整个组织:在组织设置>存储库>存储库中关闭组织切换开关。 此操作将禁用所有存储库的功能。
共享反馈
若要报告有关此预览版的问题或共享反馈,请访问 Azure DevOps 开发者社区。
对代码评审Copilot进行故障排除
有关计费、数据处理、合规性和自定义说明问题的常见问题的解答,请参阅“排查Copilot代码评审”。