Commit a4743fa3 authored by Tomasz Maczukin's avatar Tomasz Maczukin

Merge branch 'notify-dep-status-failures-on-slack' into 'master'

Add slack notification option for 'dep status' check failures

See merge request gitlab-org/gitlab-runner!1072
parents 17290488 e357415e
......@@ -14,4 +14,28 @@ if [ "$(cat "${reportFile}")" == "[]" ] ; then
fi
jq -C . "${reportFile}"
#
# Borrowed from https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/support/notify_slack.sh
# and adjusted for our needs:)
#
if [[ -z "${CI_DEP_STATUS_NOTIFY_CHANNEL}" ]] || [[ -z "${CI_DEP_STATUS_NOTIFY_SLACK_WEBHOOK}" ]]; then
echo "Variables CI_DEP_STATUS_NOTIFY_CHANNEL and CI_DEP_STATUS_NOTIFY_SLACK_WEBHOOK are not defined"
echo "Will not send slack notification"
else
messageTmpFile="$(mktemp)"
cat > "${messageTmpFile}" << EOS
\`dep status\` check for <${CI_PROJECT_URL}> failed. Some dependencies should be updated:
\`\`\`
$(jq -M . "${reportFile}")
\`\`\`
See <${CI_JOB_URL}>
EOS
message=$(sed -e ':a' -e 'N' -e '$!ba' -e "s/\n/\\\n/g" "${messageTmpFile}")
payload='payload={"channel": "'"${CI_DEP_STATUS_NOTIFY_CHANNEL}"'", "username": "GitLab Runner Dep Status Check", "text": "'"${message//\"/\\\"}"'", "icon_emoji": ":mantelpiece_clock:"}'
curl -X POST -s -L --data-urlencode "${payload}" "${CI_DEP_STATUS_NOTIFY_SLACK_WEBHOOK}"
fi
exit 1
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment