CEXT-6508: implement webhook configuration updates - #627
Conversation
🦋 Changeset detectedLatest commit: 60030a4 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
98341d7 to
d1146fd
Compare
62a6d00 to
5d710f6
Compare
5d710f6 to
1943e2b
Compare
|
/snapshot |
📦 Alpha packages published
Install: npm install @adobe/aio-commerce-lib-app@2.0.0-alpha-20260820093849
npm install @adobe/aio-commerce-sdk@2.0.0-alpha-20260820093849You can also install by just specifying the tag: npm install @adobe/aio-commerce-sdk@alphaBut note that the tag will always point to the latest |
1943e2b to
08a7303
Compare
|
/snapshot |
📦 Alpha packages published
Install: npm install @adobe/aio-commerce-lib-app@2.0.0-alpha-20260820102237
npm install @adobe/aio-commerce-sdk@2.0.0-alpha-20260820102237You can also install by just specifying the tag: npm install @adobe/aio-commerce-sdk@alphaBut note that the tag will always point to the latest |
08a7303 to
5aec05d
Compare
|
/snapshot |
📦 Alpha packages published
Install: npm install @adobe/aio-commerce-lib-app@2.0.0-alpha-20260820105026
npm install @adobe/aio-commerce-sdk@2.0.0-alpha-20260820105026You can also install by just specifying the tag: npm install @adobe/aio-commerce-sdk@alphaBut note that the tag will always point to the latest |
5aec05d to
ea34f3f
Compare
ea34f3f to
c6932f1
Compare
c6932f1 to
b24029e
Compare
1cd7413 to
c7785e1
Compare
|
/snapshot |
📦 Alpha packages published
Install: npm install @adobe/aio-commerce-lib-app@2.0.0-alpha-20260820115733
npm install @adobe/aio-commerce-sdk@2.0.0-alpha-20260820115733You can also install by just specifying the tag: npm install @adobe/aio-commerce-sdk@alphaBut note that the tag will always point to the latest |
c7785e1 to
390b443
Compare
|
/snapshot |
📦 Alpha packages published
Install: npm install @adobe/aio-commerce-lib-app@2.0.0-alpha-20260820122858
npm install @adobe/aio-commerce-sdk@2.0.0-alpha-20260820122858You can also install by just specifying the tag: npm install @adobe/aio-commerce-sdk@alphaBut note that the tag will always point to the latest |
390b443 to
b424ca1
Compare
Extend the webhooks domain's upgrade plan/apply to detect field-level config changes (fields, rules/conditions, headers, url, priority, timeouts, etc.) for webhooks whose identity is unchanged between the installed and target app versions, and update only the affected properties in place. Commerce's subscribe endpoint is a guarded insert (not an upsert), so applying an update unsubscribes the live identity before resubscribing with the desired payload, mirroring the sequence already used for renames.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
b424ca1 to
60030a4
Compare
Description
Extends webhook upgrade planning to detect configuration changes when a webhook keeps the same identity. Changes to fields, conditions, headers, URLs, priorities, timeouts, and other mutable settings now produce an update operation.
Commerce treats webhook subscription as a guarded insert rather than an upsert, so apply unsubscribes the current live registration and subscribes the target payload. The resulting snapshot contains the target configuration, while OAuth credentials are sent only to Commerce and are not persisted.
Related Issue
CEXT-6508
Motivation and Context
Previously, webhooks matched by identity were carried forward even when their configuration changed, so config-only changes between app versions were not applied.
How Has This Been Tested?
Added unit coverage for changed and equivalent configurations, update execution, retry behavior, and credential handling, plus integration coverage for the Commerce unsubscribe-and-subscribe flow. Ran the full repository test suite, typecheck, lint, build, OpenAPI lint, and package validation.
Screenshots (if appropriate):
N/A
Types of changes
Checklist: