Skip to content

Instantly share code, notes, and snippets.

@particle4dev
Forked from DanPurdy/slack-status-update.sh
Created September 4, 2017 17:30
Show Gist options
  • Save particle4dev/77bdedb5bc325cdbc6330918387bbf44 to your computer and use it in GitHub Desktop.
Save particle4dev/77bdedb5bc325cdbc6330918387bbf44 to your computer and use it in GitHub Desktop.
Notify a slack channel about eslint and karma tests passing
cd ${bamboo.build.working.directory}
if [ -d "test-reports" ] 1> /dev/null 2>&1; then
curl -X POST --data-urlencode \
'payload={
"channel": "#SLACK-CHANNEL",
"username": "Bamboo Bot",
"text": "Built succesfully",
"icon_emoji": ":octocat:",
"attachments": [
{
"color":"#6DC736",
"title": "${bamboo.repository.name} build #${bamboo.buildNumber} successful",
"title_link": "${bamboo.resultsUrl}",
"text": "Build successful for branch ${bamboo.repository.git.branch}"
}
]
}' \
https://<YOUR-SLACK-HOOK-HERE>
else
curl -X POST --data-urlencode \
'payload={
"channel": "#SLACK-CHANNEL",
"username": "Bamboo Bot",
"text": "Build Failed",
"icon_emoji": ":octocat:",
"attachments": [
{
"color":"#BE2A00",
"title": "${bamboo.repository.name} build #${bamboo.buildNumber} failed",
"title_link": "${bamboo.resultsUrl}",
"text": "Build failure for branch ${bamboo.repository.git.branch}"
}
]
}' \
https://<YOUR-SLACK-HOOK-HERE>
fi
##check for eslint errors.
if (grep -c 'severity=\"error\"' test-reports/*.xml 1> /dev/null 2>&1) then
curl -X POST --data-urlencode \
'payload={
"channel": "#SLACK-CHANNEL",
"username": "Bamboo Bot",
"text": "Eslint Failed",
"icon_emoji": ":octocat:",
"attachments": [
{
"color":"#BE2A00",
"title": "Linting ${bamboo.repository.name} build #${bamboo.buildNumber} failed",
"title_link": "${bamboo.resultsUrl}",
"text": "Eslint encountered errors on branch ${bamboo.repository.git.branch}"
}
]
}' \
https://<YOUR-SLACK-HOOK-HERE>
else
curl -X POST --data-urlencode \
'payload={
"channel": "#SLACK-CHANNEL",
"username": "Bamboo Bot",
"text": "Eslint Successful",
"icon_emoji": ":octocat:",
"attachments": [
{
"color":"#6DC736",
"title": "Linting ${bamboo.repository.name} build #${bamboo.buildNumber} succeeded",
"title_link": "${bamboo.resultsUrl}",
"text": "Eslint passed for branch ${bamboo.repository.git.branch}"
}
]
}' \
https://<YOUR-SLACK-HOOK-HERE>
fi
## Check for Karma errors
if [ -e "test-reports/karma.mocha.json" ]; then
if (grep -c '\"failures\": 0,' "./test-reports/karma.mocha.json" 1> /dev/null 2>&1); then
curl -X POST --data-urlencode \
'payload={
"channel": "#SLACK-CHANNEL",
"username": "Bamboo Bot",
"text": "Karma tests passed",
"icon_emoji": ":octocat:",
"attachments": [
{
"color":"#6DC736",
"title": "Karma tests passed on ${bamboo.repository.name} build #${bamboo.buildNumber}",
"title_link": "${bamboo.resultsUrl}",
"text": "Karma tests successful for branch ${bamboo.repository.git.branch}"
}
]
}' \
https://<YOUR-SLACK-HOOK-HERE>
else
curl -X POST --data-urlencode \
'payload={
"channel": "#SLACK-CHANNEL",
"username": "Bamboo Bot",
"text": "Karma tests failed",
"icon_emoji": ":octocat:",
"attachments": [
{
"color":"#BE2A00",
"title": "Karma tests failed on ${bamboo.repository.name} build #${bamboo.buildNumber}",
"title_link": "${bamboo.resultsUrl}",
"text": "Karma tests failure for branch ${bamboo.repository.git.branch}"
}
]
}' \
https://<YOUR-SLACK-HOOK-HERE>
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment