Skip to content

Update

Update #19

Workflow file for this run

name: Slack
on:
push:
branches:
- slack
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
pull-requests: write
steps:
- name: Get package information
id: package_info
run: |
CHANGES='[{"name": "@xx/xx", "version": "1.2.0"}, {"name": "@xx/xy", "version": "0.8.9"}]'
echo "changes=${CHANGES}" >> $GITHUB_OUTPUT
- uses: actions/github-script@v7
name: Parse changeset output
id: parse_changes
with:
script: |
const changes = ${{steps.package_info.outputs.changes}};
const blocks = [];
blocks.push({
type: "section",
text: {
type: "mrkdwn",
text: `🎉 New release!`
}
});
changes.forEach(package => {
blocks.push({
type: "section",
fields: [
{
type: "mrkdwn",
text: `*Package Name:*\n${package.name}`
},
{
type: "mrkdwn",
text: `*Version:*\n${package.version}`
}
]
});
});
const message = {
"text": "🎉 New release!",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "🎉 New release!"
}
},
...blocks
]
}
core.setOutput("blocks", JSON.stringify(message));
- name: Echo blocks
id: echo
run: |
echo ${{steps.parse_changes.outputs.blocks}}
# - name: Send custom JSON data to Slack workflow
# id: slack
# uses: slackapi/[email protected]
# with:
# # This data can be any valid JSON from a previous step in the GitHub Action
# payload: |
# ${{fromJson(steps.parse_changes.outputs.blocks)}}
# env:
# SLACK_WEBHOOK_URL: "https://hooks.slack.com/services/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"