HipChatへコマンドラインからメッセージを投稿する方法になります。
メールでアラートを送信する方法が主に使われている方法ですが、最近のメールサーバは送信元のチェックが厳しくなったので送信したメールが迷惑メールや遅延することが多くなっています。
そのため、メールではなく、確実にリアルタイムに通知する方法が必要になります。
HipChatは、JIRAを開発している会社が提供しているメッセージサービスです。
HipChatのAPIは、ver1とver2の2種類があります。
ver2のAPIは、OAuthを使って認証する方法になりますが、ver1はトークンだけの簡単な認証でメッセージを送信することができます。
curlを使って通知するシェルスクリプトは、以下のようになります。
[TOKE]は、HipChatの管理画面から発行したトークンを設定する。
[ROOM_ID]は、ROOM作成後にHipChatの管理画面から確認できるROOM IDを設定する。
#!/bin/bash BASE_URI="https://api.hipchat.com" API_VERSION="v1" # Notification権限を持つAPIトークンを記載します API_TOKEN=[TOKEN] COMMON_URI=${BASE_URI}/${API_VERSION} COMMON_PARAMETER="format=json&auth_token=${API_TOKEN}" # ROOM_IDです ROOM_ID=[ROOM_ID] # 投稿者名です FROM="Shell Script" # 本文です MESSAGE="明日は晴れのち、曇り したがって傘が必要になります" # curlコマンド curl ${COMMON_URI}/rooms/message?${COMMON_PARAMETER} -X POST -d "room_id=${ROOM_ID}&from=${FROM}&message=${MESSAGE}&message_format=text"