- System hook: configured once at system level by an administrator, applies to every workflow, and sends one delivery when a task starts and one when it completes. Recommended
- Workflow webhook notification: added to a single workflow, and sends a delivery for each workflow status you select
In Flashduty On-call
- In the Flashduty console, go to Integration Center → Change Events
- Select Zadig and enter an integration name
- To assign changes to specific channels, add rules under the integration’s Routes that match labels such as
projectorworkflow - Click Save and copy the generated Push URL
Configure Zadig
Option 1: System hook
1
Open the system hook
A system administrator goes to System Settings → System Configuration → System Hook (the labels are 系统设置 → 系统配置 → 系统钩子 in the Chinese UI).
2
Enter the push URL and trigger events
- Turn on the system hook
- Hook address: paste the full Flashduty push URL
- Secret Token: leave empty. Flashduty authenticates with the
integration_keyin the push URL and does not checkX-Zadig-Token - Trigger events: select both start of execution and completion of execution
3
Run a workflow
Run a workflow once and the change appears in the Flashduty change list.
Option 2: Workflow webhook notification
Edit the workflow and add a notification of type Webhook. Set the webhook address to the Flashduty push URL and select the workflow statuses to sync (for example succeeded, failed, canceled, timed out). A delivery is sent only when one of the selected statuses occurs, so unselected statuses do not appear on the change. Configuring both options does not create duplicate changes: one task records a given status only once.What one change is
Clicking Retry on an existing task restarts the same task (the task id does not change), so a retry reopens the original change: its status returns to Ready and is then updated again.
Status mapping
The system hook sends only
created (start of execution) and the end statuses (passed, failed, timeout, cancelled). Intermediate statuses such as waiting for manual execution can only come from a workflow webhook notification.
These deliveries return success and create no change:
- Release plan deliveries (
object_kindisrelease_plan). A release plan sends only at planning finished, execution started, and all jobs done; it does not send on cancel, rejection, or timeout, so a change built from it could stay open forever. Workflow tasks started by a release plan are still recorded, with arelease_planlabel - Test, code scan, and delivery version tasks (
task_typeistest,scan, ordelivery) - Deliveries with any other
object_kind
Change content
Labels are available for routing and for filtering the change list:
FAQ
Do workflows that only build and do not deploy create changes?
Do workflows that only build and do not deploy create changes?
Yes. Zadig’s delivery does not say whether a workflow contains deploy jobs, so every workflow task is recorded. Use the integration’s Routes to match the
workflow label for the workflows you care about.Why don't I see waiting-for-approval or waiting-for-manual-execution statuses?
Why don't I see waiting-for-approval or waiting-for-manual-execution statuses?
The system hook does not send intermediate statuses. To get them, add a Webhook notification to the workflow and select the matching notification events.
Does Zadig retry a failed delivery?
Does Zadig retry a failed delivery?
Zadig only logs a failed delivery and does not retry it. Flashduty deduplicates by change time and status, so a repeated delivery of the same status is recorded once.
The delivery returns an InvalidParameter error?
The delivery returns an InvalidParameter error?
workflow is missing,workflow.project_name is missing,workflow.workflow_name is missing,workflow.task_id is missing: the payload is incomplete; make sure it comes from Zadig’s native webhookunknown workflow.status: a task status that is not mapped yet appeared; contact us to add it