2

DownloadPipelineArtifact@2 タスクを使用し、パイプラインの配列をループして、それぞれのアーティファクトをダウンロードしています。これらの各タスクの $(BuildNumber) 出力を後続のタスクで使用したいと思います。

${{ each p in pipelines }}:
  - task: DownloadPipelineArtifact@2
    displayName: 'Download ${{ p.alias }} Artifact - ${{ p.artifact }}'
    name: 'Download_${{ p.alias }}'
    inputs:
      buildType: specific
      project: $(System.TeamProjectId)
      pipeline: ${{ p.id }}
      preferTriggeringPipeline: false
      runVersion: latestFromBranch
      runBranch: 'refs/heads/${{ p.branch }}'
      artifact: ${{ p.artifact }}
      patterns: ${{ p.patterns }}
      targetPath: '$(Pipeline.Workspace)/artifacts/${{ p.alias }}/${{ p.artifact }}'

残念ながら、タスクを名前で参照する必要があり、タスクに動的な名前を割り当てることができないため、そうすることができません。というエラーが表示されます

有効な名前には、英数字と「_」のみを含めることができ、数字で始めることはできません。

名前にランタイム変数、式、およびカウンターを使用しようとしましたが、すべて同じエラーで失敗します。ここでは、名前フィールドが動的に割り当て可能ではないと想定しています。

名前フィールドがなくてもすべてうまく機能します。しかし、私が理解していることから、タスクを参照して出力を抽出するには、タスクの名前が必要です。何かのようなもの:

{{ taskName.BuildNumber }}

名前を動的に割り当てる方法や、ループ内の各タスクの $(BuildNumber) を抽出する方法を誰かが知っている場合は、お知らせください。ありがとう!

4

1 に答える 1