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. For release events, which have no link field, it uses the link in the Markdown message. If a format isn’t 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.

How changes are merged

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

Use labels 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 and stage; a redeployment updates the same change.
  • unsupported … or unknown …: Flashduty does not support this status value yet. Contact us
  • resource.… is missing: Resource details to send is not set to All, or the push does not come from Azure DevOps Service Hooks