如何配置GitHub Workflow允许指定用户之一合并Master分支PR?
解决GitHub Workflow合并权限检查问题
你当前的Workflow设置了两个独立的job,每个job分别检查操作人是否是指定用户,由于GitHub要求所有job都成功才能通过Workflow检查,所以会出现必须两位授权用户都操作才能通过的问题。
要实现任意一位授权用户发起操作即可通过检查,只需将两个用户的检查逻辑合并到同一个job中,以下提供两种实现方式:
方式一:用Shell脚本判断授权用户列表
name: actions_on_master_branch on: pull_request_target: types: - opened - synchronize - reopened branches: - 'master' jobs: check_authorized_user: name: 检查授权合并用户 runs-on: ubuntu-latest env: AUTHORIZED_USERS: "ramseyolu,stephcurl" steps: - name: 验证操作人是否为授权用户 run: | if [[ ! " ${AUTHORIZED_USERS} " =~ " ${GITHUB_ACTOR} " ]]; then echo "错误:仅授权用户可合并到master分支" exit 1 fi echo "操作人是授权用户,检查通过"
方式二:用GitHub Actions表达式逻辑或判断
name: actions_on_master_branch on: pull_request_target: types: - opened - synchronize - reopened branches: - 'master' jobs: check_authorized_user: name: 检查授权合并用户 runs-on: ubuntu-latest steps: - name: 验证操作人是否为授权用户 if: ${{ github.actor != 'ramseyolu' && github.actor != 'stephcurl' }} run: exit 1 - name: 检查通过提示 run: echo "操作人是授权用户,检查通过"
核心改动说明
- 将两个独立job合并为一个,避免多个job必须全部通过的强制要求
- 通过逻辑判断确保操作人是两位授权用户中的任意一位即可通过检查
- 两种写法效果一致,可根据个人习惯选择
内容的提问来源于stack exchange,提问作者Pensec
相关产品推荐
相关产品推荐

