Azure DevOps предопределенные переменные - PullRequest
0 голосов
/ 07 апреля 2020

Мне нужно использовать предопределенную переменную Azure DevOps в конвейере выпуска. Я работаю с несколькими артефактами, и мне нужно получить имя проекта от каждого.

Итак, на этапе Inline PowerShell я пытаюсь использовать

RELEASE_ARTIFACTS_ {ARTEFACTNAME} _PROJECTNAME

Но интерполяция работает не так, как хотелось .. Я безуспешно пытался выполнить следующее:

$ProjectName = $("RELEASE.ARTIFACTS.$($var.name).PROJECTNAME")

К сожалению, результат всегда

«RELEASE.ARTIFACTS.varname.PROJECTNAME», а не имя проекта ADO

1 Ответ

1 голос
/ 08 апреля 2020

Возможно, вам придется жестко закодировать псевдоним артефакта в выражении.

#REPOS1 is the artifacts alias defined in release pipeline Artifacts-->Source alias

$ProjectName = $(Release.Artifacts.REPOS1.ProjectName) 

Нельзя обернуть еще один $() внутри $(), например, $(a.$(b).c) в azure конвейерах. Azure конвейер не может разрешить такого рода выражения $ ($ ()).

Ниже выражения не будут работать:

$alias = "Artifacts1"
$ProjectName = $(Release.Artifacts.$($alias).ProjectName)

$ProjectName = $(Release.Artifacts.$(arifactName).ProjectName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...