ヤサイブログ

徒然と

WindowsのコマンドプロンプトからSlackに通知してみた

本エントリーは下記環境で検証しています。

Windows OS Windows 10 Pro
BunBackup Ver 5.0 64bit

BunBackupの実行完了通知をSlackに送りたかったので、
WindowsコマンドプロンプトでSlackのWebHook URLにリクエストを送ってみました。

具体的なやり方は、GitHubに書いちゃってるんですが、
もしよければご覧になってください。
github.com

Slack連携処理抜粋

特に難しいことはしていないです。
チャンネル、メッセージ文言、ボット名、アイコンなどを指定してcurlコマンドを叩くだけ!
ただし、ダブルクォーテーションをエスケープしています。
下記の記述ルールを守ればいけるとのこと。

  • スペースを含むパラメータはダブルクォート「"」でくくる。
  • ダブルクォートの中にあるダブルクォートは、バックスラッシュ・円記号「\」でエスケープする
rem ### Send to Slack
SET SLACK_CHANNEL=#notifications
SET SLACK_TEXT=[Office]Successful backup process with BunBackup.
SET SLACK_BOTNAME=BunBackup Notification
SET SLACK_FACEICON=:bunbackup:
SET SLACK_WEBHOOKURL=%BB_SLACK_WEBHOOKURL%

curl -X POST --data-urlencode ^
payload="{\"channel\":\"%SLACK_CHANNEL%\", \"username\": \"%SLACK_BOTNAME%\", \"icon_emoji\": \"%SLACK_FACEICON%\", \"text\":\"%SLACK_TEXT%\"}" %SLACK_WEBHOOKURL%

f:id:yasay:20180319181454p:plain
無事にSlackに通知を送れました!