如何让Dependabot生成的PR不触发Codeowners自动指派评审?
解决方案:让Dependabot生成的PR不触发CODEOWNERS自动指派评审
由于GitHub的CODEOWNERS机制本身不支持按PR作者排除自动评审的规则,我们可以通过GitHub Actions工作流来实现需求:保留CODEOWNERS对用户PR的自动评审,同时移除Dependabot PR的所有自动指派评审人员。
具体实现步骤
- 保持现有CODEOWNERS文件不变,确保用户创建的PR能正常触发自动评审指派。
- 在仓库的
.github/workflows目录下创建一个新的工作流文件(比如remove-dependabot-reviewers.yml),内容如下:
name: Remove Dependabot Reviewers on: pull_request: types: [opened, synchronize] permissions: pull-requests: write jobs: remove-reviewers: runs-on: ubuntu-latest if: github.event.pull_request.user.login == 'dependabot[bot]' steps: - name: Remove requested reviewers run: | gh pr edit ${{ github.event.pull_request.number }} --remove-reviewer "@*" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
工作流说明
- 触发时机:当PR被创建或代码同步更新时自动执行。
- 权限配置:必须赋予工作流
pull-requests: write权限,才能修改PR的评审人员列表。 - 作者判断:仅针对作者为
dependabot[bot]的PR执行后续操作。 - 核心动作:通过GitHub CLI命令移除该PR的所有已指派评审人员,包括CODEOWNERS自动添加的评审。
这样设置后,CODEOWNERS会继续为用户创建的PR自动指派评审,而Dependabot生成的PR会在触发CODEOWNERS规则后,被工作流自动清空评审人员,最终实现需求中的两个目标。
内容的提问来源于stack exchange,提问作者Andreas Olsson
相关产品推荐
相关产品推荐

