For AI agents: A markdown version of this page is available at https://docs.datadoghq.com/continuous_integration/pipelines/teamcity.md. A documentation index is available at /llms.txt.
This product is not supported for your selected Datadog site. ().

Overview

TeamCity is a continuous integration and delivery server that optimizes and automates software development processes.

Set up CI Visibility for TeamCity to collect data about your pipeline executions, debug performance bottlenecks, address operational issues, and optimize your development workflows.

Compatibility

Pipeline VisibilityPlatformDefinition
Partial retriesRetry build triggersView partially retried pipeline executions.
Queue timeQueue timeView the amount of time pipeline jobs sit in the queue before processing.
Pipeline failure reasonsPipeline failure reasonsIdentify pipeline failure reasons from error messages.
Filter CI Jobs on the critical pathFilter CI Jobs on the critical pathFilter by jobs on the critical path.
Execution timeExecution timeView the amount of time pipelines have been running jobs.
Logs AnalysisLogs AnalysisUse LLM models on relevant logs to analyze the root cause of failed CI jobs.
Logs correlationLogs correlationCorrelate pipeline and job spans to logs. Requires Logs Storage.

The following TeamCity versions are supported:

  • TeamCity >= 2021.2 or later

Terminology

This table shows the mapping of concepts between Datadog CI Visibility and TeamCity:

DatadogTeamCity
PipelineBuild Chain
JobBuild
Not available in DatadogStep

Configure the Datadog integration

The integration between TeamCity and Datadog CI Visibility is provided through a TeamCity plugin. The source code of the Datadog CI Integration plugin is open source under the Apache 2.0 license.

To set up the integration:

  1. Download the Datadog CI Integration plugin on the TeamCity server by going to Administration -> Plugins -> Browse Plugin Repository.

  2. If you don’t already have one, add a TeamCity composite build as the last build of the build chain. This build must have a dependency on the current last build of the chain and no other builds depending on it.

    Build chains that do not end with a composite build are ignored by the plugin. For example, consider an expected build chain where Aggregating Results is the last composite build:

    TeamCity build chain with composite build at the end

    The final composite build must be properly configured in terms of version control settings, with the VCS Root attached and the VCS Trigger configured.

  3. The following configuration parameters need to be present for TeamCity projects:

    • datadog.ci.api.key: Your Datadog API Key. Supports type Password in plugin version 0.0.5 and later.
    • datadog.ci.site:
    • datadog.ci.enabled: true (false can be used to disable the plugin for a specific project).

    You can add them to either TeamCity subprojects or the TeamCity Root Project. When added to the Root project, they are propagated to all its subprojects. For example, to enable the plugin for all projects, add datadog.ci.enabled with the value true to the Root Project.

    For more information on defining configuration parameters, see the TeamCity Project Hierarchy documentation.

  4. To enable the plugin, click on Enable uploaded plugins in the Administration -> Plugins page. Alternatively, restart the TeamCity server.

Manage job logs

Logs Analysis

Logs Analysis uses LLM models to classify job failures by root cause based on relevant TeamCity logs. For a full explanation, see the Logs Analysis guide.

Logs Analysis is enabled by default in Datadog, but requires the TeamCity plugin to send job logs as described below. In CI/CD Optimization Repository settings, you can enable or disable Logs Analysis for your organization or individual repositories.

Job log forwarding requires Datadog CI Integration plugin version 0.1.0 or later.

When the plugin is enabled (datadog.ci.enabled is set to true), it automatically sends logs for each build reported as a job in a completed build chain.

To disable job log collection for a project, set the datadog.ci.logs.disabled project configuration parameter to true. Set it to false or remove it where it is defined to re-enable collection. An empty or unrecognized value also disables collection. Set the parameter on the Root project to disable job log collection for all subprojects.

The plugin sends job logs after the final composite build finishes and before sending each completed job event. When available, the plugin collects TeamCity log severity and the name of the innermost log block.

Logs Storage

After setting up the TeamCity plugin to send job logs as described in Logs Analysis, go to CI/CD Optimization Repository settings and enable Logs Storage for your organization or individual repositories. Stored logs appear in the Logs tab for the job.

Logs Storage is billed separately from CI Visibility. Configure log retention, exclusion filters, and indexes in Log Management. To find TeamCity job logs, filter on datadog.product:cipipeline and source:teamcity.

Advanced configuration

Configure Git user information

The plugin retrieves the Git author name and email based on the TeamCity username style. Datadog recommends using either Author Name and Email or Author Email username styles, as they provide information about the user email.

When one of the other username styles is used (UserId or Author Name), the plugin automatically generates an email for the user by appending @Teamcity to the username. For example, if the UserId username style is used and the Git author username is john.doe, the plugin generates john.doe@Teamcity as the Git author email. The username style is defined for VCS Roots, and can be modified in the VCS Root settings.

The Git author email is used for billing purposes, therefore there might be cost implications when username styles not providing email (UserId or Author Name) are used. Reach out to the Datadog support team if you have any questions about your use case.

Visualize pipeline data in Datadog

View your data on the CI Pipeline List and Executions pages after the pipelines 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.

Troubleshooting

Missing or incomplete job logs

If logs are missing from the Logs tab, confirm that Logs Storage is enabled in CI/CD Optimization Repository settings. Confirm that the build chain completed and datadog.ci.enabled is true. The effective value of datadog.ci.logs.disabled for the project must be false or unset. For upload errors, review the plugin’s messages in teamcity-server.log. In TeamCity, go to Administration -> Diagnostic -> Server Logs.

Test runs are not linked to TeamCity jobs

The Datadog CI Integration plugin does not correlate TeamCity pipeline or job executions with test runs in Test Optimization. Tests may appear in Test Optimization while the corresponding CI Visibility job shows Test Runs: 0.

Further reading