Azure devops 在运行时azure devops管道中定义列表变量

Azure devops 在运行时azure devops管道中定义列表变量,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我有一个azure管道YAML文件,我不知道如何在脚本中声明列表变量并在下一步使用它 我想要的是这样的: - script: echo "##vso[task.setvariable variable=packages]@('a','b')" - template: publish-template.yml parameters: packages: packages 或 但我不知道怎么可能 谢谢:)你不能做这种事。变量保留为字符串。所以这个脚本:echo

我有一个azure管道YAML文件,我不知道如何在脚本中声明列表变量并在下一步使用它

我想要的是这样的:

- script: echo "##vso[task.setvariable variable=packages]@('a','b')"
  
- template: publish-template.yml
  parameters:
    packages: packages

但我不知道怎么可能


谢谢:)

你不能做这种事。变量保留为字符串。所以这个
脚本:echo“##vso[task.setvariable=packages]@('a','b')”
将生成一个字符串
('a','b')
。您可以解析is脚本任务并将其视为数组,但并没有办法像您在示例中所示的那个样将数组服务于to级别

请核对:

Yaml变量始终是字符串:字符串映射。该文档当前看起来是正确的,尽管您上次访问时我们可能有一个bug


我们准备在不久的将来发布一个特性,允许您通过更复杂的结构。请继续收看

您正在尝试将宏变量(在运行时设置)与表达式(在管道解析期间展开)混合使用-基本上您不能这样做。Hi@或Gaizer,是否有关于此票证的更新?如果您有任何问题,请随时告诉我。如果答案可以帮助,你可以考虑接受它。我想添加一个下拉菜单,它是由脚本或任务生成的。然后这些值将可供用户选择,然后运行管道
- script: echo "##vso[task.setvariable variable=packages]@('a','b')"
  
- ${{ each package in parameters.packages }}:
  - script: echo ${{ package }}