检测
拉取请求审查
已连接仓库中的每个拉取请求都针对它所部署到的生产环境进行检查,你在合并前就会知道结果。
大多数故障始于一次变更。Polylane针对已连接仓库中每个拉取请求所部署到的生产资源进行审查,并发布一条说明通过或失败的评论。
功能概述
智能体读取差异,以及仓库所部署到的资源的实时指标、日志和未解决问题,然后判断这次变更是否可能损害生产环境。你会在拉取请求上得到一条评论、一个可选的Polylane production impact检查,以及控制台中一个包含完整分析的线程。
工作原理
- 针对默认分支打开拉取请求、向它推送,或把它标记为可审查,都会启动对其头部提交的审查。草稿不审查。
- 后续推送会替换进行中的审查,所以只有最新的提交被评判。
- 只涉及文档、测试或CI文件的变更无需调查即可通过。
- Polylane沿着仓库的部署边找到它的生产资源,没有部署边时则针对工作区的全部云账户进行审查。
- 智能体在一个线程中调查,并记录
pass或fail判定。 - 每个拉取请求只有一条评论,每次审查时编辑它。失败时写着Hold this merge,带有影响级别和发现;通过时写着Production impact unlikely,或说明针对某个已检测问题的修复是否预期能解决它。当后续推送解决了顾虑时,评论会翻回通过并加以说明。
智能体还可以建议可观测性改进,以一次批量的建议评论审查或一个堆叠拉取请求的形式。它们从不影响判定。
对审查采取行动
在拉取请求的评论中提及@polylane,Polylane会在同一个对话中回答;非成员则会收到一条关于访问权限的提示。
| 你请求的内容 | 会发生什么 |
|---|---|
| 一个问题 | 智能体从审查线程中回答,证据就在眼前。 |
| 再看一次 | 智能体重新审查最新的推送并重新考虑判定。 |
| 一个修复 | Polylane启动一次修复运行,并针对该拉取请求的分支打开一个堆叠拉取请求,从评论中链接过去。 |
控制台中仓库的Changes标签页列出每次审查。失败时提供Fix with Polylane,它启动同样的修复运行,以及在顾虑不适用时使用的Dismiss:拉取请求继续被审查,但在你Restore它之前不再收到评论。
| 状态 | 说明 |
|---|---|
| In review | Polylane正在审查最新的推送。 |
| Flagged | 审查发现了生产顾虑。 |
| Passed | 未发现生产顾虑。 |
| Resolved | 后续推送解决了顾虑。 |
| Dismissed | 一名成员驳回了审查;拉取请求不再收到评论。 |
配置
每个已连接的仓库都默认开启审查。Settings > Pull request reviews在工作区范围内关闭审查,并设置审查线程是否与拉取请求的查看者共享。在Settings > Repositories下,仓库的Settings标签页增加三个字段。
| 字段 | 说明 |
|---|---|
| Review pull requests for production impact | 仅对此仓库关闭审查。 |
| Pull request review instructions | 智能体在每次审查时读取的自由文本:对部署至关重要的路径,或其他门禁已处理的顾虑。 |
| Block merging on production concerns | 在每个已审查的拉取请求上发布Polylane production impact检查;有顾虑时它会失败。默认开启。在分支保护中要求它即可阻止合并。 |
该检查在合并队列的提交上也会完成,因为拉取请求在进入队列前已经审查过。失败判定可以发送Production Concern Found邮件,它在通知下默认关闭。
套餐说明
每个套餐都包含每月一定数量的拉取请求审查;Free套餐的额度列在计费与用量中,额度快用完时会给成员发邮件。超过额度后,控制台把拉取请求记录为Production impact not verified,不会向GitHub发布任何内容。