【发布时间】:2020-07-19 15:54:41
【问题描述】:
我需要在发布管道中使用预定义的 Azure DevOps 变量。 我正在处理几个工件,我需要从每个工件中获取项目名称。
因此,在 Inline PowerShell 步骤中,我尝试使用
RELEASE_ARTIFACTS_{ARTEFACTNAME}_PROJECTNAME
但是插值不能按预期工作.. 我尝试了以下但没有成功:
$ProjectName = $("RELEASE.ARTIFACTS.$($var.name).PROJECTNAME")
不幸的是,结果总是
“RELEASE.ARTIFACTS.varname.PROJECTNAME”而不是 ADO 项目名称
【问题讨论】:
-
IIRC,这些变量被引用
$(var.name)。这不是子表达式。 -
让我更详细一点:
$($var.name) = "REPOS1" $(RELEASE.ARTIFACTS.REPOS1.PROJECTNAME) = PROJECT1但是,当我尝试通过执行$("RELEASE.ARTIFACTS.$($var.name).PROJECTNAME")从脚本中获取值“PROJECT1”时,我得到的结果等于“RELEASE.ARTIFACTS.varname .PROJECTNAME”而不是“PROJECT1”
标签: powershell variables syntax azure-devops