如何使用 REST API 在 TFS 2015 中触发具有搁置集的生成



我有一个PowerShell脚本(Start-TargetBuild.ps1(,我从2015 vNext团队构建中调用它。 此脚本使用 REST 接口启动另一个团队构建。 该脚本工作正常,除非我尝试将搁置集添加到初始构建。 在这种情况下,我收到以下错误:

Start-TargetBuild : Error in REST API call! 
At \chdfileserver01ITPowerShell_LibraryTeamBuild-Launch.ps1:426 char:2 
+ Start-TargetBuild 
+ ~~~~~~~~~~~~~~~~~ 
+ CategoryInfo : InvalidOperation: (:) [Write-Error], WriteErrorException 
+ FullyQualifiedErrorId : {"$id":"1","innerException":null,"message":"Value cannot be null.rnParameter name: build","typeName":"System.ArgumentNullException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561 
934e089","typeKey":"ArgumentNullException","errorCode":0,"eventId":0}.ErrorDetails.Message,Start-TargetBuild

我错过了什么?

谢谢。

要使用搁置集触发构建,您应该在 REST API 正文中使用 sourceBranch 参数。

sourceBranch: "The shelveset name","The shelveset owner"

作为参考,完整的 json 应该是:

$body = '
{ 
        "definition": {
            "id": 10000
        }, 
        "sourceBranch": "ShelvesetName;Domain\UserName"
}
'

最新更新