Set up Tracing on an Azure Pipeline
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
The Datadog integration for Azure Pipelines works by using service hooks to send data to Datadog.
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.
For each project, go to Project settings > Service hooks in Azure DevOps and select the green plus (+) icon to create a subscription.
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
Click Next to continue to the next step and set the following:
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
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.
Datadog supports log collection for your Azure DevOps pipelines.
To enable job log collection:
Install a Datadog app registration on your Azure console. Follow the steps in the Azure integration tile.
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
Additional helpful documentation, links, and articles: