Slack Examples of integrating Slack with PowerShell Universal.
Send Message to Slack
This example uses Universal API .
This example uses a custom Slack webhook to send a message from a Universal API.
Copy Start-PSUServer -Port 8080 -Configuration {
New-PSUEndpoint -Url "/slack" -Method POST -Endpoint {
$Body = @{
text = "Hello"
} | ConvertTo-Json
Invoke-RestMethod -Uri 'https://hooks.slack.com/services/0000000000/00000000/00000000000000000' -Body $Body -Method POST
}
}
You can invoke this API by calling Invoke-RestMethod
Copy Invoke-RestMethod http://localhost:8080/slack -Method POST
The following message will show up in Slack.
Send Slack Message on Failed Job
This following example uses Universal Automation . This example requires a license .
This example takes advantage of triggers to send a message to Slack when a job fails within PowerShell Universal. We define two scripts. The first script simply throws and error and is set to fail by using the -ErrorAction Stop
setting. The second script receives the job that failed and sends a message to the team's Slack channel.
Copy Start-PSUServer -Port 8080 -Configuration {
Set-PSULicense -Key 'license'
New-PSUScript -Name 'ScriptFailed' -ScriptBlock {
$Body = @{
text = "Job $($Job.Id) failed!!"
} | ConvertTo-Json
Invoke-RestMethod -Uri 'https://hooks.slack.com/services/00000000/00000000/000000000000000' -Body $Body -Method POST
}
New-PSUScript -Name 'FailingScript' -ScriptBlock {
throw "NoooooO!"
} -ErrorAction Stop
New-PSUTrigger -Name 'ScriptFailed' -TriggerScript 'ScriptFailed.ps1' -EventType 'JobFailed'
}
When the failing script is running, it will report failure in the UI.
Due to the failure, the trigger will execute and send a message to Slack.