タイトルそのまんまで、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 }}