Я пытаюсь поставить в очередь сборку с использованием REST API Azure Devops, но продолжаю сталкиваться с ошибками. Я передаю все обязательные значения, необходимые для API, но все равно получить значение не может быть нулевой ошибкой.
Уже просмотрел документацию, но не смог найти пример кода. Я пытался создать сценарий powershell, используя документацию API, но изо всех сил пытался его запустить.
Param(
[string]$vstsAccount = "xxxxx",
[string]$projectName = "yyyyy",
[string]$definitionId = "1",
[string]$keepForever = "true",
[string]$personalAccessToken = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",
[string]$accountname = "example",
[String]$adminemail = "example@example.com",
[String]$adminpassword = "example"
)
# Base64-encodes the Personal Access Token (PAT)
$headers = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($personalAccessToken)")) }
# Construct the REST URL
$uri = "https://dev.azure.com/$vstsAccount/$projectName/_apis/build/builds?api-version=5.0"
Write-Host "Uri :" $uri
$params =
@"
{
"definition": $definitionId,
"description": "Create Release from PowerShell Script",
"artifacts": [],
"isDraft": false,
"reason": "New tenant email Trigger",
"manualEnvironments": null,
"environmentsMetadata": null,
"properties": null,
"variables": {
"accountname": {
"value": "$accountname",
"allowOverride": true
},
"adminemail": {
"value": "$adminemail",
"allowOverride": true
},
"adminpassword": {
"value": "$adminpassword",
"allowOverride": true
}
}
}
"@
Write-Host "Request Body :" $params
# Invoke the REST call and capture the results
$result = Invoke-RestMethod -Uri $uri -Method POST -Body $params -Headers $headers -ContentType "application/json" -Verbose -Debug
Write-Host "Result :" $result
# This call should only provide a single result
if ($result.count -eq 0)
{
Write-host "Unable to locate Release Definition Id $definitionId"
}
else
{
Write-host "Successfully triggered the VSTS release job !!!"
}
Надеюсь получить совет, который выполнит это. Я также передаю 3 переменные в сборку, которые будут использованы в качестве переменных конвейера в конвейере сборки Azure Devops.