Child pages
  • Lakhnau 2020.2 EAP2 (build 85058) Release Notes

Versions Compared

Key

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

On this page:

Table of Contents

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:

Image Removed

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.

Image Removed

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.

Image Removed

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:

 

Code Block
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.

Image Removed

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.

Image Removed

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

  • Limiting the number of artifacts published per build
    This helps prevent memory consumption problems in case multiple builds publish many artifacts in parallel.
    This number is set to 1000 in all new installations. On update of an existing TeamCity installation, this number will be set to unlimited. You can change the value in Administration | Server Administration | Global Settings.
    Note that this limit does not consider hidden artifacts.
  • Execution timeout for composite builds
    When a build that is a part of a composite build cannot start (for example, it has no compatible agents), this composite build might run forever until it is terminated manually. Now, you can set an execution timeout for such a build so it fails automatically after being unable to start for a long time.

  • VCS labels in REST API
    See more details in our documentation.

  • Support for a path prefix for S3
    If you use Amazon S3 to store artifacts, you can now set a path prefix. This will allow using the same S3 bucket for all TeamCity projects and configure prefix-based permissions.
  • Health report about insecure Tomcat connection configuration
    If the server is installed behind a reversed HTTP proxy, TeamCity now checks if the secure="true" and scheme="https" attributes are present in the Tomcat connection. If these attributes are missing, TeamCity will display the respective health report.
  • The .NET build runner now supports earlier versions of Visual Studio and MSBuild. Currently supported versions are: Visual Studio 2010 or later, MSBuild 4 / 12 or later.
  • TeamCity has dropped support for Internet Explorer. It is recommended to use Microsoft Edge or any other supported browser instead.

 

Time-limited access tokens

Now, TeamCity can generate time-limited access tokens. You can use these tokens in scripts or REST API requests to grant temporary access to the TeamCity server. After the token’s time limit expires, TeamCity will automatically revoke its access.

You can add a time-limited token in My Settings & Tools | Access tokens:

 Image Added

Monitoring disk usage in external storages

An increasing number of our users prefer storing build artifacts in cloud – for example, in Amazon S3. To address this demand, the Disk Usage monitor now supports external storages.

TeamCity detects all local and remote artifact directories configured on the server and analyses the disk space occupied by builds in these storages.

On the Administration | Disk Usage page, you can switch between the detected storages and see detailed reports:

Image Added

Agent Docker images contain bundled plugins out of the box

Since this EAP, the TeamCity agent Docker images are based on the full agent distribution. The full agent contains all bundled plugins out of the box.
This significantly speeds up the first agent run because the full agent doesn’t need to synchronize all plugins with the server. When launched, it will only download external plugins or tools installed on your server, if any.

Other updates

  • Docker images of the TeamCity Windows agents are now based on version 1909 instead of 1809.
    Currently, Windows agents are published for versions 1903 and 1909.
  • Now, you can get test statistics for personal builds via REST API. To access this data, use the /app/rest/testOccurrences endpoint with the includePersonal locator dimension. For example,

    Code Block
    http://localhost:8111/bs/app/rest/testOccurrences?locator=affectedProject:OneFileSystem,test:(id:<id>),includePersonal:true,orderBy:(name:desc),count:100,start:0&fields=count,testOccurrence(id,name,status,duration,build(id,buildTypeId,personal,number,startDate))

We are working on many new features to be introduced in the following EAP builds. More updates are coming soon – check out our roadmap for details.


...

See all fixed issues.