Project-based Agent Management Permissions
Starting from this EAP, TeamCity introduces 6 new permissions added to Project Administrators:
1) Enable / disable agents associated with project
2) Start / Stop cloud agent for project
3) Change agent run configuration policy for project
4) Administer project agent machines (e.g. reboot, view agent logs, etc.)
5) Remove project agent
6) Authorize project agent
These agent permissions are project-based. Additionally, these permissions can provide agent pool management rights: if a person is granted a permission to perform a certain agent management action for all projects within a pool, this user can perform this action on all agents in this pool.
If an agent within a pool is assigned to a project where no such permission is granted to the user, the pool management right is revoked.
The Project Administrator role will no longer include the Agent Manager role for the new TeamCity installations. The existing installations will not be affected by this change, but the new permissions are added to Project Managers and it is possible to exclude the inherited agent manager role manually.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, Project Administrators role have 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 system administrator wanted to give Enable / disable agents permission to project administrator, he could do that globally only, after that project administrator would be able to enable / disable all of the agents in TeamCity.
Now Project Administrators can be given Enable / disable agents associated with project permission in some project only. After that only agents belonging to pools with this project only can be enabled / disabled by this project administrator.
The same applies to other agent related permissions which can be bound to projects.
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: