如何从Azure DevOps Powershell YAML获取输出结果

5
我有一个yaml流水线,使用Azure Powershell任务。以下是任务输出内容:

https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-powershell?view=azure-devops

脚本已经有以下任务输出:

$output = ConvertTo-Json -InputObject @{
    resourceName = "aseName"
    resourceGroupName = "ResourceGroupName"
} -Compress

Write-Output "##vso[task.setvariable variable=output;]$output"

在同一作业中的后续任务中,我需要将它用作{output.resourceName}。通常从设计师那里可以以我想要的方式获取。但是使用YAML我无法弄清楚。 有什么指针吗?
2个回答

4

是的,我参考了它,但缺失的部分是我跳过将字符串输出转换为JSON。谢谢。 - koushik

2
作为一个附注,这可能会在未来节省其他人的一些时间。当您创建一个新的阶段并想引用您的变量时,您还应该在设置变量时添加 "isOutput=true" :
Write-Output "##vso[task.setvariable variable=output;isOutput=true]$output"

当在YAML中引用输出变量时,请使用以下方式调用变量:

- stage: 
  displayName: someName
  variables: 
   output: $[stageDependencies.<stageName>.<jobName>.outputs['<stepname>.output']]
  jobs:
  - job: SomeName
    steps:
    - task: SomeTask

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接