TeamCity Cloud 2024.07 Help

What's New in TeamCity 2024.07

Custom Location for Versioned Settings

When you enable synchronization on the Versioned Settings page in your project settings, you can now specify a custom location for your remotely stored Kotlin DSL scripts and XML settings.

Custom settings path

This flexibility is especially beneficial for teams working with monorepos. It allows multiple standalone TeamCity projects to target the same repositories without conflicts, by storing project settings in different custom directories instead of the default .teamcity folder.

Additionally, this feature enables you to organize the versioned settings of all your projects in a single repository. This streamlined approach simplifies DSL script maintenance and enhances security by keeping configuration files separate from your main codebase.

Learn more: Storing Project Settings in Version Control Systems

VCS Intergration Enhancements

New GitHub Checks Webhook Trigger

Version 2024.07 extends the collection of build triggers with a new trigger designed exclusively for GitHub-facing build configurations set up via TeamCity GitHub App connections.

Build summary info on GitHub

The new trigger is an all-in-one solution that implements a two-way GitHub-TeamCity integration: TeamCity configuration runs a build for all pushes, no matter how frequently they occur, and communicates the build result status back to GitHub. With this trigger in place, you no longer need to configure the standard VCS trigger or Commit Status Publisher.

Learn more: GitHub Checks Webhook Trigger

Non-Recursive Submodule Checkout

The Submodules setting of Git VCS roots allows you to choose whether TeamCity should check out submodule repositories referenced by your main repo. The "Checkout" option corresponds to the recursive checkout process, making TeamCity fetch the entire hierarchy of repositories.

The new "Non-recursive checkout" option added in this version allows you to limit the depth of submodule hierarchy by 1. In this mode, TeamCity checks out only those submodules directly referenced by the main repository. Lower-level repositories referenced by submodules are ignored.

Non-recursive checkout

Learn more: Git General Settings

Security Enhancement for TeamCity Connections

Following our commitment to identify and eliminate security vulnerabilities, we have added the new Enable unique callback/redirect URL setting to the following TeamCity connections:

  • Azure DevOps OAuth 2.0

  • Bitbucket Server/Data Center

  • GitHub App (manual)

  • GitHub Enterprise

  • GitLab CE/EE

  • JetBrains Space (manual)

Unique URL in connections

This setting adds a unique string to callback/redirect URLs required to configure OAuth integration with version control systems. Using unique URLs prevents attackers from implementing a malicious authentication server that mimics a real one — the technique used in potential mix-up attacks that trick client applications into leaking VCS authentication codes.

The Enable unique callback/redirect URL setting is enabled by default for all newly created OAuth connections. If you wish to enable it for your existing connections, remember to update the modified URL on the VCS side.

Learn more: Configuring Connections

Upload SSH Keys from the Create Project Page

When you create a new project from an SSH URL, TeamCity shows a list of available SSH keys. Starting from this version, you can upload new keys directly from this page.

Upload SSH key on new project page

This minor enhancement streamlines the workflow by eliminating the need to upload keys in advance from the SSH Keys page.

Learn more: Upload SSH Keys to TeamCity Server

Sakura UI: Problems Page Redesign

We have overhauled the Problems tab of the Project Home Page to simplify the user experience and facilitate build failure investigation and resolution workflows.

Problems tab

In futher release cycles, we expect to update other UI elements related to browsing, investigating, muting, and fixing build problems.

Learn more: Working with Build and Test Failures

NUnit and NAnt Runners Deprecation

Version 2024.07 introduces an updated NUnit runner that, compared to the legacy runner, does not allow you to select a .NET Runtime or .NET Framework version. If needed, use the Additional command line parameters field to specify these settings. In addition, the updated runner no longer supports outdated NUnit 2.x.x versions.

In version 2024.07, both updated and legacy runners are fully functional and available from the Build Steps page. In the following release cycles we expect to unbundle the legacy runner and move it to a separate plugin. When it is done, you will need to manually install this plugin from JetBrains Marketplace to continue using the legacy runner. As such, we recommend migrating your projects to either updated NUnit or regular .NET runners.

Additionally, we are deprecating the NAnt runner. Unlike NUnit, it has no updated counterpart and will only be available via a separate Marketplace plugin once unbundled.

Miscellaneous Changes

  • The list of statistic values reported by TeamCity now includes the AllTestsDuration value.

  • The database connection setup wizard that pops up during the first TeamCity server launch now installs the following JDBC drivers depending on the selected database type:

    • MySQL database file: mysql-connector-j-8.3.0.jar

    • MS SQL server: mssql-jdbc-12.6.0.jre8.jar and sqlserver12-win-auth.jar for authentification.

    • PostgreSQL: postgresql-42.7.1.jar

  • The backslash character (\) is now the default escape symbol that allows you to use special characters in feature branch specifications. This symbol was commonly recommended as an escape symbol in TeamCity documentation and support tickets, and you might already have branch specifications that look like the following:

    #! escape: \ +:release-\(7.1\)

    This first line is no longer required and can be safely removed, but your existing specifications will remain valid even if you don't.

  • TeamCity now supports Perforce depots mapped to multiple workplace locations (the ditto mapping).

  • The VCS Labeling build feature now allows you to specify a string that should be written to the description field of Perforce labels.

    Custom message

Roadmap

See the TeamCity roadmap to learn about future updates.

Your Feedback Matters

We place a high value on your feedback and encourage you to share your thoughts and suggestions. See this link for more information: Feedback.

Last modified: 05 July 2024