github actions で ci が通ったら reviewers を自動でアサインできるようにしてみた

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: gh pr list --search "status:success label:auto-assign" --json number,reviewRequests |  jq '.[]|select(.reviewRequests|length == 0)|.number' | xargs -I@ gh pr edit @ --remove-label auto-assign --add-reviewer ここを書き換える
        env:
          GITHUB_TOKEN: ${{ secrets.XXX_GITHUB_TOKEN }}

もし 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を絞る条件は何か甘いかもしれないんですが、今のところは動いていそうな感じです