如何使用 REST API 在 TFS 2015 中使用搁置集触发构建
How to trigger a build with a shelveset in TFS 2015 using REST API
我有一个从 2015 vNext 团队构建调用的 PowerShell 脚本 (Start-TargetBuild.ps1)。此脚本使用 REST 接口启动另一个团队构建。该脚本工作正常,除非我尝试将搁置集添加到初始构建。在那种情况下,我收到以下错误:
Start-TargetBuild : Error in REST API call!
At \chdfileserver01\IT\PowerShell_Library\TeamBuild-Launch.ps1:426 char:2
+ Start-TargetBuild
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : {"$id":"1","innerException":null,"message":"Value cannot be null.\r\nParameter 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"
}
'
我有一个从 2015 vNext 团队构建调用的 PowerShell 脚本 (Start-TargetBuild.ps1)。此脚本使用 REST 接口启动另一个团队构建。该脚本工作正常,除非我尝试将搁置集添加到初始构建。在那种情况下,我收到以下错误:
Start-TargetBuild : Error in REST API call!
At \chdfileserver01\IT\PowerShell_Library\TeamBuild-Launch.ps1:426 char:2
+ Start-TargetBuild
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : {"$id":"1","innerException":null,"message":"Value cannot be null.\r\nParameter 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"
}
'