Я должен иметь возможность ставить сборку в очередь с помощью Rest API.
POST https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0-preview.5
Никак не могу понять, что нужно включить в тело запроса и как его собрать.
Я использую powershell и изменяю скрипт, который я использовал для запроса DevOps, который отлично работает:
function Queue-Build
{
param (
[string] $BuildUri,
[Hashtable] $Headers
)
# Can't figure out how to assemble body
$build = Invoke-RestMethod -Uri $BuildUri -Headers $Headers -Method Post -Body $body
return $build
}
function Set-AuthHeaders
{
[CmdletBinding()]
param (
[string] $UserName = "",
[string] $AccessToken
)
$basicAuth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $UserName,$AccessToken)))
return @{ Authorization = "Basic $basicAuth" }
}
# Azure DevOps settings
$AccessToken = 'my_access_token'
$vstsProjectUri = 'https://org.visualstudio.com/project'
$vstsApiVersion = "5.0-preview.5"
$headers = Set-AuthHeaders -AccessToken $AccessToken
# Queue a new build
$buildDefinitionUri = "$vstsProjectUri/_apis/build/builds?api-version=$vstsApiVersion"
$buildQueueResult = Queue-Build -BuildUri $buildDefinitionUri -Headers $headers
$buildQueueResult