heydeer
配置审查

自动批准

当一次完整的审查之后没有需要人来决定的事项时,让 HeyDeer 批准 PR。该功能默认关闭,并且只有在开启在 PR 中发布审查评论时才会生效。

开启自动批准

  1. 打开工作区设置 → 审查规则,或某个仓库的审查规则。
  2. 在发布结果下开启自动批准,并确认在 PR 中发布审查评论已开启。
  3. 在下方选择可自动批准的 PR和允许保留的问题这两个条件。
  4. 选择保存工作区审查规则或保存此仓库审查规则。
HeyDeer 批准了这些变更
所有检查均已通过
HeyDeer Review — 审查完成,未发现问题
CI / test — 成功
已开启自动合并:满足所有要求后,GitHub 会合并此 PR。
HeyDeer 批准了一个要求通过 HeyDeer Review 检查、且已开启自动合并的 PR。

批准条件

两项条件都满足后,HeyDeer 才会批准 PR。

设置项值默认值
可自动批准的 PR

低风险 PR

低风险和中风险 PR

所有风险等级的 PR

低风险和中风险 PR
允许保留的问题

无待处理问题

允许低严重程度问题

无待处理问题

HeyDeer 会按“审查漏掉的问题造成的损害有多难控制”,把每个 PR 评为低、中或高风险。高风险 PR 包括数据迁移、去掉已有的保证、修改计费、权限、安全、核心基础设施或对外契约,以及让团队承担超出该 PR 自身功能范围的决定。每次审查都会写明风险等级和理由。

所有风险等级的 PR会取消这个条件。下一节中的其他要求仍然适用。

允许低严重程度问题让 HeyDeer 在仍有低严重程度的发现的问题或此前的问题时也能批准。批准中会说明这些问题仍然存在;不会把它们标记为已修复,也不会将相关讨论标记为已解决。状态或当前严重程度不明确的此前问题仍会阻止批准。

自动批准的前提

  • 反馈范围内发现的问题和此前的问题须符合你的允许保留的问题条件。反馈范围外的问题,以及已被接受的不处理决定,不会阻止批准。
  • 审查完整:所有匹配的仓库检查都已运行,且没有审查说明。
  • 待澄清下没有等待回答的疑问。与反馈范围外的问题相关的疑问不计入。如何回答疑问,参见补充缺失的上下文。
  • HeyDeer 已评出该 PR 的风险等级,且该等级在可自动批准的 PR设置的范围内。
  • 该 PR 未修改 HeyDeer 从中读取的指导,例如 AGENTS.md、CLAUDE.md、仓库检查和技能。这类修改由人工批准。参见PR 可以更改哪些内容。
  • PR 仍停留在审查时的版本,目标分支也没有变化。草稿 PR 也可以被批准;GitHub 只会在它标记为可审查后才合并。

HeyDeer 的批准评论很简短。折叠的关于本次审查中包含审查摘要、风险等级及理由,以及指向此设置的配置链接。如果是你的设置导致 PR 没有被批准,评论会说明这一点并附上设置链接。HeyDeer Review 检查和 HeyDeer 中的审查页面会展开显示同样的详情。

批准与 GitHub 分支规则

批准与检查状态相互独立。选择允许低严重程度问题时,如果开启了发现问题时将检查标记为失败,已批准的 PR 的检查仍可能失败。

HeyDeer 以 HeyDeer GitHub App 的身份批准。如果之后的审查未批准该 PR,HeyDeer 会撤销此前的批准,并附上新审查的链接。在此之前,包括 HeyDeer 审查新提交期间,此前的批准仍然有效。

如果希望每次推送后都重新批准,请在分支规则中开启 Dismiss stale pull request approvals when new commits are pushed。如果分支规则限制了可以撤销 PR 审查的人员,请将 HeyDeer GitHub App 加入其中。

HeyDeer 的批准是否计入所需的批准数,由你的分支规则决定。如果每次合并都必须有人批准,请要求代码所有者审查,或要求至少两个批准。

如需在 HeyDeer 批准后自动合并 PR,请参见没有代码审查的团队中的分支规则配置。