Skip to content

feat: support webhook payload passthrough and dynamic notification recipients#4

Closed
huanghongbo-hhb wants to merge 35 commits into
mainfrom
feat/workflow-payload-pass-through-v2
Closed

feat: support webhook payload passthrough and dynamic notification recipients#4
huanghongbo-hhb wants to merge 35 commits into
mainfrom
feat/workflow-payload-pass-through-v2

Conversation

@huanghongbo-hhb

@huanghongbo-hhb huanghongbo-hhb commented May 7, 2026

Copy link
Copy Markdown
Owner

What this PR does / Why we need it:\n\nSupport webhook payload passthrough for workflow v4 so code context from git events can be used in workflow tasks and notification recipients. This covers target branch / commit related variables for webhook-triggered workflows and allows payload fields to be used as notification recipient information.\n\n### What is changed and how it works?\n\n- preserve raw webhook payload on workflow trigger and expose payload-derived runtime variables\n- add stable repo variables such as target branch, commit id, author, committer and commit message\n- inject payload/repo runtime variables into workflow task creation, retry and manual execution paths\n- support dynamic notification recipient resolution from runtime variables for IM channels\n- keep legacy fixed-recipient notification configs compatible while adding dynamic recipient rules\n\n### Does this PR introduce a user-facing change?\n\n- [ ] API change\n- [ ] database schema change\n- [ ] upgrade assistant change \n- [x] change in non-functional attributes such as efficiency or availability\n- [x] fix of a previous issue\n\n### Testing\n\n- ? github.com/koderover/zadig/v2/pkg/microservice/aslan/core/common/service/workflowcontroller/jobcontroller [no test files]\n-

leebrouse and others added 30 commits April 13, 2026 18:18
…er#4600)

* feat(workflow): add serial/parallel execute mode for DMS job

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(dms): make parallel execution fail-fast on first order failure

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat(dms): support serial/parallel execution modes for DMS job controller

Signed-off-by: YuTang Song <2313186065@qq.com>

---------

Signed-off-by: YuTang Song <2313186065@qq.com>
…#4589)

* feat: add host agent version drift flag in privateKey list

Signed-off-by: YuTang Song <2313186065@qq.com>

* delete: remove duplicate function getCurrentZadigAgentVersion

Signed-off-by: YuTang Song <2313186065@qq.com>

* refactor: improve config using viper package

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: fix the value name

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat(user): add last login time field to user brief information

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(kube): add container termination state checks to prevent nil pointer panics

Signed-off-by: YuTang Song <2313186065@qq.com>

---------

Signed-off-by: YuTang Song <2313186065@qq.com>
…4438)

Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
* change from plutus vendor to plutus enterprise

Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>

* add check upgrade in ua

Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>

---------

Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
…over#4630)

Improved error handling in code source handler to provide detailed error information to frontend:

- Changed from direct assignment pattern to explicit error handling with AddDesc

- Added proper error descriptions for all code source operations (namespaces, projects, branches, tags, PRs, commits)

- Used appropriate error codes (6550-6555) for different operations

- Frontend will now receive structured error responses with detailed descriptions instead of raw error messages

- Avoided aggregated multierror responses for repo info lookups and kept failures scoped to each repo item

This change makes error messages more user-friendly and easier to debug.

Signed-off-by: huanghongbo <huanghongbo@koderover.com>
Co-authored-by: huanghongbo <huanghongbo@koderover.com>
* possibly fix on lark plugin v2 executing workflows

Signed-off-by: Min Min <jamsman94@gmail.com>

* added some debug logs

Signed-off-by: Min Min <jamsman94@gmail.com>

* possible fix

Signed-off-by: Min Min <jamsman94@gmail.com>

* fix codehost info not getting set when executing workflow

Signed-off-by: Min Min <jamsman94@gmail.com>

---------

Signed-off-by: Min Min <jamsman94@gmail.com>
* support Lark approval cc_groups in release plans

Signed-off-by: Cynthia <chenchen@koderover.com>

* extract Lark user group conversion helper

Signed-off-by: Cynthia <chenchen@koderover.com>

* correctly handle Lark user groups on START and END nodes

Signed-off-by: Cynthia <chenchen@koderover.com>

---------

Signed-off-by: Cynthia <chenchen@koderover.com>
Co-authored-by: Cynthia <chenchen@koderover.com>
Signed-off-by: YuTang Song <2313186065@qq.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
* fix workload update stucked in helm deploy

Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>

* improve cleanup stuck workfload for helm

Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>

---------

Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
…controls (koderover#4641)

* send feishu member notification for manual exec stage

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

* support manual execution stage notification in workflow notify controls

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

* send feishu notification to manual executors before manual stage execution

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

* show up to five jobs in manual execution stage notification

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

* show all jobs in manual execution stage notification

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

* reuse workflow job content builder for manual exec notifications

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

---------

Signed-off-by: huanghongbo <huanghongbo@koderover.com>
Co-authored-by: huanghongbo <huanghongbo@koderover.com>
* add codehost-based yaml template load/sync support

Signed-off-by: Cynthia <chenchen@koderover.com>

* add webhook sync for yaml templates from git repos

Signed-off-by: Cynthia <chenchen@koderover.com>

* add logs

Signed-off-by: Cynthia <chenchen@koderover.com>

* normalize repo paths when matching changed yaml files

Signed-off-by: Cynthia <chenchen@koderover.com>

---------

Signed-off-by: Cynthia <chenchen@koderover.com>
Co-authored-by: Cynthia <chenchen@koderover.com>
* feat: add independent scale permission

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat(ua): improve 4.3.0 migration for scale permission

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat(permission): add independent scale permission with 4.3.0 migration backfill

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat(permission): enforce ManagePods prerequisite for Scale in role/role-template and collaboration mode

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: add comments for permission migration functions

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: improve ua code 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(environment): support scaling service replicas via global configuration

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: change role rule

Signed-off-by: YuTang Song <2313186065@qq.com>

* docs(collaboration): add replica adjustment operation in collaboration permission mapping

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: improve ua 430.go for the collaboration

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: add log in the 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: add logs into ua

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: add log in ua 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

---------

Signed-off-by: YuTang Song <2313186065@qq.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: Cynthia <chenchen@koderover.com>
Signed-off-by: Cynthia <chenchen@koderover.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: huanghongbo <huanghongbo@koderover.com>
…lization

Signed-off-by: leozhang2018 <leozhang2018@gmail.com>
…gType fields

Signed-off-by: leozhang2018 <leozhang2018@gmail.com>
…kflowV4 function.

Signed-off-by: leozhang2018 <leozhang2018@gmail.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
huanghongbo-hhb and others added 5 commits April 27, 2026 22:09
…koderover#4650)

* fix: guard manual exec stage notification with pause notify type

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

* feat: support stage executor manual exec notifications

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

* fix: honor runtime notify enabled flag

Signed-off-by: huanghongbo <huanghongbo@koderover.com>

---------

Signed-off-by: huanghongbo <huanghongbo@koderover.com>
Co-authored-by: huanghongbo <huanghongbo@koderover.com>
Signed-off-by: huanghongbo <huanghongbo@koderover.com>
Co-authored-by: huanghongbo <huanghongbo@koderover.com>
… project (koderover#4604)

* feat(permission): support global read-only role visibility across all projects

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: add explicit global_read_only role flag and enforce read-only authorization across all projects

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: update ua for the global readonly role

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: update ua migrate

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: change ua in 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: update new ua for global readonly role

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: update ua

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: updata ua 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: update ua 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(permission): fix global read-only role permission validation and assignment logic

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(permission): fix global read-only role permission filtering

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(permission): remove validation logic for creating and updating global read-only roles

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(permission): fix permission validation and synchronization logic for global read-only roles

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix(permission): fix global read-only role not taking effect in project-level permissions

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: add VerbGetRegistryManagement

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat(permission): add S3 storage management permission to global read-only system actions

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: add some comments

Signed-off-by: YuTang Song <2313186065@qq.com>

* refactor: deprecate GlobalReadOnly role backfilling and optimize authorization permission checks

* refactor: deprecate global read-only role validation and logic

* refactor: remove global read-only role logic and associated field initialization

* feat: implement global-read-only role backfill in migration 430 and remove legacy code

* feat: add idempotent global-read-only role migration and define post-upgrade job configuration

* refactor: optimize group role permission logic and remove obsolete upgrade assistant configuration

* refactor: remove global read-only role validation logic and simplify authorization checks

Signed-off-by: YuTang Song <2313186065@qq.com>

* refactor(permission): extract permission handling logic into helper functions to improve maintainability

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: rollback last commit

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: add BusinessDirectory action for the global read only role

Signed-off-by: YuTang Song <2313186065@qq.com>

* feat: add permission control for business directory

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: add permission checks to business directory APIs

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: improve ua 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

* perf(authz): cache project list to improve authorization performance

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: add env view permission in the get env init

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: improve comment in ua 430.go

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: change permission setting in the field definition creating operation

Signed-off-by: YuTang Song <2313186065@qq.com>

* fix: delete empty comment

Signed-off-by: YuTang Song <2313186065@qq.com>

---------

Signed-off-by: YuTang Song <2313186065@qq.com>
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
Signed-off-by: huanghongbo-hhb <huanghongbo@koderover.com>
@huanghongbo-hhb huanghongbo-hhb changed the title feat(workflow): pass through webhook payload to runtime notifications feat: support webhook payload passthrough and dynamic notification recipients May 7, 2026
@huanghongbo-hhb

Copy link
Copy Markdown
Owner Author

Use upstream PR instead: koderover#4667

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants