add script for slack notification

v-nibyko/get-go-versions
Nikita Bykov 3 years ago
parent 97e0e3a660
commit 03ae7d095d

@ -0,0 +1,60 @@
<#
.SYNOPSIS
Sending messages using Incoming Webhooks
.PARAMETER Url
Required parameter. Incoming Webhook URL to post a message
.PARAMETER ToolName
Required parameter. The name of tool
.PARAMETER ToolVersion
Required parameter. Specifies the version of tool
.PARAMETER PipelineUrl
Required parameter. The pipeline URL
.PARAMETER ImageUrl
Optional parameter. The image URL
#>
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[System.Uri]$Url,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[System.String]$ToolName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[System.String]$ToolVersion,
[System.String]$PipelineUrl,
[System.String]$ImageUrl = 'https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png'
)
# Import helpers module
Import-Module $PSScriptRoot/helpers.psm1 -DisableNameChecking
# Create JSON body
$text = "Some jobs were not successful for the following detection pipelines of '$ToolName'\nLink to the pipeline: '$pipelineUrl'"
$jsonBodyMessage = @"
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "$text"
},
"accessory": {
"type": "image",
"image_url": "$imageUrl",
"alt_text": "$toolName"
}
}
]
}
"@
# Send Slack message
$null = Send-SlackPostMessageIncomingWebHook -Uri $url -Body $jsonBodyMessage
Loading…
Cancel
Save