Search code examples
jsonwebhooksslack

curl custom slack notifications from jenkins


I am trying to send an custom slack notification to my slack channel using curl. Below my payload . Using curl to post notifications to Slack channel so that Team members could be able to see the Verison, s3 link and Directly they can access directly. Any suggestions or inputs would be greatly appreciated.

version=1.2.4
bundleversion=1.3.4.5
SLACK_MSG="Version=$version bundleversion=$bundleversion s3link:Random "

 curl -H "Content-type: application/json" -X POST --data-urlencode -d 
"payload='{
"username": "Kalyan",
"attachments": [
    {
        "color": "danger",
        "fields": [
            {
                "title": "Danger Event",
                "text": "$SLACK_MSG",
                "short": false
            }
        ]
    },
    {
        "color": "warning",
        "fields": [
            {
                "title": "Warning Event",
                "value": "This is a warning",
                "short": false
            }
        ]
    },
    {
        "color": "good",
        "fields": [
            {
                "title": "Good Event",
                "value": "This is good",
                "short": false
            }
        ]
    }
]
}'" https://hooks.slack.com/services/XXXXXX/XXXXXXX/XXXXXXXXXX 

 Below Jenkins Error 

 curl: (3) [globbing] nested brace in column 51
 curl: (3) Illegal characters found in URL    
curl: (6) Could not resolve host: bundleversion=1.3.4.5
curl: (3) Port number ended with 'R'
curl: (3) [globbing] unmatched close brace/bracket in column 52
curl: (3) Illegal characters found in URL
curl: (6) Could not resolve host: is
curl: (6) Could not resolve host: a
curl: (3) Illegal characters found in URL
curl: (6) Could not resolve host: is
curl: (3) [globbing] unmatched close brace/bracket in column 56

Any inputs Greatly Appreciated.


Solution

  • Your first danger attachment has a field with an invalid property called text specified - change this property to value to make it into a valid Slack field.

    You can troubleshoot Slack message payloads via the Slack Message Formatting page to see if they are valid: here's the corrected message payload.