LoginSignup
1
0

More than 3 years have passed since last update.

RailsからSlackに通知する

Posted at

はじめに

こちらの記事では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

スクリーンショット 2019-09-05 23.17.52.png

そして好きなチャンネルを指定して、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へ通知ができたのではないでしょうか?😁

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0