タイトルそのまんまで、GitHub Actions でコードレビュー依頼ラベルが付いたら Slack に通知するようにしました。僕の所属する開発チームでは、GitHub でプルリクを作りコードレビューを依頼する際に、ラベルで「レビュー待ち」というものを付けて、Slack で開発メンバーに依頼を投げています。ただ人力で Slack 通知するため依頼が漏れていたりするケースがありました。そこで GitHub Actions を使って Slack 通知を自動化しました。

ちなみに GitHub にある Reviewers 機能を使えば同様のことが出来るのですが、いちいちメンバーを指定しないといけないのが面倒&レビューは特定メンバーではなく、開発チーム全体でレビューする文化なので、今回のアプローチになりました。

GitHub Actions の設定

設定は簡単で、ラベルを付けるトリガーがあるので、それを起点に Slack 公式の API をたたける Action があるので、それを利用するだけです。簡単ですね。

name: PullRequestNotify
on:
  pull_request:
    types: [labeled]
jobs:
  pull_request_notify:
    runs-on: ubuntu-latest
    if: github.event.action == 'labeled' && github.event.label.name == 'レビュー待ち'
    steps:
      - name: Send custom JSON data to Slack workflow
        id: slack
        uses: slackapi/slack-github-action@v1.19.0
        with:
          payload: |
            {
              "text": "<!here> レビュー待ちのプルリクが出来ました!🎉 みんなでレビューしましょ〜 💪 \n\n${{ github.event.pull_request.title }} \n${{ github.event.pull_request.html_url }}"
            }
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}