API для удаления нескольких автономных агентов из DevOps Azure - PullRequest
0 голосов
/ 01 марта 2019

Наши агенты сборки Azure DevOps настроены на Kubernetes.Сбойные модули можно легко удалить из куба, но они отображаются как «автономные» агенты из веб-интерфейса Azure DevOps.

С течением времени список оффлайн-агентов вырос очень долго.Есть ли способ программно удалить их?

Ответы [ 2 ]

0 голосов
/ 02 марта 2019
$agents = Invoke-RestMethod -uri 'http://dev.azure.com/{organization}/_apis/distributedtask/pools/29/agents' -Method Get -UseDefaultCredentials
$agents.value |
    Where-Object { $_.status -eq 'offline' } |
    ForEach-Object {
        Invoke-RestMethod -uri "http://dev.azure.com/{organization}/_apis/distributedtask/pools/29/agents/$($_.id)?api-version=4.1" -Method Delete -UseDefaultCredentials
    }

Некоторые предположения для этого решения:

  1. Вы ищете агентов сборки
  2. Вы знаете идентификатор пула, который вы ищете уже.Вы также можете получить это программно или просто просмотреть все пулы, если хотите
  3. У вас нет проблем с удалением каких-либо автономных агентов

Примечание: Я использую Azure DevOps Server, поэтому замените -UseDefaultCredentials на вашу авторизацию.

0 голосов
/ 01 марта 2019

Я думаю, вам нужно использовать комбинацию из этих двух вызовов API:

  1. Получить группы развертывания
  2. Удалить агент
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...