🐙
GitHub Actions でプルリクの assignees を自動で設定する
GitHub のプルリクエストで、是非はともかく assignees
を自身に設定する運用をしているプロジェクトはまあまあ多いと思う。
その場合、毎回、手動で設定するのは面倒なので、次のような GitHub Actions のワークフローを用意しておくとよさそう。
.github/workflows/assign.yml
name: Assign
on:
pull_request:
types:
- opened
jobs:
assign:
name: Assign
if: endsWith(github.actor, '[bot]') == false && github.event.pull_request.assignee == null
runs-on: ubuntu-latest
permissions:
pull-requests: write
repository-projects: read
steps:
- name: Add event actor to assignees
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: gh pr edit ${{ github.event.number }} --add-assignee ${{ github.actor }}
GitHub Actions のワークフローでは GitHub CLI が標準で利用できるのでそれを利用している。${{ github.actor }}
はプルリク作成者の GitHub アカウントである。Dependabot や Renovate がプルリクを作成する場合もあるので、その場合はこの job が動かないようにしている。
permissions
には repository-projects
の read
権限がないとエラーになる。不思議な気もするが、プルリクのラベルの参照等でもこの permission が必要なので、今回の assignees など GitHub Procjects に関係するようなものにはこの permission が必要なのだと思われる。
Discussion