Zwing Docs

Task types reference

Event task types, TaskConfigDto fields, and egress executors

Enum (EventTaskTypeEnum)

Defined on EventTaskModel in @libs/dip-v2:

ValuePurpose (summary)
enrichFetch extra data (HTTP-style enrich with auth and request config).
transformApply a template to reshape payload.
filterKeep or drop payload using AND/OR condition groups.
mappingMap fields using a template id and key.
dispatchDispatch / hand-off step (see egress executor).
extractPick fields from structured input.
httpGeneral 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 / OR arrays of conditions: each has key (JSON path, supports {{...}}), operator (FilterOperatorEnum), optional value, optional priority.
  • Enrich — url, authType, optional authConfig / tokenConfig when dynamic, and requestConfig (resultPath, optional headers, etc.).
  • Extract — fields (string paths to pull).
  • HTTP — method, optional headers, requestBody, queryParams, payloadType (HttpTaskPayloadTypeEnum), output (expression describing merge), optional auth (HttpAuthConfigDto), timeout ms, retry (RetryConfigDto), optional successOnStatusCode allow-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/:

TypeClass (file)
transformTransformTaskExecutor
dispatchDispatchTaskExecutor
enrichEnrichTaskExecutor
filterFilterTaskExecutor
mappingMappingTaskExecutor
extractExtractTaskExecutor
httpHttpTaskExecutor

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 (on EventTask / job task): When true, the tree engine may still schedule children after a failed step, depending on engine rules; the field is stored on DipJobTask for observability.
  • Filter outcomes: Failed filter validation can surface as job status filter-validation-failed (see Event log and jobs).
  • HTTP success: If successOnStatusCode is set on the task config, only those HTTP status codes count as success for that step; connector–event mappings can additionally constrain retries via retryOnStatusCode at the mapping level.
Edit on GitHub