tl;dr
Slack の Incoming Webhook を叩いて PowerShell からメッセージを投稿するメモ(参考にさせて頂いたページを写経な感じになっているが…)
参考
ありがとうございます。
メモ
事前に PowerShell が実行出来るようにしておく
ザクっと以下のような PowerShell スクリプトを…
slack.ps1 というファイル名で保存。
function slack_notification($message) { $payload = @{ text = $message; username = "PowerShell User"; icon_emoji = ":frog:" } ConvertTo-Json $notificationPayload Invoke-RestMethod ` -Uri "https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx" ` -Method Post ` -Body (ConvertTo-Json $payload) } slack_notification("Hello World")
curl の PowerShell 版 Invoke-RestMethod
コマンドレットを利用する。また、ポストする JSON メッセージは以下のようにハッシュを生成して ConverTo-Json
コマンドレットを利用して JSON 化する。
実行してみる
PS C:UsersAdministratorDocumentspowershell> powershell .slack.ps1 { "username": "PowerShell User", "icon_emoji": ":frog:", "text": "Hello World" } ok PS C:UsersAdministratorDocumentspowershell> powershell .slack.ps1 { "username": "PowerShell User", "icon_emoji": ":frog:", "text": "Hello World" } ok PS C:UsersAdministratorDocumentspowershell> powershell .slack.ps1 { "username": "PowerShell User", "icon_emoji": ":frog:", "text": "Hello World" } ok
以下のように Slack にメッセージが届いている。
おけおけ。
以上
日本語のメッセージを飛ばすのはもちょっと工夫する必要がありそうなので追々。
元記事はこちら
「PowerShell 関連〜Slack の Incoming Webhook を叩いて PowerShell からメッセージを投稿する」