Azure devops 是否在发布管道中共享生成队列定义的变量?

Azure devops 是否在发布管道中共享生成队列定义的变量?,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我们如何在发布管道中使用构建管道队列定义的变量 使用a并在生成和发布之间共享变量组。使用a并在生成和发布之间共享变量组。假设您在生成管道上创建了类似于PipelineVariable的变量,并指定了默认值或在排队时指定了一个值。假设您将参数值设置为Testing 在发布管道中,可以使用获取队列时间参数。您可以使用调用API的内嵌powershell脚本并使用命令保存发布变量,使其可用。如果您正在输入队列时间变量,您可能希望使用此选项,而不是使用变量组 $uri = "https://dev.az

我们如何在发布管道中使用构建管道队列定义的变量

使用a并在生成和发布之间共享变量组。

使用a并在生成和发布之间共享变量组。

假设您在生成管道上创建了类似于
PipelineVariable
的变量,并指定了默认值或在排队时指定了一个值。假设您将参数值设置为
Testing

在发布管道中,可以使用获取队列时间参数。您可以使用调用API的内嵌powershell脚本并使用命令保存发布变量,使其可用。如果您正在输入队列时间变量,您可能希望使用此选项,而不是使用变量组

$uri = "https://dev.azure.com/{organization}/{project}/_apis/build/builds/$(Build.BuildId)"

$buildParameters = Invoke-RestMethod -uri $uri -Headers @{ Authorization = "Bearer 
$env:SYSTEM_ACCESSTOKEN" } -Method Get |
    Select-Object -ExpandProperty parameters | 
    ConvertFrom-Json

$buildParameters |
    Get-Member -MemberType NoteProperty |
    Select-Object -ExpandProperty Name |
    ForEach-Object { 
        Write-Host "##vso[task.setvariable variable=$_]$($buildParameters.$_)"
    }
现在,在以下阶段中,您可以引用该值。例如,如果创建了内联powershell脚本以打印值:

Write-Host "$env:PIPELINEVARIABLE"
返回:

测试


假设您在构建管道上创建了类似于
PipelineVariable
的变量,并指定了默认值或在队列时指定了一个值。假设您将参数值设置为
Testing

在发布管道中,可以使用获取队列时间参数。您可以使用调用API的内嵌powershell脚本并使用命令保存发布变量,使其可用。如果您正在输入队列时间变量,您可能希望使用此选项,而不是使用变量组

$uri = "https://dev.azure.com/{organization}/{project}/_apis/build/builds/$(Build.BuildId)"

$buildParameters = Invoke-RestMethod -uri $uri -Headers @{ Authorization = "Bearer 
$env:SYSTEM_ACCESSTOKEN" } -Method Get |
    Select-Object -ExpandProperty parameters | 
    ConvertFrom-Json

$buildParameters |
    Get-Member -MemberType NoteProperty |
    Select-Object -ExpandProperty Name |
    ForEach-Object { 
        Write-Host "##vso[task.setvariable variable=$_]$($buildParameters.$_)"
    }
现在,在以下阶段中,您可以引用该值。例如,如果创建了内联powershell脚本以打印值:

Write-Host "$env:PIPELINEVARIABLE"
返回:

测试


或者Martin Hinshelwood在阶段之间保存和重新水化变量的任务:这很有趣,我不知道您可以将变量组链接到构建定义,感谢Martin Hinshelwood在阶段之间保存和重新水化变量的任务:这很有趣,我不知道您可以将变量组链接到构建定义,谢谢如果你要否决我的答案,我希望至少有一个理由。如果你要否决我的答案,我希望至少有一个理由。