通过REST API在TeamCity上搜索内部版本号

时间:2017-01-23 00:54:29

标签: teamcity teamcity-rest-api

我们为构建提供唯一的构建号,包括时间戳和git提交。给定其中一个构建号(以及 no 其他信息),我想找到构建它的构建配置。

如果我在右上角的“搜索”框中键入内部版本号,它可以正常工作,列出构建并注意:

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

如何通过REST API访问相同的信息?我已经检查了API docs,但是看不到与UI中公开的通用“搜索”等效的调用。或者,我想直接通过内部版本号获取构建详细信息和/或构建配置(http://teamcity:8111/httpAuth/app/rest/buildTypes),但是虽然有一个number:定位器,但它只能与{一起使用} {1}}(这正是我想要识别的信息)。

1 个答案:

答案 0 :(得分:2)

TeamCity REST API中尝试使用内部版本编号定位器构建请求。

我们在PS脚本中使用API​​方法来按ID检索构建:

$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"