GitHub Action that posts a message to a Slack channel
Optional The Slack auth token. This is only required if environment variable SLACK_BOT_TOKEN is not set.
Required The channel name to post to (example: #general)
Optional The timestamp ID of the parent message to reply to (e.g., the ts output from a previous Slack message call)
Required The message text to post. See Slack's documentation on formatting.
Notes:
- quotes, backticks,
$(...)and$VARin the text are posted literally, never executed or expanded - backslash escapes are interpreted the way bash's
$'...'quoting does (e.g.\nbecomes a newline and\'becomes'), so write\\for a literal backslash. In a double-quoted YAML string, YAML removes one layer of escaping first, so double each backslash again (example:text: "C:\\\\temp, won\\'t"postsC:\temp, won't, the same asC:\\temp, won\'tin a|block scalar) - environment variables will only be expanded if referenced using the
envGitHub Action context${{ env.MY_VAR }}format (example:text: "This is the value of MY_VAR: ${{ env.MY_VAR }}")
Optional Whether links in the message should be unfurled (default: true)
The runner's bash must be version 4.4 or newer (GitHub-hosted runners are).
The timestamp ID of the message (can be used to make subsequent Slack messages a threaded reply)
The Slack API error code (e.g. channel_not_found, or ratelimited on an HTTP 429) when Slack rejected the message. The step fails in that case, so read this from a step with continue-on-error: true.
- name: Post Slack message
uses: ynab/slack-post-message-action@v1.6
with:
token: ${{ secrets.SLACK_API_TOKEN }}
channel: "#general"
text: ":tada: This is a test from the ${{ env.GITHUB_ACTION }} workflow! <https://github.com/ynab/slack-post-message-action|Action Documentation>"