Parece que você já sabe o que deseja fazer e o problema é o grande número de agentes e configurações com os quais você precisa lidar.
Por que não automatizar isso usando a API REST do TeamCity? O servidor do TeamCity tem uma API HTTP integrada que você pode usar para editar / atualizar (quase) qualquer um dos campos que você poderia usar usando a interface web.
Você pode interagir com a API usando sua linguagem de script preferida usando chamadas HTTP GET / PUT para obter e atualizar valores. Nesse caso, acho que valeria a pena você escrever um script para evitar ter que passar pela interface do usuário para atualizar todas as configurações de construção mencionadas.
Você vai escrever um único script (em qualquer linguagem de script que você esteja confortável usando) que você pode executar uma vez para definir todos os requisitos do agente. Pseudo código seguinte
- Iterar sobre os projetos no TeamCity
Obtenha a lista de projetos
curl -i -H "Accept: application/json" http://teamcity/httpAuth/app/rest/projects --user username:password
- Obtenha o parâmetro
XXX_VERSION
dos projetos.
Faça um loop em todos os projetos, obtenha todos os parâmetros e analise nossas XXX_VERSION
curl http://teamcity/app/rest/projects/id:PROJECT_NAME/parameters
- Defina o requisito do agente nas configurações de construção.
Para cada configuração de compilação, em cada projeto, defina os requisitos do agente na configuração de compilação usando o valor XX_VERSION analisado
curl -X PUT http://teamcity/httpAuth/app/rest/buildTypes/<buildTypeLocator>/agent-requirements/<id> --user username:password
Esta é a ideia geral, mas não completa, gastando tempo tirando esse script da maneira que você economizará muito tempo gerenciando-o através da UI do TeamCity.