通过REST API在TeamCity上搜索内部版本号
问题描述:
我们为我们的版本提供了独特的版本号,包括时间戳和git提交。给定其中一个内部版本号(和其他信息否),我想找到构建它的构建配置。通过REST API在TeamCity上搜索内部版本号
如果键入的内部版本号为在右上角的“搜索”框,它工作正常,列出构建,并指出:
1 build found (matches in build number — 1) in 662ms
如何通过REST API访问相同的信息?我已检查API docs,但无法看到与UI中公开的通用“搜索”等效的调用。或者,我想直接通过构建号码获取构建细节和/或构建配置(http://teamcity:8111/httpAuth/app/rest/buildTypes),但虽然有一个number:
定位器,但它只能与buildType:
(这正好是我的信息“试图识别)。
答
在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"
谢谢,我尝试过,确实有效。尽管API文档特别指出'number:'是“通过内部版本号查找构建,*提供的构建配置已经被指定*”。 –