azure-devops - Azure Devops / Loop 并在单个 bash 脚本中显示所有模板参数
问题描述
模板参数可以通过这种方式显示。每个脚本有一个参数:
- ${{ each parameter in parameters }}:
- script: echo ${{ parameter.Key }}
如何遍历参数并将它们全部显示在一个脚本中?
编辑:我忘了指定:
- 我想显示参数名称和传递给模板的值
- 传递了多个参数,而不是数组类型的单个参数。
解决方案
您可以尝试使用连接表达式将参数转换为字符串并输出其值:参见以下示例:
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
推荐阅读
- javascript - ArangoDB + JSON + Vue 命名法:如果到处使用 kebab-case 会遇到什么问题?
- typescript - 单击按钮后隐藏整行
- angularjs - 有没有办法将日期值传递给 vis.js 时间轴中控制器选项的最小和最大属性?
- docker - 如何阻止 Visual Studio 2017 在调试模式下从 docker 容器打印“线程已退出”消息?
- java - Spring - ServletWebRequest.getHeaderValues() 不返回所有标头
- tomcat - 我无法使用我的域 IP 地址在浏览器中加载 tomcat
- javascript - 在 Chrome 中的指针锁定期间防止鼠标滚轮事件
- r - 我无法理解 R 中如何匹配 2 个向量(因子和数字类型)?
- django - 模板标签中的 Django 用户组与单个数据库命中
- java - 在 onDraw 中调用 canvas.drawCircle 时应用程序崩溃