🐙

GitHub Actions でプルリクの assignees を自動で設定する

2023/06/29に公開

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-projectsread 権限がないとエラーになる。不思議な気もするが、プルリクのラベルの参照等でもこの permission が必要なので、今回の assignees など GitHub Procjects に関係するようなものにはこの permission が必要なのだと思われる。

株式会社ゆめみ

Discussion