👌
PR を自動 Approve
ユースケース
保護ブランチの設定で 1 人以上のレビューが必須になっている。
逆マージなど特定の作業をするときは 1 人で PR 作成とマージを行いたい。
GitHub Actions ワークフロー
.github/workflows/approve.yml
name: Approve
on:
pull_request:
types: [ review_requested ]
jobs:
approve:
runs-on: ubuntu-20.04
timeout-minutes: 1
if: ${{ github.event.requested_reviewer.login == 'approve-bot' }}
env:
GH_TOKEN: ${{ github.token }}
NUMBER: ${{ github.event.number }}
steps:
- uses: actions/checkout@v2
- run: gh pr review $NUMBER --approve
- run: gh pr edit $NUMBER --remove-reviewer $REVIEWER
env:
REVIEWER: ${{ github.event.requested_reviewer.login }}
トリガー
特定のユーザー approve-bot
がレビュワーに設定されたときに実行します。
ラベルを付けたとき等お好みで変更してください。
gh コマンドで PR を操作
更新系の処理では GH_REPO
環境変数が使えないようなのでチェックアウトしておきます。
チェックアウトせずに GH_REPO を使用した場合
could not determine current branch: fatal: not a git repository (or any of the parent directories): .git
トークンは github.token
(= secrets.GITHUB_TOKEN
) を使用しているので Approve するユーザーは github-actions
になります。
Approve したら bot ユーザーはレビュワーから外しておきます。
Discussion