chore(deps): update slackapi/slack-github-action action to v3#21
Open
smartway-bot[bot] wants to merge 1 commit intomasterfrom
Open
chore(deps): update slackapi/slack-github-action action to v3#21smartway-bot[bot] wants to merge 1 commit intomasterfrom
smartway-bot[bot] wants to merge 1 commit intomasterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.18.0->v3.0.1Release Notes
slackapi/slack-github-action (slackapi/slack-github-action)
v3.0.1: Slack GitHub Action v3.0.1Compare Source
What's Changed
Alongside the breaking changes of
@v3.0.0and a new technique to run Slack CLI commands, we tried the wrong name to publish to the GitHub Marketplace 🐙 This action is now noted as The Slack GitHub Action in listings 🎶 ✨🎨 Maintenance
Full Changelog: slackapi/slack-github-action@v3.0.0...v3.0.1
v3.0.0: Slack GitHub Action v3.0.0Compare Source
🎽 Running Slack CLI commands and the active Node runtime, both included in this release 👟 ✨
This major version updates the GitHub Actions required runtime to Node.js 24. Most GitHub-hosted runners already include this, but self-hosted runners may need to be updated ahead of planned deprecations of Node 20 on GitHub Actions runners.
📺 Enhancement: Run Slack CLI commands
This release introduces a new technique for running Slack CLI commands directly in GitHub Actions workflows. Use this to install the latest version (or a specific one) of the CLI and execute commands like
deployfor merges to main,manifest validatewith tests, and other commands.Gather a token using the following CLI command to store with repo secrets, then get started with an example below:
🧪 Validate an app manifest on pull requests
Check that your app manifest is valid before merging changes:
🔗 https://docs.slack.dev/tools/slack-github-action/sending-techniques/running-slack-cli-commands/validate-a-manifest
🚀 Deploy your app on push to main
Automate deployments whenever changes land on your main branch:
🔗 https://docs.slack.dev/tools/slack-github-action/sending-techniques/running-slack-cli-commands/deploy-an-app
Any Slack CLI command can be passed through the
commandoption without the "slack" prefix 🍀The
tokeninput accepts a service token for authentication. You can gather this token by runningslack auth tokenwith the Slack CLI and storing the value as a repository secret.The latest Slack CLI version is used by default, but a specific one can be set with the
versioninput.🏆 Huge thanks to @ewanek1 for explorations and prototypes toward the scripted CLI technique!
For full documentation on the CLI technique, check out the docs and explore the related pages 📚
What's Changed
👾 Enhancements
📚 Documentation
docs.slack.dev/tools*paths in #485 - Thanks @lukegalbraithrussell!🧰 Maintenance
🎁 Dependencies
👋 New Contributors
Full Changelog: slackapi/slack-github-action@v2.1.1...v3.0.0
v2.1.1: Slack Send v2.1.1Compare Source
What's Changed
This release fixes an issue where substituted variables might've broken valid JSON or YAML parsings when using the
payload-file-pathinput option.🐛 Bug fixes
📚 Documentation
🤖 Dependencies
🧰 Maintenance
Full Changelog: slackapi/slack-github-action@v2.1.0...v2.1.1
v2.1.0: Slack Send v2.1.0Compare Source
What's changed
This release improves error messages from odd
payloadparsings. Anapioption is now also available in inputs to change the destination of data with themethodtechnique.Read more on the new site for documentation: https://tools.slack.dev/slack-github-action/
👾 Enhancements
🐛 Bug fixes
📚 Documentation
🤖 Dependencies
🧰 Maintenance
💌 New Contributors
Full Changelog: slackapi/slack-github-action@v2.0.0...v2.1.0
v2.0.0: Slack Send v2.0.0Compare Source
YAML! And more API methods! With improved erroring! And more!
Sending data to Slack can now be done with the YAML format, and that data can be sent to [a Slack API method][methods] or technique of choice with the provided payload. And additional configurations can improve error handling or customize values between steps.
Breaking changes happen with this update and recommended migration strategies are detailed below. Adding this step to new workflows might prefer to follow the
READMEinstead 📚What's changed
Both inputs of payload variables, techniques for sending the payload, additional configurations, and expected outputs were changed:
The following sections detail these changes with recommended changes for existing GitHub workflows using this step and certain features.
If something seems off after making these changes, please feel free to [open an issue][issues] for discussion! 👾
Sending variables
The source of variables remains the same, using one of the following inputs:
payload: Inputs written inline in your GitHub workflow file.payload-file-path: Inputs gathered from a file.Only one payload input can be provided
This Action now exits with an error if both
payloadandpayload-file-pathare provided.Prior to updating: Both options could be provided with
payloadbeing preferred.Recommended change: Use either
payload,payload-file-path, or neither, when providing inputs. But don't include both.Only one technique to send can be provided
This Action now exits with an error if both
methodandwebhooktechniques are provided.Prior to updating: Both techniques could be used to send the same payload.
Recommended change: Use either
methodorwebhookto send data, but not both.Variable replacements no longer happen by default
This Action now sends payload provided in a
payload-file-pathfile exactly as is.Prior to updating: Templatized variables in input files were replaced with the matching
githuborenvvariable:{ "channel": "${{ env.SLACK_CHANNEL_ID }}", "text": "A commit was made: ${{ github.sha }}" }Changing the above file into something like this before being sent:
{ "channel": "C0123456789", "text": "A commit was made: 3982e204d2ae590e908dd1e279e63933da566c8c" }Recommended change: To continue replacing templated variables provided from the step
envor default GitHub event [context][event-context] and [payload][event-payload], set thepayload-templatedvariable totrue.Payload file path parsed option was removed
This Action removed the
payload-file-path-parsedinput option.Prior to updating: This option, which defaulted to
true, could be set tofalseto avoid replacing templatized variables in a providedpayload-file-pathfile.Recommended change: Remove this option if it's set to
falseor set the newpayload-templatedoption totrueto continue parsing the provided payload.🎁 Enhancements
Payloads can now be written in YAML
This Action now supports writing
payloadorpayload-file-pathvalues with YAML!Prior to updating: Values provided as payloads had to be JSON.
Recommended change: Optional. Format the input
payloadvalue as YAML to match the surrounding steps:Payload can now be written in unwrapped JSON
This Action now supports writing
payloadwith unwrapped JSON, where surrounding braces are removed.Prior to updating: Values provided as payloads had to be JSON.
Recommended change: Optional. Remove the surrounding braces from an existing
payloadvalue:Sending techniques
The techniques for sending variables remains the same, using one of the following:
Changes for different technique might be different and are included in each of the following sections.
Technique 1: Slack Workflow Builder
The webhook type must be specified in webhook inputs
This Action now requires setting the
webhook-typeas a step input value.Prior to updating: The webhook type could be omitted to send to Workflow Builder.
Recommended change: Set the
webhook-typevalue towebhook-trigger, as shown in the example below.Payload flattening no longer happens by default
This Action no longer flattens or stringifies payloads being sent to Workflow Builder by default.
Prior to updating: Payloads sent using a webhook trigger were flattened with a
.delimiter and have values stringified before being sent.Recommended change: If payload flattening is needed, use the
payload-delimiteroption. Inputs of Slack workflows should use an underscore_as a delimiter to match expected inputs of Workflow Builder:🎁 Enhancements
The webhook URL can be specified in webhook inputs
This Action can now set the
webhookURL as a step input.Prior to updating: The
SLACK_WEBHOOK_URLenvironment variable set this value.Recommended change: Optional. Use the
webhookinput value, as shown above, to set the webhook URL.Technique 2: Slack API methods
This technique can now send to [the Slack API methods][methods] and supports all [token][tokens] types!
The Slack API method now must be specified in inputs
This Action now requires that [the Slack API method][methods] is specified in inputs.
Prior to updating: Messages would be posted using
chat.postMessageorchat.updatebehind the scenes.Recommend change: Use the
methodthat matches the message being posted, or use a different method:Note: Steps with
update-tsshould usechat.updateas themethod.A token must be provided with other inputs
This Action expects a [
token][tokens] as a step input value.Prior to updating: Bot tokens were provided with the
SLACK_BOT_TOKENenvironment variable.Recommended change: Provide the
tokenscoped for the method as a step input, as shown above. TheSLACK_TOKENenvironment variable can also be used.Inputs to the Slack API method must be provided in payloads
This Action now passes all provided values for payloads to the Slack API method.
Prior to updating: The
channel-idandslack-messagevalues were used.Recommended change: Include the values sent to the Slack API method in the provided payload, as shown above.
Messages cannot be sent to multiple channels in one step
This Action can no longer send messages to multiple channels.
Prior to updating: Multiple channels could be provided to
channel-id.Recommended change: Update your GitHub workflow to repeat the same
chat.postMessagestep multiple times with different channel IDs.Technique 3: Slack incoming webhook
The webhook type must be specified for incoming webhooks
This Action now requires setting the
webhook-typeas a step input value.Prior to updating: The webhook type could be omitted to send to Workflow Builder.
Recommended change: Set the
webhook-typevalue toincoming-webhook, as shown in the example below:🎁 Enhancements
The webhook URL must be specified for incoming webhooks
This Action can now set the
webhookURL as a step input.Prior to updating: The
SLACK_WEBHOOK_URLenvironment variable set this value.Recommended change: Optional. Use the
webhookinput value, as shown above, to set the webhook URL.Additional configurations
🎁 Enhancements
Steps can exit with an error after a failed Slack API call
This Action can now exit if the Slack API returns an erroring response.
Prior to updating: Errors due to invalid payloads were ignored.
Recommended change: If a failing response from the Slack API should cause a step to fail, the
errorsvalue should be set totruesince it defaults tofalse:Failed requests can be retried various amounts of times
This Action can now retry requests that failed due to [rate limits][rate-limits].
Prior to updating: Rate limited requests were retried a fixed amount of times.
Recommended change: Set the
retriesoption to a setting of choice:Provided payloads can be flattened with a delimiter
This Action can now flatten and stringify payloads from any source.
Prior to updating: Payloads from the
payload-file-pathsource were flattened with a period.delimiter by default.Recommended change: Set the
payload-delimiteroption to an underscore_to flatten and stringify nested payloads:In the example above, data from the default GitHub event [context][event-context] and event [payload][event-payload] are flattened before being sent with a webhook to Workflow Builder, matching the expected input shape of Workflow Builder.
Provided payloads can have templated variables replaced
This Action can now replace templated variables from any source.
Prior to updating: Templated variables were replaced by default in payloads from the
payload-file-pathsource.Recommended change: Set the
payload-templatedoption totrueto replace templated variables in provided payloads: