ChatWork APIを使ってHinemosのイベントをチャットに通知するようにしてみたら結構いい感じでした。
ChatWork投稿スクリプトの準備
下記のような投稿用スクリプトを用意しておきます。
chatwork
#!/bin/bash
usage() {
echo "Usage: $0 -r room_id -k api_key message" 1>&2
exit 1
}
while getopts r:k:h OPT
do
case $OPT in
r) room_id=$OPTARG
;;
k) api_key=$OPTARG
;;
h) usage
;;
\?) usage
;;
esac
done
shift $((OPTIND - 1))
message=$@
if [ -z "$api_key" -o -z "$room_id" -o -z "$message" ]; then
usage
fi
curl -sk -X POST -H "X-ChatWorkToken: $api_key" -d "body=$message" "https://api.chatwork.com/v1/rooms/$room_id/messages"
echo
これを適当な場所(例では /opt/scripts/chatwork
)に保存して chmod +x /opt/scripts/chatwork
しておきます。
通知設定の追加
用意したスクリプトを呼び出す通知設定をHinemosに追加します。
コマンドには以下を指定します。
/opt/scripts/chatwork -r <ルームID> -k <ChatWork APIキー> "[To:<ユーザID>] [info][title][#[PRIORITY_JP]][#[APPLICATION]] #[FACILITY_ID] の状態が更新されました (監視項目ID:#[MONITOR_ID])[/title]#[MESSAGE][/info]"
[To:ユーザID]
を入れとくことにより、Toメッセージにするのがミソ。
そうすればブラウザやスマホにプッシュ通知が行くので便利です。
監視設定
通知設定ができたら、あとはいつものように「通知」のところにさっきの通知設定を追加します。
実行結果
何か起きたらまずチャットにでるし、ログも追えるし通知もでる。
コメントもしやすい。
おすすめです。