Нет такого API, но мы можем использовать обычный API и фильтровать результаты.
Например, я использую предоставленный вами API и получил все сборки в пуле, затем отфильтровал результаты с помощью PowerShell, чтобы получить только сборки, ожидающие доступного агента.
Откуда мне знать, кто ждет? в результате JSON для каждой сборки есть некоторые свойства, если сборка запускается на агенте, он получает свойство assignTime
, поэтому я ищу сборки без этого свойства.
#... Do the API call and get the repsone
$json = $repsone | ConvertFrom-Json
$json.value.ForEach
({
if(!$_.assignTime)
{
Write-Host "Build waiting for an agent:"
Write-Host Build Definition Name: $_.definition.name
Write-Host Build Id: $_.owner.id
Write-Host Queue Time $_.queueTime
# You can print more details about the build
}
})
# Printed on screen:
Build waiting for an agent:
Build Definition Name: GitSample-CI
Build Id: 59
Queue Time 2019-01-16T07:36:52.8666667Z
Если вы не хотите перебирать все сборки (что имеет смысл), вы можете получить ожидающие сборки следующим образом:
$waitingBuilds = $json.value | where {-not $_.assignTime}
# Then print the details