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 subscription to the Datadog CI Visibility service for each of the following webhook types. These event types are required and must be enabled individually.

    • 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.

Advanced configuration

Configuring multiple projects in bulk

Datadog offers a script to help you enable service hooks across multiple or all of your Azure projects using the Azure API. The script requires Python 3 and the requests package.

To run the script, you need:

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

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

For more information, you can run the following command:

./service_hooks.py --help

All Azure projects

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

Specific Azure projects

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

Set custom tags

You can set custom tags for all pipeline and job spans from your Azure projects to improve traceability. For more information, see Custom Tags and Measures.

Collect job logs

Azure Log Collection is in private beta. To request access, fill out this form.

Job log collection is not available for PCI-compliant organizations.

Datadog supports log collection for your Azure DevOps pipelines.

To enable job log collection:

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

  2. Add the Datadog app registration to your Azure DevOps organization and to each project you want to enable log collection. Navigate to Organization settings in your DevOps console, and select Add to all projects to configure all projects in bulk.

Logs are billed separately from CI Visibility. Log retention, exclusion, and indexes are configured in Log Management. 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. For more information, see Search and Manage CI Pipelines.

Further reading

PREVIEWING: evan.li/clarify-agentless