GitHub 于 11月6日 推出了通过 API 管理 Copilot 代码审查设置,以及确认审查作者身份和依据来源的功能。企业、组织和仓库管理员可按各自权限自动管理设置,开发者则可在更精简的审查摘要中查看问题。
1. 通过 API 扩展设置管理和审查作者身份确认功能
原有 REST API 支持请求审查、设置强度并获取结果。新功能会在 Copilot 撰写的审查和评论中标明作者身份,使自动化工具能够识别 Copilot 的结果。设置管理通过 REST 和 GraphQL API 提供。
如果提供了相关元数据,即描述对象的附加信息,就可以查看审查所采用的强度。还可逐条查看 Copilot 报告为评论依据来源的技能、MCP 服务器和自定义指令。技能是用于执行任务的功能集合,MCP 服务器则是连接外部工具的通道。
管理权限按角色划分。企业管理员可为所有组织启用或禁用代码审查,也可将是否使用的决定权交给组织管理员。组织管理员管理功能开关、默认审查强度和运行环境设置。
仓库管理员决定审查强度,以及是否在审查中使用自定义指令和 MCP 工具。REST API 提供与网页界面相同的审查强度选项,组织和仓库设置的响应中包含可用选项。
2. 根据管理范围确定身份验证方式和权限
组织无法更改由企业管理的设置。企业和组织设置 API 以及组织运行环境 API 不支持 GitHub Apps 和细粒度个人访问令牌,后者是可精细限制权限范围的令牌。仓库设置 API 支持这两种身份验证方式,而经典个人访问令牌,即传统的个人身份验证令牌,需要仓库管理员权限。
读取仓库设置需要 Administration: read 权限,更改则需要 Administration: write 权限。GitHub 还链接了单独的文档,介绍如何通过 API 配置设置。
3. 精简审查摘要并提供反馈渠道
在新摘要中,审查强度和问卷移至小型页脚。跳过的文件和内容被排除的文件合并到“未审查的文件”项中,并显示文件名及排除原因链接。无内容的条目会隐藏,较长的列表则显示超出的条目数量。
再次审查同一拉取请求时,与近期更改无关的问题会折叠并隐藏。开发者在反复审查时更容易专注于与近期更改相关的问题。
用户可对摘要给出负面评价后补充原因,选择不同意批准判断、评论过长、问题指出有误或过于琐碎等问题类型。GitHub 表示会利用这些反馈改进 Copilot 指出的问题。此外,还修复了已拒绝收集反馈的组织仍显示问卷的问题。
4. 确认审查用量和自动请求的适用范围
代码审查代理会话会显示审查使用的 AI credits,即计算 AI 用量的计费单位。关于审查强度,据公司公告,均衡强度审查会使用三个审查模型,再由另一个模型汇总结果。
自动审查仓库规则新增了排除列表。列入其中的用户或应用等不会成为自动审查对象。
即使开启了阻止通过外部 Copilot 许可证请求审查的设置,只要组织承担审查费用,GitHub Actions、Dependabot 以及组织或企业拥有的应用仍可为机器人创建的拉取请求请求审查。
5. 通过重试和保留设置优化运行流程
据公司公告,失败或超时的审查会自动重试一次;如果首选模型不可用,可以切换到其他可用模型。服务更新期间,正在进行的审查会获得更多完成时间。此外,还修复了审查刚开始就被错误标记为失败、导致结果被丢弃的问题。
关闭再重新启用功能后,计费和预览设置仍会保留。管理员暂停使用功能后再次启用时,也可沿用原有设置。
管理员更容易确认作者身份和依据来源,并通过自动化体系处理设置。相应地,仍需根据接入的管理范围选择身份验证方式和权限,同时检查自动审查对象及组织承担的审查费用。
Copilot 代码审查的自动化范围有所扩大,运维人员需要统筹管理各角色的设置权限和审查费用。
