Я пытаюсь очереди новой сборки из PowerShell с помощью API TFS Rest. Я могу поставить в очередь новую сборку, но я бы хотел установить свойство requestBy. В docs можно прочитать, что вы можете передать дополнительные параметры. Я не могу найти никакой дополнительной документации о том, какими могут быть эти параметры. Кто-нибудь знает, можно ли это сделать?TFS сборка vNext REST API: очереди сборки Запрошенной
Использование tfsbuild.exe
(в очереди XAML сборки) можно передать дополнительный аргумент, как это:
&$tfsBuild.Exe start "url" project definition /requestedFor:"$buildRequestedFor" /queue
Редактировать
Я смог получить эту работу. Тело запроса выглядит так:
$json = "{
""definition"": {
""id"" : 174
}
,""requestedFor"": {
""id"": ""6f4d7323-fa51-4cda-9eb4-7342b02ba087""
}
}" `
Вы можете использовать только идентификатор. Например, использование 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
Связанный (для vNext): http://stackoverflow.com/questions/32326058/tfsbuild-command-line-vnext-2015 – CJBS
Кажется, это решение для powershell: http://stackoverflow.com/questions/32496022/start-vnext-build-from-powershell-and-get-artefacts – CJBS
Я не понимаю, почему эти две ссылки помогают. Я могу запустить новую сборку, это не проблема. Я не могу установить свойство requestBy. –