LoginSignup
29

More than 5 years have passed since last update.

コンソール上の処理終了通知をslackに投稿する

Last updated at Posted at 2016-09-24

前置き

偉大なる先駆者様
[10分で出来る]シェルスクリプトの結果をslackに投稿

上記のスクリプトを使用して、コマンドラインで処理終了したタイミングでslackに通知を飛ぶようにする。
処理時間の長いスクリプトを流した後の、終了アラートに最適なコマンドになります。

<注意>
処理終了を通知した欲しいだけなので、標準出力はそのままコンソールに出します。
処理{成功|失敗}はコンソールを見て確認しましょう。
</注意>

アプリのslackにてchanelを作る

自分のslack上に通知専用チャンネルnotify-me を作成

01.png

Webのslackにて、WebHookを設定

integrationの設定

Incoming WebHooks

02.png

先ほど、作ったchannelを設定する。
後はデフォルトで。

03.png

saveしましょう

04.png

後ほど、使用するのでWebhook URLをコピーしておく。
下記のような書式のもの
https://hooks.slack.com/services/AAA/BBB

使用するシェルを設定する

スクリプト設置

先駆者様のスクリプトを一部改変したもの
iganari/notify-me.sh

上記の中で設定するものは4つ

  • WEBHOOK
    • 先ほど設定したWebHook URLを入れる
  • CHANNEL
    • slack上の通知したいchannelの固定する
  • BOTNAME
    • botの名前を設定可能
      • 愛着が湧く名前がいいかも。
  • FACEICON、{icon_url|icon_emoji}

    • 通知するbotのアイコンを指定。
    • slackに登録してあるアイコンを使いたければicon_emoji、URLを使いたければicon_urlを使用する
      • 愛着が湧くアイコンがいいかも。
  • 上記を元に設定してみる

### Incoming WebHooksのURL
WEBHOOKURL="https://hooks.slack.com/services/AAA/BBB"
### slack 送信チャンネル
CHANNEL=${CHANNEL:-"#notify-me"}
### slack 送信名
BOTNAME=${BOTNAME:-"Claudia M"}
### slack アイコン
ICON='icon_url'
FACEICON="https://pbs.twimg.com/profile_images/474832226773770240/MMctMu9Y.png"

.bashrcに登録

最後にcliから呼び出せるように、.bashrcにaliasを登録します。自分はMac環境ですのでOSが違う場合にはよしなに書き直してください。

~/cmd-shell/slack/notify-me.sh
  • ~/.bashrcにaliasを登録
    • メンション機能をつけると通知が分かりやすくなると思います。
~/.bashrc
+ ### notify-me scripts
+ alias nm="echo '@cigaguri 頼まれた処理が終わったわよ!!' | sh ~/cmd-shell/slack/notify-me.sh"

動作確認

例として、vagrant upが終了したタイミングでslackに通知して貰います。
処理終了を通知した欲しいだけなので、標準出力はそのままコンソールに出します。(2回目

$ vagrant up ; nm
Bringing machine 'svr01' up with 'virtualbox' provider...
==> svr01: Importing base box 'bento/centos-6.7'...
==> svr01: Matching MAC address for NAT networking...
==> svr01: Checking if box 'bento/centos-6.7' is up to date...

割愛

slackに通知が来る

06.png

これで日々の処理が少し幸せになりますね♡

追記

後記録書きました。
併せて読んで頂けると幸いです。

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
29