TeamCity 4.0 Help

Predefined Properties

The predefined properties can originate from several scopes:

  • Server-Build-Properties - the properties provided by TeamCity on the server-side in the scope of a particular build. An example of such property is a build number

  • Agent-Properties - properties provided by an agent. The properties are not specific to any build and characterize agent environment (for example, path to .Net framework).

  • Agent-Build-Properties - properties provided on the agent side in the scope of a particular build. These properties are passed into a build (for example, path to a file with a list of changed files).

There is also a special kind of server-side build properties that can be used in references while defining other properties, but are not passed into the build. See Reference-only-Server-Properties below for the listing of such properties.

Server Build Properties

System Property Name

Environment Variable Name

Description

teamcity.version

TEAMCITY_VERSION

Version of TeamCity server. This property can be used to determine the build is run within TeamCity.

teamcity.projectName

TEAMCITY_PROJECT_NAME

Name of the project the current build belongs to.

teamcity.buildConfName

TEAMCITY_BUILDCONF_NAME

Name of the Build Configuration the current build belongs to.

build.is.personal

BUILD_IS_PERSONAL

Is set to true if the build is a personal one. Is not defined otherwise.

build.number

BUILD_NUMBER

Build Numbering assigned to the build by TeamCity using the build number format. The property is assigned based on the 1.General Settings.

build.vcs.number.<simplified VCS root name>

BUILD_VCS_NUMBER_<simplified VCS root name>

Latest VCS revision included in the build for the root identified. See simplified_VCS_root_name for the <simplified VCS root name> description. If there is only a single root in the configuration, build.vcs.number property (without the root name) is also provided.

In previous versions of TeamCity we used different format for VCS build number: {build.vcs.number.N} where N is VCS root order number in the build configuration. If you still need this to work, you can launch TeamCity with special JVM option:

-Dteamcity.buildVcsNumberCompatibilityMode=true

<simplified VCS root name> is the VCS root name with all non-alphanumeric characters replaced with _ symbol. Please ensure your VCS roots names differ sufficiently and are not mapped into the same simplified name (in this case the value of the property can get any).

Reference-only Server Properties

These properties are available only since TeamCity 4.5. In TeamCity 4.0.x you could only use Dependencies-Properties in build number and VCS labeling pattern.

These are the properties that other properties can reference (only if defined on 6.Properties and environment variables page), but that are not passed to the build themselves.

Since TeamCity 4.5 you can get the full set of reference-only server properties by adding system.teamcity.debug.dump.parameters property to the build configuration and examining "Available reference-only server properties" section in the build log.

The following sets of such properties exist:

Dependencies Properties

Properties provided by the builds the current build depends on (via snapshot dependency).

Dependencies properties have the following format:

dep.<btID>.<property name>

  • <btID — is the Build Configuration of the build configuration to get the property from. Only the configurations the current one has snapshot dependencies on are supported (both direct and indirect dependencies).

  • <property name> — the name of the Server-Build-Properties of the build configuration with the given ID.

VCS Properties

Since TeamCity 4.5 These are the settings of a VCS roots attached to the build configuration.

VCS properties have the following format:

vcsroot.<simplified VCS root name>.<VCS root property name>

If there is only one VCS root in a build configuration, <simplified VCS root name>. part can be omitted.

Properties marked by VCS support as secure (for example, passwords) are not available as reference properties.

Agent Properties

Agent-specific properties are defined on each build agent and vary depending on its environment. Aside from standard properties (for example, os.name or os.arch, etc. — these are provided by JVM running on agent) agents also have properties based on installed applications. TeamCity automatically detects a number of applications including the presence of .NET Framework, Visual Studio and adds the corresponding system properties and environment variables. A complete list of predefined agent-specific properties is provided in tablePredefinedProperties below.

If additional applications/libraries are available in the environment, the administrator can manually define the property in the <agent home>/conf/buildAgent.properties file. These properties can be used for setting various build configuration options, for defining build configuration requirements (for example, existence or lack of some property) and inside build scripts. For more information on how to reference these properties see Using Properties page.

The actual properties defined on agent can be reviewed on the Agent Details page.

Predefined Property

Description

agent.name

Name of the agent as specified in the buildAgent.properties agent configuration file. Can be used to set a requirement of build configuration to run (or not run) on particular build agent.

agent.work.dir

Path of Agent Working Directory.

agent.home.dir

Path of Agent Home Directory.

os.name

corresponding JVM property

os.arch

corresponding JVM property

os.version

corresponding JVM property

user.country

corresponding JVM property

user.home

corresponding JVM property

user.timezone

corresponding JVM property

user.name

corresponding JVM property

user.language

corresponding JVM property

user.variant

corresponding JVM property

file.encoding

corresponding JVM property

file.separator

corresponding JVM property

path.separator

corresponding JVM property

DotNetFramework<version>[_x86|_x64]

This property is defined if the corresponding version(s) of .NET Framework is installed

DotNetFramework<version>[_x86|_x64]_Path

This property's value is set to the corresponding framework version(s) path(s)

DotNetFrameworkSDK<version>[_x86|_x64]

This property is defined if the corresponding version(s) of .NET Framework SDK is installed

DotNetFrameworkSDK<version>[_x86|_x64]_Path

This property's value is the path of the corresponding framework SDK version

WindowsSDK<version>

This property is defined if the corresponding version of Windows SDK is installed. Version can be either 6.0 or 6.0A

VS[2003|2005|2008]

This property is defined if the corresponding version(s) of Visual Studio is installed

VS[2003|2005|2008]_Path

This property's value is the path to the directory that contains devenv.exe

teamcity.dotnet.nunitlauncher<version>

This property value is the path to the directory that contains the standalone NUnit test launcher, NUnitLauncher.exe. The version number refers to the version of .NET Framework under which the test will run. The version equals the version of .NET Framework and can have a value of 1.1, 2.0, or 2.0vsts.

teamcity.dotnet.nunitlauncher.msbuild.task

The property value is the path to the directory that contains the MSBuild task dll providing the NUnit task for MSBuild, sln2005, or sln2008.

You can disable the automatic detection of the predefined properties by editing the buildAgent.properties file and adding the disableDotNetDetection property.

This property can have the following values:

Value

Description

empty string

All versions of .NET Framework will be detected and added to the Agent Properties

'*'

All existing versions of .NET Framework will not be detected and thus not included in the Agent Properties

version number(s) (Values should be separated by commas)

Excludes versions of .NET Framework starting with that number

'windowsSDK6.0' or 'w'

Excludes Windows SDK 6.0

VS<X>

Excludes Visual Studio version <X>, where <X> can be 2003, 2005, 2008 or left blank to exclude all existing versions of Visual Studio

Examples

Description

disableDotNetDetection=3

Excludes .NET Framework 3.0, 3.5 and all other versions starting with 3

disableDotNetDetection=1.1,2.0

Excludes .NET Framework versions 1.1 and 2.0

disableDotNetDetection=w,2.0,VS2003

Excludes Windows SDK 6.0, .NET Framework 2.0 and Visual Studio 2003

Agent Build Properties

These properties are unique for each build: they are calculated on the agent right before the build start and are then passed into the build.

Property Name

Environment Variable Name

Description

teamcity.build.checkoutDir

none

Build checkout directory used for the build.

teamcity.build.workingDir

none

Build Working Directory where the build is started.

teamcity.build.tempDir

none

Full path of the build temp directory automatically generated by TeamCity. The directory will be cleaned after the build.

teamcity.auth.userId

none

Generated username that can be used to Configuring Dependencies of other build configurations. Valid only during the build.

teamcity.auth.password

none

Generated password that can be used to download artifacts of other build configurations. Valid only during the build.

teamcity.build.properties.file

TEAMCITY_BUILD_PROPERTIES_FILE

Full name (including path) of the file containing all the system.* properties passed to the build. "system." prefix stripped off. The file uses Java properties file format (for example, special symbols are backslash-escaped).

teamcity.build.changedFiles.file

none

Full path to a file with information about changed files included in the build. This property is useful if you want to Risk Tests Reordering in Custom Test Runner. This file is only available if there were changes in the build.

Last modified: 20 April 2023