Skip to main content
Plan requirement: This feature requires an On-call Standard or higher subscription. Learn more
Use Azure DevOps Service Hooks (Web Hooks) to sync two kinds of objects to Flashduty On-call:
  • 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


  1. In the Flashduty console, go to Integration Center → Change Events
  2. Select Azure DevOps and enter an integration name
  3. To assign changes to specific channels, add rules under the integration’s Routes that match labels such as pipeline, project, or environment
  4. Click Save and copy the generated push URL

In Azure DevOps


1

Create a service hooks subscription

  1. Open the project and go to Project settings → Service hooks
  2. Click Create subscription, select the Web Hooks service, and click Next
You need the Project Administrators role.
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

  1. URL: paste the full push URL of the Flashduty integration
  2. Basic authentication username / password: leave empty; Flashduty authenticates with the integration_key in the push URL
  3. Resource details to send: select All. With Minimal or None the delivery lacks the run id, release, and stage name, and Flashduty answers 400
  4. 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
  5. Click Test to verify, then Finish
Test sends a sample delivery; Flashduty answers success and records no change.

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


No. When Azure DevOps retries a delivery, the content is identical to the original and Flashduty records it once.
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.
Release deployment events carry no deployment id, so Flashduty identifies a deployment by release id and stage id; a redeployment updates the same change.
  • resource.run.id is missing, resource.release.id is missing, resource.environment.name is missing, resource.environment.definitionEnvironmentId is missing (or resource.deployment.environment.id is missing, resource.deployment.environment.name is missing on completed events): Resource details to send is not All, or the delivery does not come from Azure DevOps Service Hooks
  • unknown run state, unknown run result, unknown deployment status: a state value Flashduty does not recognize yet
  • invalid createdDate: a timestamp field in the delivery is malformed