Skip to content
Snippets Groups Projects
Unverified Commit e357415e authored by Tomasz Maczukin's avatar Tomasz Maczukin
Browse files

Add slack notification option for 'dep status' check failures

parent 96d88322
No related branches found
No related tags found
No related merge requests found
...@@ -14,4 +14,28 @@ if [ "$(cat "${reportFile}")" == "[]" ] ; then ...@@ -14,4 +14,28 @@ if [ "$(cat "${reportFile}")" == "[]" ] ; then
fi fi
jq -C . "${reportFile}" 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 exit 1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment