我在 github 中有一个存储库,它指定了 CODEOWNERS,并且有一个分支规则,需要在合并之前获得代码所有者的 PR 批准。太棒了。
但是,我希望团队的其他成员也自动添加为审阅者,即使他们的批准不计入合并检查。对于他们来说看到 PR 并发表评论/询问还是有好处的。
ChatGPT 告诉我使用 Github Action 来执行此操作,如下所示:
name: Add Default Reviewers
on:
pull_request:
types:
- opened
jobs:
add-reviewers:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get Pull Request Number
id: pr_number
run: echo "PR_NUMBER=${{ github.event.number }}" >> $GITHUB_ENV
- name: Add Default Reviewers
run: |
curl -X POST \
-H "Authorization: token ${{ secrets.YOUR_GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/OWNER/REPO/pulls/${{ env.PR_NUMBER }}/requested_reviewers \
-d '{
"reviewers": ["reviewer1", "reviewer2"],
"team_reviewers": []
}'
这是实现这一要求的最明智的方法吗?
我正在开发一项名为 Friendly Fire 的相关服务,该服务旨在解决 CODEOWNERS 尝试解决的问题。
您可以将 GitHub 审阅者添加到存储库,定义路径模式,它将以循环方式分配审阅者。
额外的好处是,您可以将 GitHub 用户连接到他们的 Slack 句柄,从而启用直接 Slack 通知和单独提醒。 Friends Fire 也不会在 Slack 中分配生病或度假的用户(或您为此配置的任何用户表情符号)。
我在这里更深入地探讨了代码所有者问题。