Task types reference
Event task types, TaskConfigDto fields, and egress executors
Enum (EventTaskTypeEnum)
Defined on EventTaskModel in @libs/dip-v2:
| Value | Purpose (summary) |
|---|---|
enrich | Fetch extra data (HTTP-style enrich with auth and request config). |
transform | Apply a template to reshape payload. |
filter | Keep or drop payload using AND/OR condition groups. |
mapping | Map fields using a template id and key. |
dispatch | Dispatch / hand-off step (see egress executor). |
extract | Pick fields from structured input. |
http | General HTTP call with method, body, auth, retries, success status codes. |
Runtime job tasks use the parallel enum DipJobTaskEnum with the same string values.
Config shape (TaskConfigDto)
ACS validates config with a synthetic parentType field (set from task.type via transform) so conditional validation applies:
- Transform —
template(string template). - Mapping —
templateId,key(see Template Master linkage in Template Master). - Filter —
AND/ORarrays of conditions: each haskey(JSON path, supports{{...}}),operator(FilterOperatorEnum), optionalvalue, optionalpriority. - Enrich —
url,authType, optionalauthConfig/tokenConfigwhen dynamic, andrequestConfig(resultPath, optional headers, etc.). - Extract —
fields(string paths to pull). - HTTP —
method, optionalheaders,requestBody,queryParams,payloadType(HttpTaskPayloadTypeEnum),output(expression describing merge), optionalauth(HttpAuthConfigDto),timeoutms,retry(RetryConfigDto), optionalsuccessOnStatusCodeallow-list.
For full property lists and Swagger text, see apps/app-connector-service/src/dto/connector-event.ts in the zwing-connect repo (TaskConfigDto).
Egress executors (egress-service)
TaskExecutorService (apps/egress-service/src/tasks/task-executor.ts) delegates to TreeExecutionEngine, which walks the job’s task tree and dispatches by type. Implementations live under apps/egress-service/src/tasks/task-executors/:
| Type | Class (file) |
|---|---|
transform | TransformTaskExecutor |
dispatch | DispatchTaskExecutor |
enrich | EnrichTaskExecutor |
filter | FilterTaskExecutor |
mapping | MappingTaskExecutor |
extract | ExtractTaskExecutor |
http | HttpTaskExecutor |
Shared HTTP configuration for the http type is also described in @libs/dip-v2 (http-task-config.ts) so ingress DTOs and egress agree on payload encoding and retries.
Behaviour notes
continueOnFailure(onEventTask/ job task): When true, the tree engine may still schedule children after a failed step, depending on engine rules; the field is stored onDipJobTaskfor observability.- Filter outcomes: Failed filter validation can surface as job status
filter-validation-failed(see Event log and jobs). - HTTP success: If
successOnStatusCodeis set on the task config, only those HTTP status codes count as success for that step; connector–event mappings can additionally constrain retries viaretryOnStatusCodeat the mapping level.
Related
- Task tree — structure and sync linearity.
- Data model reference — mapping-level retry and filter fields.