starfish

I'm Multistack Engineer.

GitHubからSlackへ通知を送信するLambdaスクリプトを作った

2020-01-26GitHub

GitHubの各種通知をSlackへ通知するLambdaスクリプトを作成して公開しました。

github-to-slack-notification

github-to-slack-notificationについて

なぜ作ったのか

GitHubからSlackへ通知を送るためのアプリケーションは既にいくつか存在しています。

  • GitHubの公式App
  • PullPandaのPull Reminder
  • etc

過去にこれらを使ったこともあったのですが、以下のような問題点がありました。

  • GitHubの公式App

    • GitHubとSlackのアカウントの紐付けができないので、Slackでmentionが付かず、気付きにくい
  • Pull Reminder

    • アカウントの紐付けはできるが、リアルタイムでの通知がユーザーへのDMのみ

どれも利用はできるけど痒いところに手が届かず、これ!といったものがなかったので、それならば自分で作ってしまえというのが作るきっかけとなっています。

作成したいスクリプトの要件

今回のスクリプトの作成にあたって、考えた要件は以下の通りです。

  • リアルタイムに通知
  • GitHubとSlackのアカウントを紐つけて、Slackでmentionが付くようにする
  • DMではなく、特定のチャンネルに通知を送る
  • デプロイや管理が簡単
  • お金をかけない

特に最初の三つの要件を重要視しています。

通知にラグがある場合、開発スピードに影響が出てしまいます。

また、Slackでmentionが無いと、気づくまでの時間が長くなり、結果として開発スピードに影響が出てしまいます。

DMではなく、特定のチャンネルに通知を送りたい理由は、他のメンバーが何をしているのか追いやすくなるためです。

利用にあたって

ライセンスはMITなので、自由に勝手に使っちゃってください。

しかし、通知周りをこのスクリプトに頼りきるのは良くないと考えています。

たとえmention付きで通知していたとしても、相手は人間なので忘れたり放置したりすることもあり得ます。

そういったときはPull Reminderの通知で、定期的に放置されてるPull requestを通知する機能などを併用すると良いでしょう。

利用方法は README を参照してください。

Publicリポジトリとして公開していますので、bug fixや改善のPull requestは大歓迎です。