Azure DevOps Server is not officially supported.

CI Visibility is not available in the selected site () at this time.

Overview

Azure Pipelines is a continuous integration and delivery service that supports any language, platform, or cloud.

Set up tracing on Azure Pipelines to gain real time insights into your CI/CD workflows, track pipeline performance, analyze inefficiencies, and manage your deployment operations.

Compatibility

Pipeline VisibilityPlatformDefinition
Custom tags and measures at runtimeCustom tags and measures at runtimeConfigure custom tags and measures at runtime.
Custom spansCustom spansConfigure custom spans for your pipelines.

Configure the Datadog integration

The Datadog integration for Azure Pipelines works by using service hooks to send data to Datadog.

  1. Install the Datadog CI Visibility extension from the Azure Marketplace. There are several extensions starting with Datadog, make sure that you are installing the Datadog CI Visibility extension.

  2. For each project, go to Project settings > Service hooks in Azure DevOps and select the green plus (+) icon to create a subscription.

  3. Create a new subscription to the Datadog CI Visibility service for each of the following webhook types:

    • Run state changed
    • Run stage state changed
    • Run job state changed
    • Run stage approval completed
    • Run stage waiting for approval
  4. Click Next to continue to the next step and set the following:

  5. Click Finish.

All 5 supported types of events are required and must be enabled individually. Not enabling one or more events results in an an incomplete installation, leading to unexpected behavior in Datadog.

Configuring multiple projects in bulk

If you want to enable the hooks for many or all your Azure projects, Datadog provides a script to help you do it through the Azure API.

To run the script, you need:

  • An Azure DevOps username
  • An Azure DevOps API Token
  • An Azure DevOps organization name

The script only needs python3 and the requests package. For more information, run:

./service_hooks.py --help

The script supports environment variables DD_API_KEY and DD_SITE, and flag parameters --dd-api-key and --dd-site.

Example for enabling the hooks in all projects:

./service_hooks.py \
    --dd-api-key ******************** \
    --az-user "John Doe" \
    --az-token ********************** \
    --az-org datadoghq \
    --threads 4

Example for enabling the hooks in specified projects:

./service_hooks.py \
    --dd-api-key ******************** \
    --az-user "John Doe" \
    --az-token ********************** \
    --az-org datadoghq \
    projectName1 projectName2

Enable job log collection

Azure Log Collection is in private beta. To request access, fill out this form.
Note: Job log collection is not available for PCI-compliant organizations.

Datadog supports log collection for your Azure DevOps pipelines. To enable it:

  1. Install a Datadog app registration on your Azure console. Follow the steps within the Azure integration.

  2. Add the Datadog app registration to your Azure DevOps organization and to every project for which you want to enable Log Collection. You can do this by going to “Organization settings” in your DevOps console. You may select “Add to all projects” to configure all projects in bulk.

Note: Logs are billed separately from CI Visibility. Log retention, exclusion, and indexes are configured in Logs Settings. Logs for Azure jobs can be identified by the datadog.product:cipipeline and source:azurepipelines tags.

Visualize pipeline data in Datadog

The CI Pipeline List and Executions pages populate with data after the workflows finish.

The CI Pipeline List page shows data for only the default branch of each repository.

Further reading