仕組み
webhookとは?
この記事を参考にすると、外部のサービスを、指定のエンドポイント(url)を叩くと利用できると言う事らしい(さらっと読んでるので、違うかも)
通常外部のサービスをAPI利用する場合、tokenやkeyを取得してできるけど、 urlだけでできみたい(やってみてそう思いました)
手順
1.slackのwebhookurlを習得 2.railsにgemを追加 3.実装
slackのwebhookurlを習得
このurlから作成できる
urlを作成する時に、どの部屋に通知するか?も設定するので、 実行時に部屋を指定する必要はない
railsにgemを追加
これを追加
実装
これだけでできてしまう。
slack = Slack::Incoming::Webhooks.new "WEBHOOK_URL" slack.post "Hello World"
railsに実装するとき500エラーなどでslack通知をしたいと思うので, 調査しやすくするために、リクエストurlや、basktraceなども出力しておくと 良さげです。
slack = Slack::Incoming::Webhooks.new "webhook_url" message = <<~TEXT ``` 【~~時に予期せぬエラーが発生しました。】 error_url: #{request.url} referer: #{request.referer} error_class: #{error.class} error_message: #{error.message} backtrace: #{error.backtrace[0..5].join('\n')} ``` TEXT slack.post message
参考記事
webhookurlを習得