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) を抽出する方法を誰かが知っている場合は、お知らせください。ありがとう!