Edited at

HinemosのイベントをChatWorkに投稿する

More than 3 years have passed since last update.

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に追加します。

2015-05-26_00h50_27.png

コマンドには以下を指定します。

/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メッセージにするのがミソ。

そうすればブラウザやスマホにプッシュ通知が行くので便利です。


監視設定

通知設定ができたら、あとはいつものように「通知」のところにさっきの通知設定を追加します。

2015-05-26_00h52_02.png


実行結果

2015-05-26_00h52_45.png

何か起きたらまずチャットにでるし、ログも追えるし通知もでる。

コメントもしやすい。

おすすめです。