在 YAML 模板中引用管道作业名称

时间:2021-03-15 20:00:42

标签: azure-devops

有没有办法在 Azure DevOps YAML 模板中引用作业参数的名称?我知道我可以将作业名称作为它自己的字符串参数传入,但我希望有一些不那么笨拙的东西。

模板.yml

parameters:
- name: MyJob
  type: job

jobs:
- ${{ parameters.MyJob }}

- job: Job2
  dependsOn: # How to make this depend on MyJob?

azure-pipelines.yml

stages:
- stage: Stage1
  jobs:
  - template: template.yml
    parameters:
      MyJob:
        job: SomeJobName
        steps:
        - script: echo Hello

我尝试访问 ${{ parameters.MyJob.name }},但它似乎不存在。

1 个答案:

答案 0 :(得分:0)

我已经想通了,虽然需要大量的反复试验才能获得正确的语法和间距。文档对间距和表达式以及何时用破折号开头不是很清楚。

parameters:
- name: MyJob
  type: job

jobs:
- ${{ parameters.MyJob }}

- job: Job2
  ${{ each pair in parameters.MyJob }}:
    ${{ if eq(pair.key, 'job') }}:
      dependsOn: ${{ pair.value }}
  steps:
  ...