メールでの通知以外の方法を検討しており、最近使っているSlackに通知を送るためのライブラリを作りました。

また、そのライブラリのソースを使ってバッチ処理などを実行した結果を送るアプリケーションを作りました。

(1)Slackへの通知を行うライブラリ

まずはSlackに独自のアプリを登録してトークンを取得する。

取得方法はこちらのページを参考に作成してください。

Slack API 推奨Tokenについて

ライブラリはGithub上においています。

KitalphaSlack.jar

メソッドは一つしか無いので迷うことは無いかと思います。

クラス Sender2Slack メソッド sendMessage(String token,String channel,String text,Boolean asUser,String userName)

Javadocにも書いていますが各引数はこんな感じです。

・token 必須 Slackで登録したアプリのトークン
・channel 指定しない場合はgeneralに通知します
・text 必須 Slackに送る文言
・asUser trueの場合はアプリを作成したslackbotで、指定しないもしくはfalseの場合はuserNameで指定した名前で通知します
・userName asUserに指定しないもしくはfalseの場合に指定可能 指定しない場合はアプリ名で通知します

実行環境はJava8以上となります。

 

(2)シェルを実行した結果をSlackに送るアプリ

作ったKitalphaSlackを使ってシェルを実行した結果を送るアプリを作りました。(ただしKitalphaSlackのクラスも内包したjarになっているので、KitalphaSlack.jarは不要です)

こちらもJava8以上となります。入手はこちら。

ShellOutputSlack.jar

パラメータはこれらです。

-token: 必須 Slackで登録したアプリのトークン 例) -token abcdefghijklmnopqrstuvwxyz
-shell: 必須 実行するシェルのパス 例) -shell /tmp/sample.sh
-channel: メッセージを送る先のチャンネル(デフォルトはgeneralになります) 例) -channel general
-output: メッセージの内容を定義します(デフォルトはoerになります。oer以外の値を設定した場合はエラーになります)

o…標準出力の内容
e…エラー発生時の出力内容
r…実行結果

例) -output oer

上の3つの組み合わせも使用できます。 例)標準出力+実行結果  → -output or

 

実際のコマンドはこれです。

java -jar ShellOutputSlack.jar -token abcdefghijklmnopqrstuvwxyz -shell / tmp/sample.sh -output o -channel random

設定に関する内容は-helpで見れます。

java -jar ShellOutputSlack.jar -help

 

 


コメント一覧

返信2019年12月9日 2:18 PM

Slackからメッセージを取得するライブラリ – whiletrue.com24/

[…] 以前の記事から参考ページへのリンクがあります […]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です