TeamCity 2018.1 Help

Extensions

Extension in TeamCity is a point where standard TeamCity behavior can be changed. There are three marker interfaces for TeamCity extensions:

Extension interface implements one of these marker interfaces. ServerExtension and AgentExtension are used to mark server and agent side extensions correspondingly. TeamCityExtension is the base interface for ServerExtension and AgentExtension. Thus you can take a list of all available extensions in TeamCity by taking a look at interfaces which extend these marker interfaces.

Registering custom extension

There are two ways to register custom extension:

  1. define a bean in the Spring context which implements extension interface, in this case your extension will be loaded automatically

  2. register your extension at runtime in the service (can be obtained by Spring autowiring feature)

Available extensions

Server-side extensions

Extension

Since

Description

3.0

Allows customizing text status line of the build, i.e. the build description which usually contains text like "Tests passed: 234, failed: 4 (2 new)".

4.0

Similar to TextStatusBuilder but affects "Triggered by" value shown in the UI.

4.0

This extension allows applying custom formatting to test stacktrace to be shown in the UI.

4.5

Allows defining preconditions for starting a build on an agent, that is, you can instruct TeamCity to delay a build till some condition is met.

2.0

This extension is called when the cleanup process is going to finish, plugins can clean their data with the help of this extension.

2.0

This extension is called when the cleanup process is going to clean up data of a build, plugins can remove their data associated with this build with help of this extension.

3.0

Allows modifying build parameters right before they are sent to an agent.

5.0

Allows adding additional parameters available for a build. It differs from ParametersPreprocessor in the way that the parameters added by BuildParametersProvider will be available in a popup showing available parameters, and will be considered when requirements are calculated.

5.0

Provides a human-readable description for a parameter, see also BuildParametersProvider.

4.0

Translator for specific type of service messages.

6.0

Provides a custom usage statistics.

Last modified: 20 April 2023