配置审查
自动审查筛选条件
自动审查筛选条件决定 HeyDeer 自动审查哪些 PR。它们不限制你手动发起的审查;参见 PR 评论命令。
筛选条件如何生效
自动审查筛选条件位于工作区设置 → 审查规则的何时审查下,也可以在仓库的审查规则标签页中找到。审查时机为仅手动时无法编辑。
每一行包含一个字段、一个运算符(是以下任意一项、不是以下任意一项或没有标签)和若干值。PR 必须匹配每一行才符合条件。标签和用户名不区分大小写。
| 字段 | 值 |
|---|---|
| PR 标签 | 标签名称 |
| 作者 | GitHub 用户名,例如 alex 或 dependabot[bot] |
| 作者所属团队 | 你组织中的团队,包括子团队 |
| 作者与组织的关系 | 组织成员、外部协作者(有仓库访问权限,但不是组织成员)、其他外部作者 |
| 作者账号类型 | 个人、机器人(GitHub App 和机器人账号) |
| PR 状态 | 是草稿、不是草稿 |
| PR 来源 | 同一仓库、Fork 仓库 |
作者所属团队和作者与组织的关系仅在组织工作区中可用,并且需要 GitHub App 的组织 Members 权限。如果 HeyDeer 无法验证成员身份,自动审查不会开始。
默认筛选条件
新工作区默认包含三行:PR 状态 → 不是草稿、PR 来源 → 是以下任意一项 → 同一仓库和作者 → 不是以下任意一项 → dependabot[bot]、renovate[bot]、pre-commit-ci[bot]、snyk-io[bot]、snyk-bot,因此 HeyDeer 会跳过草稿、Fork PR 和依赖更新。没有任何行时,所有 PR 都符合条件。
依赖更新大多只改动版本号和锁文件,由测试来检查比审查更合适。如需审查某个依赖更新,在其中评论 @heydeer review 即可。其他机器人(例如编程智能体)创建的 PR 会和其他 PR 一样接受审查。
仓库筛选条件
| 条件来源 | 行为 |
|---|---|
| 沿用工作区筛选条件 | 工作区的各行条件都会生效,你在这里添加的行只能进一步缩小符合条件的 PR 范围。 |
| 为此仓库单独设置 | 仓库的行会替代工作区的行,初始内容为工作区条件的副本。可用来放宽筛选条件。 |
恢复工作区筛选条件会移除仓库自己的行。
常用配置
以下每种配置都假定保留默认的行。
| 目标 | 行 |
|---|---|
| 跳过所有机器人 | 作者账号类型 → 不是以下任意一项 → 机器人 |
| 跳过更多机器人 | 在“作者”行中添加用户名,例如 github-actions[bot] |
| 也审查依赖更新 | 删除“作者”行 |
| 也审查草稿 | 删除“PR 状态”行 |
| 要求特定标签 | PR 标签 → 是以下任意一项 → ai-review |
| 跳过特定标签 | PR 标签 → 不是以下任意一项 → skip-review |
| 只审查外部贡献者 | 作者与组织的关系 → 是以下任意一项 → 外部协作者、其他外部作者;删除“PR 来源”行 |
| 只审查某一个团队 | 作者所属团队 → 是以下任意一项 → backend |