Yaml 附加到扩展管道作业名称

Yaml 附加到扩展管道作业名称,yaml,azure-devops-pipelines,Yaml,Azure Devops Pipelines,我正在努力扩展Azure DevOps yaml管道中的基本模板。看起来,即使是最简单的操作,在没有好的资源、工具、文档和无信息的错误消息的情况下也是一个挑战。我正在使用yamlint.com和AzDO rest api解析yaml: https://dev.azure.com/{{org}}/{{project}}/_apis/pipelines/{{pielineId}}/runs?api-version=5.1-preview 您可以推荐的任何其他工具都会很有帮助 我的问题;我想从扩展管

我正在努力扩展Azure DevOps yaml管道中的基本模板。看起来,即使是最简单的操作,在没有好的资源、工具、文档和无信息的错误消息的情况下也是一个挑战。我正在使用yamlint.com和AzDO rest api解析yaml:

https://dev.azure.com/{{org}}/{{project}}/_apis/pipelines/{{pielineId}}/runs?api-version=5.1-preview
您可以推荐的任何其他工具都会很有帮助

我的问题;我想从扩展管道中预先准备工作。请解释为什么在下面添加联接不起任何作用

这与预期的效果一样:

- stage: parseBuildJobsWithCondition
  jobs:
  - ${{ each job in parameters.buildJobs }}:        
      ${{ if contains(job.displayName, '1') }}:
        job: ${{ 'thisIsATest' }}  
        steps:
        - ${{ job.steps }}
结果:

resources:
  repositories:
  - repository: templates
    type: git
    name: basePipelineTemplatesHost/basePipelineTemplatesHost
    ref: refs/tags/v1
stages:
- stage: parseBuildJobsWithCondition
  jobs:
  - job: thisIsATest
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1
resources:
  repositories:
  - repository: templates
    type: git
    name: basePipelineTemplatesHost/basePipelineTemplatesHost
    ref: refs/tags/v1
stages:
- stage: parseBuildJobsWithCondition
  jobs:
  - job: job1
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1
- stage: parseBuildJobsWithCondition2
  jobs:
  - job: ext_job1
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1
但尝试引入联接并没有任何作用:

- stage: parseBuildJobsWithCondition
  jobs:
  - ${{ each job in parameters.buildJobs }}:        
      ${{ if contains(job.displayName, '1') }}:
        job: ${{ join('ext_',job.displayName) }}  
        steps:
        - ${{ job.steps }}
结果:

resources:
  repositories:
  - repository: templates
    type: git
    name: basePipelineTemplatesHost/basePipelineTemplatesHost
    ref: refs/tags/v1
stages:
- stage: parseBuildJobsWithCondition
  jobs:
  - job: thisIsATest
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1
resources:
  repositories:
  - repository: templates
    type: git
    name: basePipelineTemplatesHost/basePipelineTemplatesHost
    ref: refs/tags/v1
stages:
- stage: parseBuildJobsWithCondition
  jobs:
  - job: job1
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1
- stage: parseBuildJobsWithCondition2
  jobs:
  - job: ext_job1
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1

我需要读一下join在做什么,但它不起作用。格式是我获得所需结果所需的函数

- stage: parseBuildJobsWithCondition2
  jobs:
  - ${{ each job in parameters.buildJobs }}:        
      ${{ if contains(job.displayName, '1') }}:
        job: ${{ format('ext_{0}',job.displayName) }}  
        steps:
        - ${{ job.steps }}
结果:

resources:
  repositories:
  - repository: templates
    type: git
    name: basePipelineTemplatesHost/basePipelineTemplatesHost
    ref: refs/tags/v1
stages:
- stage: parseBuildJobsWithCondition
  jobs:
  - job: thisIsATest
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1
resources:
  repositories:
  - repository: templates
    type: git
    name: basePipelineTemplatesHost/basePipelineTemplatesHost
    ref: refs/tags/v1
stages:
- stage: parseBuildJobsWithCondition
  jobs:
  - job: job1
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1
- stage: parseBuildJobsWithCondition2
  jobs:
  - job: ext_job1
    steps:
    - task: Bash@3
      inputs:
        targetType: inline
        script: echo This is bash script 1