Azure DevOps任务如何使用以前Azure DevOps任务的输出

Azure DevOps任务如何使用以前Azure DevOps任务的输出,azure,azure-devops,Azure,Azure Devops,执行DevOps发布管道时: 当前执行任务2时,我想引用任务1的输出。(任务1从RESTAPI调用检索json。) 它们都在同一个无代理作业中(它们都是RESTAPI调用)。基本上,我试图将它们“链接”在一起,并/或将json输出从任务1传递到任务2 我已经看过关于变量的文档,但是我不确定是否可以通过Task1的输出设置变量,或者如果有内置的东西,比如${PreviousStep.output},那么设置变量会更好 这可能吗?我们可以在管道中创建一个临时文件,并将响应主体保存到该文件中,然后在下

执行DevOps发布管道时:

当前执行任务2时,我想引用任务1的输出。(任务1从RESTAPI调用检索json。)

它们都在同一个无代理作业中(它们都是RESTAPI调用)。基本上,我试图将它们“链接”在一起,并/或将json输出从任务1传递到任务2

我已经看过关于变量的文档,但是我不确定是否可以通过Task1的输出设置变量,或者如果有内置的东西,比如${PreviousStep.output},那么设置变量会更好


这可能吗?

我们可以在管道中创建一个临时文件,并将响应主体保存到该文件中,然后在下一个powershell中读取该文件

在我的示例中,我在第一个powershell任务中获取发布管道定义,并将输出保存到临时文件,然后在下一个powershell任务中读取它

示例管道定义

trigger:
- none

pool:
  vmImage: 'windows-latest'


steps:
- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      New-Item $(Build.SourcesDirectory)\test1.txt
      $outfile = "$(Build.SourcesDirectory)\test1.txt"
      Write-Host $outfile
      $url = "https://vsrm.dev.azure.com/{Org name}/{Project name}/_apis/release/definitions/{Definition ID}?api-version=6.0-preview.4"
      Write-Host "URL: $url"
      $connectionToken="{PAT}"
      $base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
      $pipelineInfo = Invoke-RestMethod -Uri $url -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get
      $pipelineInfo | Out-File -FilePath $outfile
      
      

      

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      $json = Get-Content -Path $(Build.SourcesDirectory)\test1.txt
      Write-Host $json
结果:


任务1是哪个任务?它是一个调用REST api的任务。您的任务在同一个作业中吗?是的,它们都在同一个无代理作业中(它们都是REST api调用)。基本上是试图将它们“链接”在一起和/或将json输出从Task1传递到Task2Hi@JBoothUA,问题是什么?下面的答案解决了你的问题吗?如果没有,你能告诉我关于这个问题的最新信息吗?