Markdown blocks are not sending with incoming webhooks
Hey folks, I'm trying to send a message with some markdown in it, but its not being honored.
According to the reference these should work? https://api.slack.com/reference/block-kit/blocks#markdown
Here's my example with inline blocks
- name: Announce Release
uses: slackapi/[email protected]
with:
webhook: ${{ secrets.MY_SECRET }}
webhook-type: incoming-webhook
errors: true
payload: |
text: "New Release: Shared Helm Chart: 1.2.3"
blocks:
- type: header
text:
type: plain_text
text: ":tada: New Release: Shared Helm Chart: 1.2.3"
- type: divider
- type: section
text:
type: mrkdwn
text: "## :notebook: Release notes"
- type: section
text:
type: mrkdwn
text: Blah
- type: divider
- type: section
text:
type: mrkdwn
text: "** :computer: Release URL**"
- type: section
text:
type: mrkdwn
text: http://my_url.com
And this is what it ends up looking like:
I have also tried with a payload file: GHA
- name: Announce Release
if: github.event_name == 'push' && github.ref == 'refs/heads/slack-releases3'
uses: slackapi/[email protected]
with:
payload-file-path: .github/workflows/payload.json
webhook: ${{ secrets.MY_SECRET }}
webhook-type: incoming-webhook
errors: true
JSON
{
"channel": "${{ env.SLACK_CHANNEL_ID }}",
"text": "Messages met made meetings meet",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "# Slack notifications sound following the most recent commit pushed"
}
}
]
}
Result
I would expect to be able to use bold and
HEADER
and other markdown fun in a block called mrkdwn.
Am I doing something wrong?
Hey @wesbrownfavor! 👋 Thanks for sharing these examples and question 👾 ✨
The markdown block is somewhat different than other mrkdwn or plain_text types and should be written as top-level blocks instead:
payload: |
text: "New Release: Shared Helm Chart: 1.2.3"
blocks:
- type: header
text:
type: plain_text
text: ":tada: New Release: Shared Helm Chart: 1.2.3"
- type: divider
- type: markdown
text: "## :notebook: Release notes"
- type: markdown
text: Blah
- type: divider
- type: markdown
text: ":computer: **Release URL**"
- type: markdown
text: "[http://my_url.com](http://my_url.com)"
Right now I'm finding that this works well with the chat.postMessage method technique but is returning unexpected errors with incoming-webhook using the same payload, though this isn't related to these steps AFAICT 🔍
I'll share this finding with the team because this seems unexpected to me, but I'm also hoping for now this is helpful! Please do let me know if other formatting issues or parsing problems continue in the meantime 🙏
I've bandaided my issue using headers but I'll keep this in mind going forward. Let me know if I should close this out or let it ride.
Thank you for your response!
Still an issue, unfortunately.
Not possible to post Slack messages with markdown block to incoming-webhook URL.
Keep getting error:
{
ok: false,
response: "Request failed with status code 500",
time: 1753868163
}