-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make payload delimiter configurable #281
Conversation
The default key delimiter when flattening payloads is a period, which is not allowed in Slack workflow variable keys.
Thanks for the contribution! Before we can merge this, we need @rzumer to sign the Salesforce Inc. Contributor License Agreement. |
👋 Following up from #280 - I haven't heard of any immediate plans to support dot notation from Workflow Builder so I'm thinking this change is the right way to handle nested payloads going forward. Since this can change key values of webhook inputs I believe this is a breaking change and will plan to include it in the next major version. Really appreciate the patience on introducing this change so far. We'll take a look at other possible changes we might want to include in a major version before merging this, but please know it's not forgotten! |
Thanks for the follow-up! |
👋 Hey @rzumer! Been thinking about this a bit and I'm hoping to avoid making a breaking change here since it's uncertain whether dot notion might eventually be supported by Workflow Builder. Also not wanting to keep this held up since flattening payloads can be super useful, so I was wondering if instead of a replacement, the I was thinking of something like the following, but let me know what you think and if this sounds good for you! - uses: slackapi/slack-github-action@v1.26.0
with:
payload: |
{
"example": {
"value": "12"
}
}
+ payload-delimiter: '_'
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |
@zimeg Sorry for the delay, I've made that change and reverted the default to a period. I only tested the syntax in a JavaScript interpreter on its own this time since I don't have the build/deployment system set up for testing anymore, but it's a pretty simple change so hopefully that's fine with you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rzumer No worries- thanks for making the update! The code changes look solid but I think we'll also need to add this to action.yml
inputs with a bit or blurb of documentation in the technique 1 section for the new option 📚 After that I think this is set to merge! 🚀
Edit: It'd be nice to include a test case or two to confirm that these changes don't break later too 🙏
This reverts the default payload delimiter to a period and allows setting the `payload-delimiter` option to override it.
I updated the commit to document the new field and mention it in the readme. As for test cases, the development environment I'd set up for initial testing is gone, there is no existing test case that tests the flattened payload for reference on how to access it, and there are no testing instructions, so I just don't have the time to figure this all out right now, sorry for the trouble. By the way, this is tagged with |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #281 +/- ##
==========================================
+ Coverage 96.84% 97.91% +1.07%
==========================================
Files 2 2
Lines 95 96 +1
==========================================
+ Hits 92 94 +2
+ Misses 3 2 -1 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rzumer Apologies for the above force pushes- something strange happened with my remotes, but I did add a few tests to catch possible regressions! You were right to call out that this section wasn't being covered yet 😅
The docs additions you made are appreciated! 🙏 Even though we aren't changing the default delimiter to use an underscore as the default value, I do think it's worth encouraging it as a default when nested payloads are used. It's not the most ideal, but this seems like an alright workaround for these cases!
I have also tested this with a local workflow and am finding that configurations are working just as expected! 🚀 With that, I think it's time we can merge this for the next minor version - a good call here. We might need to update a few of our dependencies before this, but I'm hoping it'll be soon 📦
Thank you again for calling out the strangeness of how we were flattening these nested payloads ❤️
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@tailwindcss/forms](https://redirect.github.com/tailwindlabs/tailwindcss-forms) | [`0.5.7` -> `0.5.8`](https://renovatebot.com/diffs/npm/@tailwindcss%2fforms/0.5.7/0.5.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fforms/0.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fforms/0.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fforms/0.5.7/0.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fforms/0.5.7/0.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.16.1` -> `20.16.3`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.1/20.16.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.1/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.1/20.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.3.4` -> `18.3.5`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.4/18.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/18.3.4/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/18.3.4/18.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`3.3.18` -> `3.3.25`](https://renovatebot.com/diffs/npm/ai/3.3.18/3.3.25) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/3.3.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/3.3.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/3.3.18/3.3.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/3.3.18/3.3.25?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [dspy-ai](https://redirect.github.com/stanfordnlp/dsp) | `2.4.13` -> `2.4.14` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/dspy-ai/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/dspy-ai/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/dspy-ai/2.4.13/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/dspy-ai/2.4.13/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [eslint-config-next](https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config) ([source](https://redirect.github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next)) | [`14.2.6` -> `14.2.7`](https://renovatebot.com/diffs/npm/eslint-config-next/14.2.6/14.2.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-next/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-config-next/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-config-next/14.2.6/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-next/14.2.6/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [guardrails-ai](https://www.guardrailsai.com/) | `0.5.5` -> `0.5.6` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/guardrails-ai/0.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/guardrails-ai/0.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/guardrails-ai/0.5.5/0.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/guardrails-ai/0.5.5/0.5.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [httpx](https://redirect.github.com/encode/httpx) ([changelog](https://redirect.github.com/encode/httpx/blob/master/CHANGELOG.md)) | `0.27.0` -> `0.27.2` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/httpx/0.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/httpx/0.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/httpx/0.27.0/0.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/httpx/0.27.0/0.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [next](https://nextjs.org) ([source](https://redirect.github.com/vercel/next.js)) | [`14.2.6` -> `14.2.7`](https://renovatebot.com/diffs/npm/next/14.2.6/14.2.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/next/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/next/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/next/14.2.6/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next/14.2.6/14.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [openai](https://redirect.github.com/openai/openai-python) | `1.42.0` -> `1.43.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/openai/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/openai/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/openai/1.42.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/openai/1.42.0/1.43.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [openai](https://redirect.github.com/openai/openai-node) | [`4.56.0` -> `4.57.0`](https://renovatebot.com/diffs/npm/openai/4.56.0/4.57.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.56.0/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.56.0/4.57.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.4.41` -> `8.4.44`](https://renovatebot.com/diffs/npm/postcss/8.4.41/8.4.44) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.4.41/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.4.41/8.4.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [slackapi/slack-github-action](https://redirect.github.com/slackapi/slack-github-action) | `v1.26.0` -> `v1.27.0` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/slackapi%2fslack-github-action/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/slackapi%2fslack-github-action/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/slackapi%2fslack-github-action/v1.26.0/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/slackapi%2fslack-github-action/v1.26.0/v1.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | minor | | [tsx](https://tsx.is) ([source](https://redirect.github.com/privatenumber/tsx)) | [`4.18.0` -> `4.19.0`](https://renovatebot.com/diffs/npm/tsx/4.18.0/4.19.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsx/4.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsx/4.18.0/4.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.18.0/4.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | --- ### Release Notes <details> <summary>tailwindlabs/tailwindcss-forms (@​tailwindcss/forms)</summary> ### [`v0.5.8`](https://redirect.github.com/tailwindlabs/tailwindcss-forms/blob/HEAD/CHANGELOG.md#058---2024-08-28) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.7...v0.5.8) ##### Fixed - Support installing with alpha versions of Tailwind CSS v4 ([#​163](https://redirect.github.com/tailwindlabs/tailwindcss-forms/pull/163)) </details> <details> <summary>vercel/ai (ai)</summary> ### [`v3.3.25`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.25) [Compare Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.24...ai@3.3.25) ##### Patch Changes - [`4f1530f`](https://redirect.github.com/vercel/ai/commit/4f1530f): feat (ai/core): add OpenTelemetry Semantic Conventions for GenAI operations to v1.27.0 of standard - [`dad775f`](https://redirect.github.com/vercel/ai/commit/dad775f): feat (ai/core): add finish event and avg output tokens per second (telemetry) ### [`v3.3.24`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.24) [Compare Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.23...ai@3.3.24) ##### Patch Changes - [`d87a655`](https://redirect.github.com/vercel/ai/commit/d87a655): fix (ai/core): provide fallback when globalThis.performance is not available ### [`v3.3.23`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.23) [Compare Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.22...ai@3.3.23) ##### Patch Changes - [`b55e6f7`](https://redirect.github.com/vercel/ai/commit/b55e6f7): fix (ai/core): streamObject text stream in array mode must not include elements: prefix. ### [`v3.3.22`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.22) [Compare Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.21...ai@3.3.22) ##### Patch Changes - [`a5a56fd`](https://redirect.github.com/vercel/ai/commit/a5a56fd): fix (ai/core): only send roundtrip-finish event after async tool calls are done ### [`v3.3.21`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.21) [Compare Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.20...ai@3.3.21) ##### Patch Changes - [`aa2dc58`](https://redirect.github.com/vercel/ai/commit/aa2dc58): feat (ai/core): add maxToolRoundtrips to streamText - Updated dependencies \[[`aa2dc58`](https://redirect.github.com/vercel/ai/commit/aa2dc58)] - [@​ai-sdk/ui-utils](https://redirect.github.com/ai-sdk/ui-utils)[@​0](https://redirect.github.com/0).0.40 - [@​ai-sdk/react](https://redirect.github.com/ai-sdk/react)[@​0](https://redirect.github.com/0).0.53 - [@​ai-sdk/solid](https://redirect.github.com/ai-sdk/solid)[@​0](https://redirect.github.com/0).0.43 - [@​ai-sdk/svelte](https://redirect.github.com/ai-sdk/svelte)[@​0](https://redirect.github.com/0).0.45 - [@​ai-sdk/vue](https://redirect.github.com/ai-sdk/vue)[@​0](https://redirect.github.com/0).0.45 ### [`v3.3.20`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.20) [Compare Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.19...ai@3.3.20) ##### Patch Changes - [`7807677`](https://redirect.github.com/vercel/ai/commit/7807677): fix (rsc): Deep clone currentState in getMutableState() ### [`v3.3.19`](https://redirect.github.com/vercel/ai/releases/tag/ai%403.3.19) [Compare Source](https://redirect.github.com/vercel/ai/compare/ai@3.3.18...ai@3.3.19) ##### Patch Changes - [`7235de0`](https://redirect.github.com/vercel/ai/commit/7235de0): fix (ai/core): convertToCoreMessages accepts Message\[] </details> <details> <summary>stanfordnlp/dsp (dspy-ai)</summary> ### [`v2.4.14`](https://redirect.github.com/stanfordnlp/dspy/releases/tag/2.4.14): DSPy v2.4.14 [Compare Source](https://redirect.github.com/stanfordnlp/dsp/compare/2.4.13...2.4.14) </details> <details> <summary>vercel/next.js (eslint-config-next)</summary> ### [`v14.2.7`](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) </details> <details> <summary>encode/httpx (httpx)</summary> ### [`v0.27.2`](https://redirect.github.com/encode/httpx/blob/HEAD/CHANGELOG.md#0272-27th-August-2024) [Compare Source](https://redirect.github.com/encode/httpx/compare/0.27.1...0.27.2) ##### Fixed - Reintroduced supposedly-private `URLTypes` shortcut. ([#​2673](https://redirect.github.com/encode/httpx/issues/2673)) ### [`v0.27.1`](https://redirect.github.com/encode/httpx/blob/HEAD/CHANGELOG.md#0271-27th-August-2024) [Compare Source](https://redirect.github.com/encode/httpx/compare/0.27.0...0.27.1) ##### Added - Support for `zstd` content decoding using the python `zstandard` package is added. Installable using `httpx[zstd]`. ([#​3139](https://redirect.github.com/encode/httpx/issues/3139)) ##### Fixed - Improved error messaging for `InvalidURL` exceptions. ([#​3250](https://redirect.github.com/encode/httpx/issues/3250)) - Fix `app` type signature in `ASGITransport`. ([#​3109](https://redirect.github.com/encode/httpx/issues/3109)) </details> <details> <summary>vercel/next.js (next)</summary> ### [`v14.2.7`](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) [Compare Source](https://redirect.github.com/vercel/next.js/compare/v14.2.6...v14.2.7) </details> <details> <summary>openai/openai-python (openai)</summary> ### [`v1.43.0`](https://redirect.github.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1430-2024-08-29) [Compare Source](https://redirect.github.com/openai/openai-python/compare/v1.42.0...v1.43.0) Full Changelog: [v1.42.0...v1.43.0](https://redirect.github.com/openai/openai-python/compare/v1.42.0...v1.43.0) ##### Features - **api:** add file search result details to run steps ([#​1681](https://redirect.github.com/openai/openai-python/issues/1681)) ([f5449c0](https://redirect.github.com/openai/openai-python/commit/f5449c07580ac9707f0387f86f4772fbf0a874b6)) </details> <details> <summary>openai/openai-node (openai)</summary> ### [`v4.57.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4570-2024-08-29) [Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.56.2...v4.57.0) Full Changelog: [v4.56.2...v4.57.0](https://redirect.github.com/openai/openai-node/compare/v4.56.2...v4.57.0) ##### Features - **api:** add file search result details to run steps ([#​1023](https://redirect.github.com/openai/openai-node/issues/1023)) ([d9acd0a](https://redirect.github.com/openai/openai-node/commit/d9acd0a2c52b27983f8db6a8de6a776078b1d41b)) ##### Bug Fixes - install examples deps as part of bootstrap script ([#​1022](https://redirect.github.com/openai/openai-node/issues/1022)) ([eae8e36](https://redirect.github.com/openai/openai-node/commit/eae8e36fd5514eb60773646ec775badde50e783c)) ### [`v4.56.2`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4562-2024-08-29) [Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.56.1...v4.56.2) Full Changelog: [v4.56.1...v4.56.2](https://redirect.github.com/openai/openai-node/compare/v4.56.1...v4.56.2) ##### Chores - run tsc as part of lint script ([#​1020](https://redirect.github.com/openai/openai-node/issues/1020)) ([4942347](https://redirect.github.com/openai/openai-node/commit/49423472f2b0a0b63961174bedfc00bfd99d47f9)) ### [`v4.56.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4561-2024-08-27) [Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.56.0...v4.56.1) Full Changelog: [v4.56.0...v4.56.1](https://redirect.github.com/openai/openai-node/compare/v4.56.0...v4.56.1) ##### Chores - **ci:** check for build errors ([#​1013](https://redirect.github.com/openai/openai-node/issues/1013)) ([7ff2127](https://redirect.github.com/openai/openai-node/commit/7ff21273091a605e05173502654cfb9c90a4382e)) </details> <details> <summary>postcss/postcss (postcss)</summary> ### [`v8.4.44`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8444) [Compare Source](https://redirect.github.com/postcss/postcss/compare/8.4.43...8.4.44) - Another way to fix `markClean is not a function` error. ### [`v8.4.43`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8443) [Compare Source](https://redirect.github.com/postcss/postcss/compare/8.4.42...8.4.43) - Fixed `markClean is not a function` error. ### [`v8.4.42`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8442) [Compare Source](https://redirect.github.com/postcss/postcss/compare/8.4.41...8.4.42) - Fixed CSS syntax error on long minified files (by [@​varpstar](https://redirect.github.com/varpstar)). </details> <details> <summary>slackapi/slack-github-action (slackapi/slack-github-action)</summary> ### [`v1.27.0`](https://redirect.github.com/slackapi/slack-github-action/releases/tag/v1.27.0): Slack Send V1.27.0 [Compare Source](https://redirect.github.com/slackapi/slack-github-action/compare/v1.26.0...v1.27.0) #### What's changed This release introduces an optional `payload-delimiter` parameter for flattening nested objects with a customized delimiter before the payload is sent to Slack Workflow Builder when using workflow webhook triggers. ```diff - name: Send a custom flattened payload uses: slackapi/slack-github-action@v1.27.0 + with: + payload-delimiter: "_" env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} ``` Setting this value to an underscore (`_`) is recommended when using nested inputs within Workflow Builder to match expected input formats of Workflow Builder, but the actual value can be changed to something else! This "flattening" behavior **did** exist prior to this version, but used a period (`.`) which is not valid for webook inputs in Workflow Builder. <details> <summary>Flattening example</summary> The resulting output of flattened objects is not always clear, but the following can hopefully serve as a quick reference as well as [these specs](https://redirect.github.com/slackapi/slack-github-action/blob/5d1fb07d3c4f410b8d278134c714edff31264beb/test/slack-send-test.js#L264-L319) when using `_` as the delimiter: **Input**: ```json { "apples": "tree", "bananas": { "truthiness": true } } ``` **Output**: ```json { "apples": "tree", "bananas_truthiness": "true" } ``` Notice that `bananas_truthiness` is also stringified in this process, as part of updating values to match the expected inputs of Workflow Builder! </details> #### Changes In addition to the changes above, the following lists all of the changes since the prior version with the **complete changelog** changes found here: slackapi/slack-github-action@v1.26.0...v1.27.0 ##### 🎁 Enhancements - Make payload delimiter configurable in [https://github.com/slackapi/slack-github-action/pull/281](https://redirect.github.com/slackapi/slack-github-action/pull/281) - thanks [@​rzumer](https://redirect.github.com/rzumer)! ##### 📚 Documentation - doc: how to reply to a message in [https://github.com/slackapi/slack-github-action/pull/309](https://redirect.github.com/slackapi/slack-github-action/pull/309) - thanks [@​WilliamBergamin](https://redirect.github.com/WilliamBergamin)! ##### 🔒 Security - chore(deps): bump axios to 1.7.5 to address CVE-2024-39338 in [https://github.com/slackapi/slack-github-action/pull/332](https://redirect.github.com/slackapi/slack-github-action/pull/332) - thanks [@​zimeg](https://redirect.github.com/zimeg)! ##### 🧪 Maintenance - Add codecov coverage uploading in [https://github.com/slackapi/slack-github-action/pull/308](https://redirect.github.com/slackapi/slack-github-action/pull/308) - thanks [@​filmaj](https://redirect.github.com/filmaj)! - ci(test): run integration tests in a single sequential environment in [https://github.com/slackapi/slack-github-action/pull/310](https://redirect.github.com/slackapi/slack-github-action/pull/310) - thanks [@​zimeg](https://redirect.github.com/zimeg)! ##### 📦 Dependencies - Bump eslint-plugin-jsdoc from 48.2.2 to 48.2.3 in [https://github.com/slackapi/slack-github-action/pull/305](https://redirect.github.com/slackapi/slack-github-action/pull/305) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - Bump [@​slack/web-api](https://redirect.github.com/slack/web-api) from 7.0.2 to 7.0.4 in [https://github.com/slackapi/slack-github-action/pull/307](https://redirect.github.com/slackapi/slack-github-action/pull/307) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump sinon from 17.0.1 to 18.0.0 in [https://github.com/slackapi/slack-github-action/pull/313](https://redirect.github.com/slackapi/slack-github-action/pull/313) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump eslint-plugin-jsdoc from 48.2.3 to 48.2.7 in [https://github.com/slackapi/slack-github-action/pull/314](https://redirect.github.com/slackapi/slack-github-action/pull/314) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps): bump axios from 1.6.8 to 1.7.2 in [https://github.com/slackapi/slack-github-action/pull/315](https://redirect.github.com/slackapi/slack-github-action/pull/315) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps): bump codecov/codecov-action from 4.0.1 to 4.4.1 in [https://github.com/slackapi/slack-github-action/pull/316](https://redirect.github.com/slackapi/slack-github-action/pull/316) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump nyc from 15.1.0 to 17.0.0 in [https://github.com/slackapi/slack-github-action/pull/319](https://redirect.github.com/slackapi/slack-github-action/pull/319) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump eslint-plugin-jsdoc from 48.2.7 to 48.5.0 in [https://github.com/slackapi/slack-github-action/pull/321](https://redirect.github.com/slackapi/slack-github-action/pull/321) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump mocha from 10.4.0 to 10.5.2 in [https://github.com/slackapi/slack-github-action/pull/322](https://redirect.github.com/slackapi/slack-github-action/pull/322) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps): bump codecov/codecov-action from 4.4.1 to 4.5.0 in [https://github.com/slackapi/slack-github-action/pull/324](https://redirect.github.com/slackapi/slack-github-action/pull/324) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps): bump [@​slack/web-api](https://redirect.github.com/slack/web-api) from 7.0.4 to 7.2.0 in [https://github.com/slackapi/slack-github-action/pull/323](https://redirect.github.com/slackapi/slack-github-action/pull/323) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps): bump https-proxy-agent from 7.0.4 to 7.0.5 in [https://github.com/slackapi/slack-github-action/pull/320](https://redirect.github.com/slackapi/slack-github-action/pull/320) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump eslint-plugin-jsdoc from 48.5.0 to 48.10.2 in [https://github.com/slackapi/slack-github-action/pull/325](https://redirect.github.com/slackapi/slack-github-action/pull/325) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump chai from 4.4.1 to 4.5.0 in [https://github.com/slackapi/slack-github-action/pull/326](https://redirect.github.com/slackapi/slack-github-action/pull/326) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps): bump [@​slack/web-api](https://redirect.github.com/slack/web-api) from 7.2.0 to 7.3.2 in [https://github.com/slackapi/slack-github-action/pull/327](https://redirect.github.com/slackapi/slack-github-action/pull/327) - thanks [@​dependabot](https://redirect.github.com/dependabot)! - build(deps-dev): bump mocha from 10.5.2 to 10.7.0 in [https://github.com/slackapi/slack-github-action/pull/328](https://redirect.github.com/slackapi/slack-github-action/pull/328) - thanks [@​dependabot](https://redirect.github.com/dependabot)! #### 🎉 New contributors - [@​rzumer](https://redirect.github.com/rzumer) made their first contribution in [https://github.com/slackapi/slack-github-action/pull/281](https://redirect.github.com/slackapi/slack-github-action/pull/281)! </details> <details> <summary>privatenumber/tsx (tsx)</summary> ### [`v4.19.0`](https://redirect.github.com/privatenumber/tsx/compare/v4.18.0...157c3ec6bcf0b0a5e387080576404c00f7fd662f) [Compare Source](https://redirect.github.com/privatenumber/tsx/compare/v4.18.0...v4.19.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone America/Chicago, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/autoblocksai/autoblocks-examples). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Fixes #280.
Summary
The default key delimiter when flattening payloads is a period, which is not allowed in Slack workflow variable keys. This makes the
slack-send
action unusable with Slack workflows/incoming webhooks if the payload contains nested keys as there is no way to access those keys (as far as I can tell).For example if I want to include workflow metadata from GitHub in my payload with
${{ toJson(github) }}
, all nested keys are inaccessible, and if I want to compose this with other custom variables by nesting the serializedgithub
values like"github": ${{ toJson(github) }}, "some-key": "some-value"
, then all of the GitHub metadata is inaccessible because it's all prefixed withgithub.
and can't be entered as a variable key in a Slack workflow. Underscores and hyphens are both valid, so changing to an underscore makes all those nested keys accessible. Seeflat
docsTested on a private workflow by building and calling the action directly from my branch.
This leaves the default as a period but allows users to override it by setting the
payload-delimiter
option alongside the payload sent to the action.Requirements (place an
x
in each[ ]
)