首页 > 解决方案 > Azure Devops / Loop 并在单个 bash 脚本中显示所有模板参数

问题描述

模板参数可以通过这种方式显示。每个脚本有一个参数:

- ${{ each parameter in parameters }}:
  - script: echo ${{ parameter.Key }} 

如何遍历参数并将它们全部显示在一个脚本中?

编辑:我忘了指定:

标签: azure-devops

解决方案


您可以尝试使用连接表达式将参数转换为字符串并输出其值:参见以下示例:

parameters:
- name: myArray
  type: object
  default:
    - FOO
    - BAR
    - ZOO

variables:
   A: ${{ join(';',parameters.myArray) }}

steps:
  - script: echo "$(A)" # outputs FOO;BAR;ZOO

更新:

恐怕没有直接的方法来显示多个参数的名称和值。但是,您可以检查以下解决方法以使用Pipeline preview rest api。这样您就可以在单个任务中查看所有参数。请参见以下 powershell 脚本中的示例:

- powershell: |
   $url ="$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/pipelines/$(System.DefinitionId)/preview?api-version=6.1-preview.1"
   $body="{'previewRun': 'true'}"
   $result = Invoke-RestMethod -Uri $url -Headers @{authorization = "Bearer $(System.accesstoken)"} -Method post  -Body $body -ContentType "application/json"
   $result.finalYaml

推荐阅读