Мы можем запустить выпуск из Powershell, вызвав REST API ( Releases - Create ), но не можем передать переменную процесса (устанавливается во время выпуска).
Поскольку мы должны предоставить конкретный artifact version ID
(, какой артефакт будет использоваться для запуска выпуска ) в теле запроса.После предоставления artifact version ID
переменная больше не нужна.
Вы можете обратиться к сценарию PowerShell ниже, чтобы запустить выпуск:
Param(
[string]$collectionurl = "https://{account}.vsrm.visualstudio.com",
[string]$projectName = "GIT",
[string]$user = "username",
[string]$token = "password",
[string]$releasedDefinitionId = "3"
)
# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
function CreateJsonBody
{
$value = @"
{
"definitionId":$releasedDefinitionId,
"artifacts":[{"alias":"_BitBucketDev",
"instanceReference":{"id":"454",
"name":"454",
"definitionId":"58",
"sourceBranch":"master",
}
}
],
"isDraft":false,
"manualEnvironments":[]
"@
return $value
}
$json = CreateJsonBody
$uri = "$($collectionurl)/$($projectName)/_apis/Release/releases?api-version=4.1-preview.6"
$result = Invoke-RestMethod -Uri $uri -Method Post -Body $json -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
$ReleaseID = $result.id
Write-Host "ReleaseID:" $ReleaseID