TeamCity REST API Reference 2023.05 Help

Create and Delete Build Configurations

This article shows how to create, pause, and delete build configurations via TeamCity REST API.

Create Build Configuration

To create a new build configuration, compose and post a BuildType entity to:

/app/rest/buildTypes

Example:

<buildType description="string" id="string" name="string"> <project id="MyProjectID"/> <templates> <buildType id="MyTemplateID"/> </templates> <parameters> <property name="myBuildParameter" value="myValue"/> </parameters> <steps> <step name="myCommandLineStep" type="simpleRunner"> <properties count="4"> <property name="script.content" value="echo 'Hello World!'"/> </properties> </step> </steps> </buildType>
{ "id": "id", "name": "name", "project": { "id": "MyProjectID", }, "templates": { "buildType": [ { "id": "MyTemplateID", } ] }, "parameters": { "property": [ { "name": "myBuildParameter", "value": "myValue" } ] }, "steps": { "step": [ { "name": "myCommandLineStep", "type": "simpleRunner", "properties": { "property": [ { "name": "script.content", "value": "echo 'Hello World!'" } ] } } ] } }

Copy Build Configuration

To copy a build configuration, compose and post a NewBuildTypeDescription entity to:

/app/rest/projects/<projectLocator>/buildTypes

where projectLocator is a ProjectLocator-typed string. Specify name, id, sourceBuildTypeLocator to locate the source configuration, and set copyAllAssociatedSettings option to true.

Example:

<newBuildTypeDescription copyAllAssociatedSettings="true" id="string" name="string" sourceBuildTypeLocator="string" />
{ "sourceBuildTypeLocator": "locator", "name": "name", "id": "id", "copyAllAssociatedSettings": true }

Delete Build Configuration

To delete a build configuration, send:

/app/rest/buildTypes/{buildConfigurationLocator}

where buildConfigurationLocator is a BuildTypeLocator-typed string used to locate the build configuration.

Pause Build Configurations

To get the current status of a build configuration, use:

/app/rest/buildTypes/<buildTypeLocator>/paused

The server will respond with the text/plain boolean value indicating whether the configuration is paused (true) or not (false). To change the status, put the required value in text/plain format to:

/app/rest/buildTypes/<buildTypeLocator>/paused
Last modified: 01 June 2022