Custom Statistics
Last modified: 20 April 2023TeamCity 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
Implement
jetbrains.buildServer.serverSide.statistics.ValueType
, extendBuildFinishAwareValueTypeBase
orCompositeVTB
for convenienceRegister it using
jetbrains.buildServer.serverSide.statistics.ValueProviderRegistry.registerValueProvider
Custom build metrics details
Implement
jetbrains.buildServer.serverSide.statistics.build.BuildFinishAware
in yourValueType
to be notified of build finished event.Calculate your metric.
Employ
jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage.publishValue
to publish your value.Employ
jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage.getDataSet
to retrieve selected data.
See also:
Extending TeamCity: Build Script Interaction with TeamCity
Thanks for your feedback!