Azure devops 是否有一种方法可以为Azure Devops的yaml管道中的任务动态分配名称?

Azure devops 是否有一种方法可以为Azure Devops的yaml管道中的任务动态分配名称?,azure-devops,azure-pipelines,azure-pipelines-build-task,azure-pipelines-yaml,azure-pipelines-tasks,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,Azure Pipelines Yaml,Azure Pipelines Tasks,我正在使用DownloadPipelineArtifact@2任务并在管道阵列上循环,以下载每个管道的工件。我想在后续任务中使用这些任务的$(BuildNumber)输出 ${{ each p in pipelines }}: - task: DownloadPipelineArtifact@2 displayName: 'Download ${{ p.alias }} Artifact - ${{ p.artifact }}' name: 'Download_${{ p.a

我正在使用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 }}'
不幸的是,我无法这样做,因为我需要按任务的名称引用任务,并且我无法为任务分配动态名称。我听到一个错误说

有效名称只能包含字母数字字符和‘‘’,不能以数字开头

我尝试使用运行时变量、表达式和计数器作为名称,但都失败了,出现了相同的错误。这里我假设name字段是不可动态分配的

如果没有名称字段,所有操作都可以正常工作。但据我所知,我需要任务的名称来引用它并提取它的输出。比如:

{{taskName.BuildNumber}}

如果有人知道我可以通过什么方式动态分配名称,或者通过什么方式可以为循环中的每个任务提取$(BuildNumber),请告诉我。谢谢

是否有一种方法可以为Azure Devops的yaml管道中的任务动态分配名称

恐怕没有这种方法可以动态地为Azure Devops的yaml管道中的任务分配名称 由于任务本身不包含
Name
字段,因此下载工件的
Name
由构建期间生成的工件的名称确定。此任务只需要下载工件,因此此任务不包括重写名称的字段。当我们在该字段的值中使用任何变量时,编译器将解析该字段,然后它将向我们抛出问题中提到的错误:


这是否回答了您的问题?不,这是“显示名称”字段。我的问题是关于“名称”字段。问题是什么?下面的答案是否解决了您的问题,如果没有,请告诉我有关此问题的最新信息?