はじめに
こちらの記事ではRailsでSlackに通知する方法をご紹介いたします^^
意外と簡単に実装できます😄
前提:Railsの環境構築済み、Slackへ登録済み
WebHookURLを取得する
そもそもWebHookとは、、?
WebHookとは、『あるサービスに通知する』というとイメージしやすいかもしれません。
このあるサービスに通知するには、どこへ通知を送信すれば良いかが重要だと思います。
その時に使用されるのが、WebHookURLになります^^
例えばとある会社のWebサイトが見たい!と思った時は、「~~~.co.jp」というURLにアクセスすると思います。この場合、URLがわかれば
Webサイトがブラウザに返ってきて見ることができますね。
WebHookの場合も同じようなものでとあるURLにアクセスする
ことによって、Slackへ通知を行なっているのです。
厳密に言いますと、前者はGETリクエスト
、後者はPOSTリクエスト
になります。
興味がある方は調べてみてください^^
まず、SlackのWebサイトにログインして、アプリを検索する > カスタムインテグレーション > Incoming Webhook
と行ってみてください!!
URL : https://slack.com/signin
そして好きなチャンネルを指定して、Incoming Webhook インテグレーションの追加
ボタンをクリックしてください。
するとWebhook URLが表示されると思いますので、コピーしてください!
このURLをRailsで使用していきます。
RailsからWebHookURLを使って通知を送る
通知を送るためにslack-notifier
というGemを使用します。
こちらは問題ないかと思います。bundle install
コマンドを忘れずに!!
# Gemfile
gem 'slack-notifier'
次に、コントローラーやモデルに下記を記述します。
# Slackへ通知を行う
notice = Slack::Notifier.new('先ほどのWebHookURLを入れます')
notice.ping("Hello World")
Slack::Notifierのインスタンスを作成する際にWebHookURLを指定し、pingメソッドを呼び出すとSlackに通知することができます。その引数として、Slackへ送る文章(Hello World)を指定していますね^^
終わりに
RailsからSlackへ通知する方法をご紹介しました!
想像していたよりも簡単にSlackへ通知ができたのではないでしょうか?😁