PR のレビュー依頼したいけど CI 通ってない。CIが通ったら依頼を出そうと思って忘れることがそこそこあります。
そのため github のラベルを付けといたら、CIが通ったタイミングでレビュー依頼を出してくれる君を作りました。
name: auto-assign on: schedule: - cron: "*/10 1-10 * * 1-5" jobs: init-echo: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: checkout2 run: | ${{ github.workspace }}/script/ci/cron-auto-assign.sh env: GITHUB_TOKEN: ${{ secrets.XXX_GITHUB_TOKEN }}
cron-auto-assign.sh
#!/bin/bash set -x for number in `gh pr list --search "label:auto-assign" --json number --jq ".[]|.number"`; do gh pr checks ${number} && gh pr edit ${number} --remove-label auto-assign --add-reviewer ここを書き換える done
もし Auto assignment を利用していた場合には add-reviewer に team を入れたらランダムにアサインされます.
Managing code review settings for your team - GitHub Docs
悩んだ点は、1つはCIが通ったタイミングで発火するちょうど良いトリガーが見つからなかったので cron で定期実行していることです。
これは何かいい方法があったら変えたいです。
もう一つはgithub cli
の不具合でsecrets.GITHUB_TOKEN
では権限が足りずに動かないこと。
既に issue になっていますが、不必要に強い権限を要求するようになっているようです。
github.com
そのため、暫定的に personal access token を利用して回避しております。
対象のPRを絞る条件は何か甘いかもしれないんですが、今のところは動いていそうな感じです