0. はじめに
うちの会社では、Chatworkをコミュニケーションツールとして使っています。
社内の情報共有は勿論のこと、システム管理のアラートもChatworkに飛ばしてますが、最近ガンガン使っているAzure環境からWebHookを利用した監視アラートを実施すべく、まずはその第一歩となるPowerShellからのチャットワーク通知です。
1. PowerShellスクリプトを準備
test.ps1 ファイルを作成しましょ。
固定メッセージであれば、簡単です。PowerShellの場合、curl ではなくInvoke-RestMethod を利用します。
$ROOM_ID="<ChatWorkのルームIDを指定>"
$TOKEN_ID="<ChatWorkのトークンIDを指定>"
$TO_ADDRESS="[To:<TOに指定するID>]"
$MSG=$TO_ADDRESS + "`n" + "<送信したいメッセージ>"
Invoke-RestMethod -Uri "https://api.chatwork.com/v2/rooms/$ROOM_ID/messages" -Method POST -Headers @{"X-ChatWorkToken" = $TOKEN_ID} -Body "body=$MSG"
<Sample>
$ROOM_ID="123456789"
$TOKEN_ID="abcdefghijklmnopqrstuvwxyz"
$TO_ADDRESS="[To:99999999]"
$MSG=$TO_ADDRESS + "`n" + "Oh...Yes"
Invoke-RestMethod -Uri "https://api.chatwork.com/v2/rooms/$ROOM_ID/messages" -Method POST -Headers @{"X-ChatWorkToken" = $TOKEN_ID} -Body "body=$MSG"
あとは、作成したスクリプトをPowerShellで実行するだけです。
補足
・ルームIDの確認方法
送信したいチャットワークをブラウザに表示させて、URLを確認してください。
https://www.chatwork.com/#!rid**********
****** 部分が数字になってます。これが_ルームID_!!