column

外部との連携 KompiraからSlackに通知する

障害発生や処理終了などの通知は、例えばmailto()関数を使うと電子メールで送る事が出来ますが、APIを持ったメッセージアプリケーションに送信することも可能です。今回はSlackに通知を行ってみましょう。

 
Slackの設定

お使いのSlackのアカウントにメッセージ受信用のチャネルを作成します。今回は#kompiraを作成します。
kompira_channel

次にSlackに外部からメッセージを送信できるように、”Incoming WebHooks”の設定をします。
channel settings > Add an app or integration > 検索窓に”incoming webhooks”
これでApp Directoryの”Incoming WebHooks”のページが表示されます。
Incoming Webhooks

左の”Add Configuration”ボタンをクリック

Post to channel

“Post to channel”画面で、チャネル名が”#kompira”になっている事を確認して、”Add Incoming Webhooks Integration”ボタンをクリック

“Setup Instructions”画面の”Webhook URL”を別途メモ帳などに記録しておいてください。(Kompiraのジョブフローに設定します。)
その他の項目は、続く”Integration Setting”も含めて、最低限はデフォルトでも良いですが、必要に応じて変更してください。
ここでは”Customize Name”を”Kompira2Slack”と変更してみます。

Customize Name

設定が完了したら”Save Setting”ボタンをクリックしてください。

 
Kompiraジョブフローの作成

続いてKompira側にジョブフロー「Slackへ通知」を次の様に作成します。

ここでパラメータ”url”には、Slackのセットアップ画面で表示された”Webhooks URL”を記載してください。

このジョブフローを実行すると、Slackに次のように投稿されます。
Entry on Slack

このようにKompiraからSlackのチャネルへの投稿は容易に可能です。
これを他のジョブフローから利用する場合には、例えば以下のように呼び出します。

単純なメッセージ送信以外にもリンクURLの送信やアイコン・色の変更なども行えます。リッチなメッセージ作成の詳細はSlack APIの”Message“をご参照ください。