これはTECHSCORE Advent Calendar 2015 の 7日目の記事です。
こんにちは、小野寺です。
私が所属しているチームでは、開発のチャットにSlackを使っています。
Slackを使っていると、あれもSlackで通知したい、これもSlackで通知したいという、
なんでもSlackに通知したいという気持ちになってきます。
今回はGo言語の勉強も兼ねてこんな通知を作ってみました。
Slackで通知したいこと
ターミナルでコマンドを実行して、標準出力をSlackにコピペする。
今回はよくやるこれを通知します。できたのが以下です。
-c Slackのチャンネルを指定します。
-l メッセージの左側のバーの色を指定します。(デフォルトで#dddddd, good, warning, danger)
結果
GoはビルドしてしまえばOSネイティブ環境で実行可能になるので、こういったツールを作ったときに導入しやすいと思います。
Attachmentsの注意点
SlackへのメッセージはIncoming Webhooksを使用しました。
Attachmentsというフォーマットを使ったのですが、AttachmentsではSlackのチャット上で使用できる pre や code がデフォルトでは使用できないようになっています。
今回は pre を使いたいので以下のような構造体を作成しました。
・SlackのMrkdwnフィールドをtrue
・AttachmentのMrkdwnInフィールドを["pretext","text","fields"]
とそれぞれ指定することでAttachmentsでも pre を使うことができるようになります。
以下、今回使用したコードです。
まとめ
今回は使用していませんが、Attachmentsでは画像やリンクなどリッチフォーマットでの通知が行えます。
今後もちょっとした業務の効率化・やっている感の向上・習慣化したいことなどを上手に通知していきたいです。