- Pipeline runs: each run becomes one Flashduty change, from the run starting to it succeeding, failing, or being canceled.
- Classic release stage deployments: one deployment of a release to one stage becomes one change, from the deployment starting to it completing.
In Flashduty On-call
- In the Flashduty console, go to Integration Center → Change Events
- Select Azure DevOps and enter an integration name
- To assign changes to specific channels, add rules under the integration’s Routes that match labels such as
pipeline,project, orenvironment - Click Save and copy the generated push URL
In Azure DevOps
1
Create a service hooks subscription
- Open the project and go to Project settings → Service hooks
- Click Create subscription, select the Web Hooks service, and click Next
2
Select the trigger events
Create one subscription per event as needed:
Use Filters to limit a subscription to a pipeline, release definition, or stage. Do not subscribe Build completed or Run stage state changed; Flashduty ignores them.
3
Enter the push URL
- URL: paste the full push URL of the Flashduty integration
- Basic authentication username / password: leave empty; Flashduty authenticates with the
integration_keyin the push URL - Resource details to send: select All. With Minimal or None the delivery lacks the run id, release, and stage name, and Flashduty answers 400
- Messages to send and Detailed messages to send: keep the defaults. Flashduty uses the message Text as the change description and the link in the Markdown message as the link of release events (they have no separate link field); when a format is not sent, the description or link is empty
- Click Test to verify, then Finish
What one change is
Azure DevOps run ids are unique only within an organization. Create a separate Flashduty integration for each Azure DevOps organization.
Status mapping
Pipeline runs (Run state changed)
Release stage deployments
A state value Flashduty does not recognize makes the delivery answer 400 (
unknown run state, unknown run result, unknown deployment status). The raw state is kept in the state label of the change event.
These deliveries return success and record nothing:
- Build completed, Run stage state changed, and any other event type
- The Test delivery of Service Hooks
Change content
Labels can be used for routing and for filtering the change list:
Run events carry no project name, so pipeline runs have no
project label.
FAQ
Does a repeated delivery create a duplicate record?
Does a repeated delivery create a duplicate record?
No. When Azure DevOps retries a delivery, the content is identical to the original and Flashduty records it once.
Why does Build completed produce no change?
Why does Build completed produce no change?
Flashduty records Pipelines run state events (Run state changed) and Release deployment events. Classic build pipelines do not send Run state changed; use YAML pipelines to have them recorded.
Why does redeploying a release to the same stage not create a new change?
Why does redeploying a release to the same stage not create a new change?
Release deployment events carry no deployment id, so Flashduty identifies a deployment by release id and stage id; a redeployment updates the same change.
The delivery returns an InvalidParameter error?
The delivery returns an InvalidParameter error?
resource.run.id is missing,resource.release.id is missing,resource.environment.name is missing,resource.environment.definitionEnvironmentId is missing(orresource.deployment.environment.id is missing,resource.deployment.environment.name is missingon completed events): Resource details to send is not All, or the delivery does not come from Azure DevOps Service Hooksunknown run state,unknown run result,unknown deployment status: a state value Flashduty does not recognize yetinvalid createdDate: a timestamp field in the delivery is malformed