关卡和例外
关卡决定拉取请求是否通过。例外会使一条已接受的发现在例外到期之前不使关卡失败。
设置关卡
所有者或管理员打开 Gates 页面并设置:
- 使拉取请求失败的最低严重程度:critical、high、medium 或 low。新工作区默认从 high 开始。
- 计入关卡的引擎。每个扫描器仍会运行,每条发现仍会被记录。来自不在该列表中的引擎的发现不会使关卡失败。
- 贡献者上限,按 30 天内唯一的构建请求者计数。当运行过构建的人数超过上限时,关卡会增加一个失败项。
选择“保存”。对关卡的更改会写入审计日志。
读取结果
每次运行都会返回关卡结果。当关卡阻止时,接入调用返回状态 409,步骤或作业失败,除非你在任务上设置 failOnGate: false,或在 Action 上设置 fail-on-gate: false。结果还会写入拉取请求评论,在 GitHub 上还会写入作业摘要。发现仍保留在 Findings 下,并附有发现它们的仓库和拉取请求。
一次扫描只会解决在其中上报的引擎的发现。不再出现的发现会被标记为已解决。
记录例外
- 所有者或管理员打开 Exceptions 页面。
- 选择一条未处理的发现,或粘贴其指纹。
- 选择负责人,即你以外的某位工作区成员。你会被记录为批准人。
- 填写原因并设置到期日,最长为自今天起 90 天。
- 选择“记录例外”。它立即生效。
已例外的发现不会使关卡失败。到期日之后,下一次扫描会再次将其计入关卡。控制台中没有撤销例外的按钮。