TeamCity
 
You are viewing the documentation for an earlier version of TeamCity.

Custom Statistics

Last modified: 20 April 2023

TeamCity provides several ways to customize statistics. You can add your own statistic values calculated by external tools in a build script, configure statistics charts displayed on Build Configuration and Project's Statistics tabs, display TeamCity statistics charts on plugin's pages, etc.

Quick Start



  • To add a custom build metric, extend BuildValueTypeBase to just define your build metric calculation method, appearance, and key. After that you can reference this metric by its key in statistics chart/report tags.

  • To insert statistics chart into a jsp page: <%@taglib prefix="stats" tagdir="/WEB-INF/tags/chart"%> <stats:buildChart id="g1" valueType="BuildDuration"/>

More Details



BuildType Statistics tab extension point



//WebControllerManager webControllerManager webControllerManager.addPageExtension(WebPlace.BUILD_INFO_FRAGMENT, this);

Customizing chart appearance



  • width, height — chart image size

  • hideFilters — suppress filter controls

Adding custom metrics



  1. Implement jetbrains.buildServer.serverSide.statistics.ValueType, extend BuildFinishAwareValueTypeBase or CompositeVTB for convenience

  2. Register it using jetbrains.buildServer.serverSide.statistics.ValueProviderRegistry.registerValueProvider

Custom build metrics details



  1. Implement jetbrains.buildServer.serverSide.statistics.build.BuildFinishAware in your ValueType to be notified of build finished event.

  2. Calculate your metric.

  3. Employ jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage.publishValue to publish your value.

  4. Employ jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage.getDataSet to retrieve selected data.

See also:

Extending TeamCity: Build Script Interaction with TeamCity