On this page:

OAuth support

TeamCity now supports OAuth authentication for GitHub.com and Bitbucket Cloud users.

With OAuth, your project members will be able to authenticate on the TeamCity server with their external credentials. In case of GitHub, you can also restrict access to members of your GitHub organization.

To enable OAuth:

  1. In Projects Settings of the Root project, configure a connection to your OAuth provider.

  2. Go to Administration | Server Administration | Authentication.

  3. Switch to the advanced mode and click Add module.

  4. Under HTTP modules, select the required module and configure its settings.
    You can also select if TeamCity allows creating new users on login or only authorize existing ones.

When logging in to the TeamCity server, users will be able to choose the necessary provider:

In our next updates, we plan to support OAuth for GitLab and Azure DevOps.

Customizable clean-up schedule

TeamCity server clean-up becomes more flexible with the support of cron-like expressions. Now you can customize the schedule so the clean-up starts with any necessary regularity: for example, on weekends or twice a day.

Remember that too frequent clean-ups might extensively load the CPU, and too rare clean-ups take more time and might lead to garbage accumulation. We recommend keeping the clean-up schedule balanced.

Muting failed tests after successful retry

The TeamCity test retry functionality is convenient for build configurations with flaky tests. Such tests can alternately fail and succeed when applied to the same source revision, and you might want to exclude their influence on the build status. Now, if test retry is enabled, a successful run of a test automatically mutes its previous failure.

To apply this setting to a build configuration, go to Build Configuration Settings | Failure Conditions and enable the "support test retry: successful test run mutes previous test failure" option. Now, TeamCity will mute a failed test if it eventually succeeds during the same build run. This test will not affect the build status, and the build will finish successfully given it has no other problems.

You can instruct your testing framework to enable/disable this failure condition in runtime via the ##teamcity[testRetrySupport enabled='true'] service message.

If you use Kotlin DSL to store project settings, use the following syntax to enable this option:


object BuildConfigName : BuildType({
	name = "BuildConfigName"

	failureConditions {
		supportTestRetry = true

Commit Status Publisher supports reporting commits to JetBrains Space

The Commit Status Publisher build feature now supports JetBrains Space. With this feature, your TeamCity build statuses can be automatically published to a JetBrains Space project in real-time.

To configure this integration, follow the steps below.

In JetBrains Space:

  1. Go to Administration | Applications and click New application.

  2. Select the Service Account type of the application and enter a convenient name (for example, TeamCity-to-Space publisher).

  3. Click Edit requested rights and enable the Git Repositories | Push commit status permission.

  4. Click Create to save the application.

  5. In the application list, select your new application and copy its autogenerated Client ID and Client secret.

  6. In the Project Settings | Applications of your Space project, add the TeamCity application to the list of authorized apps.

In TeamCity:

  1. In the project’s settings:

    1. In VCS Roots, configure a VCS root that points to your Space repository.

    2. In Connections, add a connection with the JetBrains Space type.

    3. Enter the connection name and Space settings:

      1. URL of the Space server.

      2. Client ID of your Space application.

      3. Client secret of your Space application.

  2. In the build configuration’s settings:

    1. In Build Features, add the Commit status publisher build feature.

    2. Select the JetBrains Space publisher and the recently created connection.

    3. Specify the name that will be displayed for this service in Space.

    4. Save the settings.

Now, whenever you run a build in this configuration, TeamCity will report the build status to JetBrains Space.

Experimental UI updates: new header and support for plugins

In terms of EAP, you can try the experimental UI header and leave us feedback about its new look.

The header is still a work in progress – it can be enabled by setting the teamcity.ui.sakuraHeader=true internal property.

We have also reimagined our approach to creating TeamCity plugins. Now, you can write plugins for the experimental UI using modern web technologies and different frameworks. All existing plugins will continue to work as before.
Follow our blog to learn more about the new plugin functionality – we are about to share details very soon.

Other updates


See all fixed issues.