Rails Slackへメッセージを送信
前提条件
・ruby 2.6.6
・Rails 6.0.3.2
・macOS Catalina バージョン10.15.7
概要
webアプリ内で特定のアクションが起きた時にSlackへ通知する機能を実装したいと思い
実装の備忘録としてここに記す。
思ったよりかなり簡単だったので、ぜひご自身のwebアプリに活用していただけると幸いです。
gem 'slack-notifier'の導入
slackへ通知を送るにはgemを導入する必要があります。
gem 'slack-notifier'
bundle
これでgemの導入が完了します。
Slack側準備
まずチャンネルのWebhook URLを取得するために、下記のURLにアクセスします。
https://slack.com/services/new/incoming-webhook
ここでRailsからの通知を受け取るチャンネルを設定します。既存のチャンネル、もしくは新規にチャンネルを作ってもどちらでも可能です。
チャンネルを入力後、Incoming Webhook インテグレーションの追加をクリック。
その後に表示される、Webhook URLを取得します。
Slackに通知を飛ばす
飛ばしたいアクションの中に
notifier = Slack::Notifier.new(
'WEBHOOK_URL',
channel: '通知を送りたいチャンネル名',
username: 'notifier',
)
notifier.ping 'ユーザーが投稿を作成しました!'
と書き込みます。
最後に先ほど取得したWebhook URLを'WEBHOOK_URL'に入力します。
これで実装が完了となります。実際にアクションを起こし確認してみてください。
また、そのままWEBHOOK_URLを書き込むより、gemのdotenv-railsを使用したりして
環境変数として設定するといいと思います。
参考文献
・RailsプロジェクトでSlack通知を実装する
https://tech.mof-mof.co.jp/blog/rails-slack-notifier/
Author And Source
この問題について(Rails Slackへメッセージを送信), 我々は、より多くの情報をここで見つけました https://qiita.com/sharesence/items/46f4fa39d93892177fbe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .