Поиск номера сборки в TeamCity через REST API

Мы даем нашим сборкам уникальные номера сборок, которые включают временную метку и git commit. Учитывая один из этих номеров сборки (и никакой другой информации), я хочу найти конфигурацию сборки, которая его построила.

Если я наберу номер сборки в поле "Поиск" в правом верхнем углу, он будет работать нормально, перечислив сборку и отметив:

1 build found (matches in build number — 1) in 662ms

Как получить доступ к той же информации через REST API? Я проверил документы API, но не вижу вызова, эквивалентного универсальному "поиску", представленному в пользовательском интерфейсе. В качестве альтернативы, я хотел бы напрямую получить сведения о сборке и / или конфигурацию сборки ( http://teamcity:8111/httpAuth/app/rest/buildTypes) только по одному номеру сборки, но хотя есть number: локатор, он может использоваться только в сочетании с buildType: (это именно та информация, которую я пытаюсь идентифицировать).

1 ответ

Решение

Попробуйте собрать запросы с локатором номера сборки в TeamCity REST API.

Мы используем метод API в сценарии PS для извлечения сборок по идентификатору, например так:

$password = ConvertTo-SecureString -String "$teamcityPassword" -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList $teamcityUsername, $password

function GetBuild([string] $buildId) {
    $url = "$teamcityUrl/httpAuth/app/rest/builds/id:$buildId"
    Write-Host "GetBuild:$nl$url"

    return Invoke-RestMethod -Uri $url -Credential $credentials -Verbose -WebSession $session
}

Поэтому я думаю, что вы должны быть в состоянии сделать то же самое с локатором "номер":

$url = "$teamcityUrl/httpAuth/app/rest/builds/number:$buildNo"
Другие вопросы по тегам