gpt4 book ai didi

Azure获取 "Currently Deployed"所有发布管道的列表

转载 作者:行者123 更新时间:2023-12-03 00:04:15 27 4
gpt4 key购买 nike

我在 Azure DevOps 上有一系列发布管道,用于通过我们的环境发布不同的存储库。其中一些版本仅在本地发布,一些处于登台状态,还有一些则一路上线。为了进行跟踪,我想查看每个环境已进入哪个发行版本。我可以使用此处描述的地址获取所有版本的列表:https://learn.microsoft.com/en-us/rest/api/azure/devops/release/releases/list?view=azure-devops-rest-5.1 ,但我想做的是执行与 Azure DevOps 的“当前部署”过滤器等效的操作。

releases image

有什么想法吗?

最佳答案

API 中似乎没有单一来源可以获取等效 View 。看这个github issue here

按照 github 中的对话,一旦您掌握了发布定义中存在哪些环境。您可以通过多次调用 deployments endpoint 来完成此操作。 。

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 "--------------------------------------------------"
}

关于Azure获取 "Currently Deployed"所有发布管道的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59893287/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com