rundeckでjobの一元管理が出来るようになりました。
次は通知が欲しい!となりますよね。
デフォルトでメール送信機能やwebhook機能がついていますがwebhookに関してはURLしか指定できないのでPOSTで色々送るということが出来ないようです
職場でもちょうどslackが導入されたのでいい機会という事でプラグインを探したところ二つほど見つかりました
rundeck-slack-incoming-webhook-plugin
前者に関してはここ1年ほど更新されていない + slackのwebhookの仕様が変わる前の仕様で作られた物だったようで通知できませんでした
なので後者の導入を進めていきます
インストール
release からjarを取得してlibext以下に置くだけでいい...はずだったのですがうまく動作してくれませんでした
今のところgradleを使ってビルドしてjarを生成しないとうまく設定できない模様(2015-10-31現在)
git clone https://github.com/higanworks/rundeck-slack-incoming-webhook-plugin.git cd rundeck-slack-incoming-webhook-plugin ./gradlew compileJava ./gradlew jar mv build/libs/rundeck-slack-incoming-webhook-plugin-0.5.jar /var/lib/rundeck/libext/
slack integrationの設定
Incoming WebHooksの設定を行います
デフォルトでPOSTするチャンネルを選んでボタンを押下するとURLが作成されます
後でも変更できるようなので特に考える必要はなさそうです
integrationを追加したら次の画面で各種設定項目を入力します
説明、名前、アイコン、送信するチャンネルなどが設定できます
ここで作成したWebhook URLの項目をメモしておきます
rundeck 設定
後はジョブを作成、編集時にnotificationの項目でslackで生成したURLを入力するだけ
jobスタート時、失敗時、成功時に通知が選べるので通知が必要な所に設定します
実際に通知がきたところ
簡単ですね!
ポストする内容に関してはいじる事が出来ないようです、メンション飛ばせる設定くらいは欲しいですね。。
incoming-webhookについてはcurlとかでもメッセージが送信できてしまうので結構便利に使えそうです