Project-bound Agent Management Permissions
It is a pretty common case when Project administrators require permissions to manage their agent pools. Usually project administrators need to perform the following tasks with their pools:
- authorize or add agents in their pools
- enable / disable agents from their pools
- reboot agent machines or view agent logs
- if agents are cloud based - have an ability to start / stop agent machines
- remove agents
In order to simplify these tasks, the Project Administrator role has got a set of agent-related permissions bound to projects. For example, let's have a look at Enable / disable agents permission.
Before this EAP, if a system administrator wanted to give the Enable / disable agents permission to a project administrator, he/she could do that globally only. After that the project administrator would be able to enable / disable all of the agents on the TeamCity server.
Now Project Administrators can be given Earlier, agent-related permissions like authorize or enable were possible to grant only globally (for all the agents on the server). Now we introduce agent's project-related permissions which allow performing a task on an agent, provided that affected are only the projects where the user has specific permission granted. For example, user with "Enable / disable agents associated with project" permission in some projects, can enable or disable agents which belong to the pools of the related projects (user needs to have the permission in all the projects associated with the pool).
Newly added permissions are:
- Enable / disable agents associated with project
- Start / Stop cloud agent for project
- Change agent run configuration policy for project
- Administer project agent machines (e.g. reboot, view agent logs, etc.)
- Remove project agent
- Authorize project agent
The last one together with "max agents" setting for an agent pool allows to set up the system in a way which allows project administrators to run new agents and authorize/add them to their pools without any participation of the global server administrator.
In new installations, these project-related permissions are added to Project Administrator role. If you are upgrading, no permissions changes are applied: you might want to review the permissions after upgrade. e.g. You can consider removing Agent Manager role inclusion from Project Administrator role and add the above-mentioned permissions to Project Administrator role.
Flaky Test Detection
TeamCity now supports flaky test detection. A flaky test is a test that is unstable (can exhibit both a passing and a failing result) with the same code.
Flaky test detection is based on the following heuristics: