What's New in TeamCity 2023.05
Dark Theme
In this release cycle we implemented one of the most upvoted requests: TeamCity Dark Theme. In addition, you can select the "System theme" option that automatically applies either Light or Dark theme depending on your current OS settings.
Interactive Agent Terminals
With this update you can open remote terminals to agent machines directly from the TeamCity UI. These terminals allow project administrators to maintain local and cloud agents and troubleshoot issues.
With this new terminal in place, we removed the older Open SSM Terminal action link from agent pages.
Learn more: Install and Start TeamCity Agents.
VCS Integrations Enhancements
Connect to GitHub via GitHub Apps
Starting with this release, TeamCity can work with GitHub and GitHub Enterprise instances via connections that utilize GitHub Apps. GitHub Apps is the superior way to provide access to your personal and organization repositories. It boasts fine-grained permissions, grants you more control over which repositories the app can access, and does not require keeping a dedicated "service" user to produce OAuth access tokens.
GitHub App connections allow you to check out GitHub.com and GitHub Enterprise repositories, set up webhooks that GitHub uses to notify TeamCity about a repository change, and enable the related authentication module.
Learn more: Configuring Connections.
Reissue Refreshable Tokens for VCS Roots
If a VCS root is configured via TeamCity connections to access Git repositories hosted in Bitbucket Server, Bitbucket Cloud or GitLab, the "Authentication Settings" section of this root's settings now displays the Acquire new button. This button allows you to instantly replace the refreshable token used by the VCS Root with a new token issued for the current user.
Short-lived refreshable tokens provide more security compared to passwords or personal access tokens since the TeamCity server refreshes them automatically without sharing any related data with agents.
Learn more: Refreshable tokens.
Podman Support
Starting with version 2023.05, you can connect to image registries, run build steps inside containers, and push/pull images (via the Command Line runner) using Podman instead of Docker.
The Container Wrapper extension (previously known as "Docker Wrapper") now pulls images via either
docker pull
orpodman pull
, depending on which Container Manager is installed on the build agent.The Docker Support build feature can now use Podman to log in to container registries.
If you use the Command Line runner to execute
podman ...
commands, utilize newcontainer.engine
,podman.version
, andpodman.osType
parameters to specify agent requirements that ensure your builds run only on build agents with installed Podman.
Learn more: Integrating TeamCity with Container Managers.
New Service Messages
Send Slack Messages via Service Messages
TeamCity Service Messages allow you to report various information about the build by adding special messages to your build scripts. The list of available service messages now includes the ##teamcity[notification ...]
message that Slack direct messages and posts updates to Slack channels.
Built-in security features ensure messages cannot be sent to wrong recipients and cannot include links to external web resources that are not configured as trusted.
Learn more: Slack Messages
Add and Remove Build Tags via Service Messages
You can now send TeamCity service messages to add and remove build tags.
To add and remove tags, send the following messages:
Learn more: Service Messages.
IMDSv2 Support for Amazon Machine Images
IMDSv2 is the new version of the Instance Metadata Service by Amazon that addresses a number of IMDSv1 vulnerabilities.
TeamCity 2023.05 supports EC2 instances and Amazon Machine Images (AMIs) with both "Optional" and "Required" IMDSv2 settings. TeamCity always attempts to use IMDSv2 first, but supports older AMIs as well.
REST API Updates
Manage SSH Keys
Starting with version 2023.05, you can perform the full range of operations on projects' SSH keys via REST API: upload and generate new keys, modify VCS authentication settings, set passphrases for encrypted keys, and browse and remove uploaded keys. To do this, send required requests to the /app/rest/projects/<project_locator>/sshKeys
endpoint.
Learn more: SSH Keys Management.
Manage Versioned Settings
Our REST API now allows you to manage settings related to storing project settings in VCS. You can use this new API to modify these settings, check for changes, and load/commit changes from/to the related VCS. Explore the /app/rest/projects/{locator}/versionedSettings/
endpoint to view available requests.
Learn more: Manage VCS Settings.
Manage User Roles
The new /app/rest/roles
endpoint allows you to obtain, modify, and remove existing roles, as well as create new ones.
Learn more: Manage Roles and Permissions.
Manage Server Authentication Settings
You can now send GET
and PUT
requests to the /app/rest/server/authSettings
endpoint to manage server authentication settings.
Learn more: Manage Server Authentication Settings.
Additional Verification for Critical Settings
Starting with version 2023.05, users who pass the two-factor authentication have one hour to perform security-related actions: disable 2FA, change user password and/or email, and generate access tokens. Once this period expires, users must re-confirm their identities and pass a new 2FA verification before proceeding with these actions.
This new behavior adds an extra layer of protection for your TeamCity server.
Learn more: Critical Settings Protection.
The Sakura UI Improvements
The "Chains" Tab for Build Configurations
Build configuration pages now display the "Chains" tab. The page allows you to browse Sankey-like diagram of builds linked into a Build Chain.
Previously, this page was available only in Classic UI.
Updated Parameters Tab on the Build Results Page
We have overhauled the Parameters tab on the Build Results Page. You can now use a search box to find required parameters, view only those parameters that were added/modified during a custom build, and hide parameters reported by dependent builds.
Learn more: Parameters Tab.
Server Health
Health Reports for Archived Projects
You can now generate Server Health reports for archived projects. To do this, select the <Archived Projects> scope.
New Endpoints to Check the Server Status
Added two new endpoints that you can check by sending GET requests to obtain the current server status:
the
<server_URL>/healthCheck/healthy
endpoint returns "200" if a server is running, even if it is still initializing.the
<server_URL>/healthCheck/ready
endpoint returns "200" if a server is fully initialized and ready to accept user requests. If the server is still initializing or awaits for a data upgrade, the endpoint returns "503".
Miscellaneous
The Notifications build feature now allows you to enter multiple recipient addresses.
Added
env.BUILD_URL
to the list of predefined environment variables. This variable returns a link to the current build.The SSH Keys page now displays the button that allows you to generate a new key. Generating keys on TeamCity server is faster and more secure (compared to running
ssh-keygen
locally and manually uploading the keys).TeamCity Enterprise users can now click Help | Support to quickly navigate to the new request form at teamcity-support.jetbrains.com.
Roadmap
See the TeamCity roadmap to learn about future updates.
We'd Love to Hear From You
We place a high value on your feedback and encourage you to share your thoughts and suggestions. See this link for more information: Feedback.