如何在GitHub设置一级与二级审核者(分层审批流程)
在GitHub实现分层审批流程(A批准后流转至B)
方法一:结合分支保护规则与CODEOWNERS实现基础分层
- 配置分支保护规则
进入仓库Settings→Branches→Branch protection rules,为目标分支(如main)开启以下设置:
- 勾选
Require pull request reviews before merging - 勾选
Require review from Code Owners
- 配置分支保护规则
- 创建分层CODEOWNERS文件
在仓库根目录下创建.github/CODEOWNERS,按层级指定审批者:
注:仅靠CODEOWNERS无法强制“必须A先批再到B”,需结合以下方法补充逻辑。# 第一层:审核者A负责初始审批 * @审核者A的GitHub用户名 # 第二层:审核者B负责二次审批(需配合后续逻辑确保A先审批) * @审核者B的GitHub用户名- 创建分层CODEOWNERS文件
方法二:用GitHub Actions实现强制分层审批逻辑
编写Workflow文件(路径:.github/workflows/分层审批.yml),实现A批准后自动触发B的审批要求:
name: 分层审批流程 on: pull_request_review: types: [submitted] pull_request: types: [opened, labeled] jobs: first-approval-check: runs-on: ubuntu-latest steps: - name: 验证审核者A已批准 if: github.event.review.state == 'approved' && github.event.review.user.login == '审核者A的用户名' run: | gh pr edit ${{ github.event.pull_request.number }} --add-label "第一层审批通过" gh pr edit ${{ github.event.pull_request.number }} --remove-reviewer "审核者A的用户名" - name: 添加审核者B为必需审批人 if: contains(github.event.pull_request.labels.*.name, '第一层审批通过') run: | gh pr edit ${{ github.event.pull_request.number }} --add-reviewer "审核者B的用户名"
- 配置要求:
- 给仓库Actions分配
contents: write和pull-requests: write权限 - Workflow中使用
gh命令需配置有效的GitHub Token
- 给仓库Actions分配
注意事项
- 确保审核者A、B拥有仓库的Pull Request审核权限
- 测试Workflow触发逻辑,避免审批顺序异常
内容的提问来源于stack exchange,提问作者user1486507
相关产品推荐
相关产品推荐

