GitHub上でのメンションをSlackに通知する

GitHub の Slack Integration の小ネタです。Slack Workspace に Integration を追加していて、/github subscribe owner/repo で subscribe している前提でのお話です。

GitHub の username と Slack の Display name が異なる場合、Issue や pull request 上で GitHub の username でメンションしても Slack の Display name に変換されません。 例えば GitHub username が enokawa で、Slack Display name が naoto_enokawa の場合、Issue/PR 上で @enokawa とメンションしても Slack では @enokawa と表示されるのみで、Slack 上で naoto_enokawa に対してメンションが飛ぶことはありません。

結論、/github signin することで GitHub username を Slack Display name に変換してくれます。ドキュメントにもその旨の記載があります。

At this point, your Slack and GitHub user accounts are not linked. You will be prompted to connect to GitHub. This is a primary step required to access the app. Alternatively, we can also connect by running /github signin.


Mentions will work only if you login to GitHub app in your Slack workspace. When you login to GitHub app with your GitHub id, we map it with your Slack id and ping you in Slack whenever you are mentioned in any of the GitHub notifications.

github.com

今回、チーム開発で GitHub を利用していて、コードレビュー依頼を pull request 上から行っても Slack に通知が飛ばなかったため、調査の上この設定を行いました。メンションを飛ばすために GitHub Actions や Slack の Webhook を用意するなどの記事を見ましたが、私たちのチームではこの設定のみで十分でした。