【问题标题】:Azure get "Currently Deployed" list of all release pipelinesAzure 获取所有发布管道的“当前部署”列表
【发布时间】:2020-05-10 14:16:12
【问题描述】:

我在 Azure DevOps 上有一系列发布管道,用于通过我们的环境发布不同的存储库。其中一些版本在本地停止,一些在舞台上,还有一些一直到生活。为了进行跟踪,我想查看每个环境都使用了哪个发布版本。我可以使用此处描述的地址获取所有版本的列表:https://docs.microsoft.com/en-us/rest/api/azure/devops/release/releases/list?view=azure-devops-rest-5.1,但我想做的是相当于 Azure DevOps 的“当前部署”过滤器。

有什么想法吗?

【问题讨论】:

    标签: azure azure-devops azure-pipelines-release-pipeline


    【解决方案1】:

    API 中似乎没有单一来源可以获取等效视图。请参阅此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 "--------------------------------------------------"
    }
    

    【讨论】:

    • 很高兴找到埃里克,谢谢。可惜它还不存在,但至少我不是唯一一个在寻找它的人。我会玩 PS 脚本。
    猜你喜欢
    • 1970-01-01
    • 2022-12-05
    • 2021-06-29
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    相关资源
    最近更新 更多