我正在尝试使用TFS Rest API从PowerShell对新构建进行排队。我可以对新构建进行排队,但我想设置 requestedBy 属性。在文档中可以读到您可以传递其他参数。我找不到任何关于这些参数可以是什么的进一步文档。有谁知道这是否可以做到?
使用tfsbuild.exe
(对 XAML 构建进行排队)您可以传递一个额外的参数,如下所示:
&$tfsBuild.Exe start "url" project definition /requestedFor:"$buildRequestedFor" /queue
编辑
我已经能够得到这个工作。请求的正文如下所示:
$json = "{
""definition"": {
""id"" : 174
}
,""requestedFor"": {
""id"": ""6f4d7323-fa51-4cda-9eb4-7342b02ba087""
}
}" `
您只能使用 id 属性。例如,使用 uniqueName 将失败。
这是完整的PowerShell代码:
$user = ""
$pass= ""
$uri = "http://Instance/DefaultCollection/Project/_apis/build/builds?api-version=2.0"
$json = "{
""definition"": {
""id"" : 174
}
,""requestedFor"": {
""id"": ""6f4d7323-fa51-4cda-9eb4-7342b02ba087""
}
}"
$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ($user, $secpasswd)
Invoke-RestMethod -Uri $uri -Method Post -Credential $cred -ContentType "application/json" -Body $json