У меня есть серия конвейеров выпуска на Azure DevOps, которые используются для выпуска различных репозиториев в наших средах. Некоторые из этих выпусков останавливаются на локальных, некоторые на постановке и несколько go на всем протяжении жизни. Для отслеживания я хочу увидеть, какая версия выпуска была добавлена в каждую среду. Я могу получить список всех выпусков, используя адрес, описанный здесь: https://docs.microsoft.com/en-us/rest/api/azure/devops/release/releases/list?view=azure-devops-rest-5.1, но я хотел бы сделать то же самое, что и фильтр Azure DevOps «В настоящее время развернут».
Есть идеи?
Похоже, в API нет единого источника для получения эквивалентного представления. Смотрите этот вопрос github здесь .
После разговора в github, как только вы определите, какие среды существуют в ваших определениях релизов. Вы можете сделать это, сделав несколько вызовов к конечной точке развертывания .
Пример PowerShell:
param ( [string]$token, [string]$collection, [string]$projectName ) $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user, $token))) $response = Invoke-RestMethod "https://vsrm.dev.azure.com/$collection/$projectName/_apis/release/definitions?`$expand=Environments&`$top=100&api-version=5.1" -Method 'GET' -Headers @{Authorization = ("Basic {0}" -f $base64AuthInfo)} foreach ($releaseDefinition in $response.value){ write-host $releaseDefinition.name write-host "--------------------------------------------------" foreach ($environment in $releaseDefinition.environments){ write-host $environment.name $definitionEnvironmentId = $environment.id $response = Invoke-RestMethod "https://vsrm.dev.azure.com/$collection/$projectName/_apis/release/deployments?api-version=5.0&deploymentStatus=succeeded&latestAttemptsOnly=true&definitionEnvironmentId=$definitionEnvironmentId&`$top=1" -Method 'GET' -Headers @{Authorization = ("Basic {0}" -f $base64AuthInfo)} write-host $response.value[0].release.name $response.value[0].deploymentStatus $response.value[0].completedOn } write-host "--------------------------------------------------" }