daml/ci/daily_tell_slack.yml
Gary Verhaegen e28699dbb0
fix Slack messages (#8292)
When including commit titles in Slack messages, care has to be taken to
escape what Slack considers [control characters], namely `&`, `>` & `<`.

[control characters]: https://api.slack.com/reference/surfaces/formatting#escaping

CHANGELOG_BEGIN
CHANGELOG_END
2020-12-15 18:11:11 +01:00

28 lines
1023 B
YAML

# Copyright (c) 2020 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
parameters:
success-message: '\"$(Agent.JobName) passed: $COMMIT_LINK\"'
steps:
- bash: |
set -euo pipefail
eval "$(dev-env/bin/dade assist)"
COMMIT_TITLE=$(git log --pretty=format:%s -n1)
COMMIT_LINK="<https://dev.azure.com/digitalasset/daml/_build/results?buildId=$(Build.BuildId)|${${${COMMIT_TITLE//&/&amp;}//>/&gt;}//</&lt;}>"
if [ "$(Agent.JobStatus)" != "Succeeded" ]; then
MESSAGE="\":fire: :fire: <!here> :fire: :fire:\n$(Agent.JobName) *FAILED*: $COMMIT_LINK\n:fire: :fire:\""
else
MESSAGE="${{ parameters['success-message'] }}"
fi
PAYLOAD="{\"text\":$MESSAGE}"
if [ "$(Build.SourceBranchName)" = "master" ]; then
curl -XPOST \
-i \
-H 'Content-type: application/json' \
--data "$PAYLOAD" \
$(Slack.team-daml)
fi
displayName: report
condition: always()