Unable to render embedded object: File (TeamCity48.png) not found.

TeamCity 2018.x Documentation

Documentation for Previous Versions


You are viewing the documentation of TeamCity 2018.x, which is not the most recently released version of TeamCity.
View this page in the latest documentation or refer to the listing to choose the documentation corresponding to your TeamCity version.


Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • Changing the id (for all entities - project, build configuration, template or VCS root)

  • move actions

  • editing of the versioned settings VCS root

  • versioned Settings configuration change in a project


 Portable DSL Scripts


Since TeamCity 2018.1, there is an option to generate portable DSL scripts. When the option is enabled, TeamCity generates a single .teamcity/settings.kts script defining a project hierarchy. All ids in portable scripts are relative to the project where versioned settings were enabled, they are expanded to the full id during DSL execution. In portable DSL there is no restriction on a directory name for project settings. All settings can be moved to a single file.
Since portable scripts don't contain absolute ids, they can be used several times on the same or different TeamCity servers. Since there is no restriction on directory name for project settings, branching and merging configs becomes easier.

Common Problems

New URL of Settings VCS Root 


  1. Fix the URL in the Kotlin DSL in the version control and push the fix.
  2.  Disable versioned settings to enable the UI.
  3.  Fix the URL in the VCS root in the UI.
  4.  Enable versioned settings with same VCS root and the Kotlin format again, TeamCity will detect that the repository contains the .teamcity directory and ask if you want to import settings. 
  5. Choose to import settings.


Passwords-Related Questions

Prior to TeamCity 2017.1

Problem: I do not want the passwords to be committed to the VCS, even in a scrambled form.
Solution: You can move the passwords to the parent project whose settings are not committed to a VCS.