通过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" 
+0

谢谢,我尝试过,确实有效。尽管API文档特别指出'number:'是“通过内部版本号查找构建,*提供的构建配置已经被指定*”。 –