2017-01-12 5 views
3

Я пытаюсь присвоить значение встроенной переменной заметок выпуска в шаге «Запустить сценарий».Как установить значение системной переменной в Octopus Deploy из PowerShell

$OctopusParameters["Octopus.Release.Notes"] = "Some release notes" 

На следующем этапе «Отправить письмо на e-mail» Я использую эту переменную в теле письма, но, к сожалению, она пуста.

<p>#{Octopus.Release.Notes}</p> 

Можно ли установить значение переменной системы Octopus Deploy из PowerShell и использовать его на следующем этапе?

Я использую Octopus Deploy 3.7.11.

EDIT:

Я также попытался Командлет Set-OctopusVariable и это не сработало.

Set-OctopusVariable -name "Octopus.Release.Notes" -value "Something" 
+0

Как это связано с моим вопросом? Я спрашиваю, как установить переменную в Octopus Deploy, а не переменную среды в Windows. –

ответ

2

Я не думаю, что можно перезаписать значения встроенных переменных, предоставляемых Octopus Deploy. Но вы можете определить свою собственную выходную переменную и обратиться к ней в следующих шагах. Например, в вашем «Выполнить использование script' шагов:

Set-OctopusVariable -name "MyReleaseNote" -value "Some text here" 

Тогда„Отправить письмо на e-mail“-ступенно может ссылаться на этот текст, используя следующее (предполагая, первый шаг называется„FirstStep“):

#{Octopus.Action[FirstStep].Output.MyReleaseNote} 

переменная также может быть использован из сценария в других шагов, а затем использовать синтаксис:

$relnote = $OctopusParameters["Octopus.Action[FirstStep].Output.MyReleaseNote"] 

(Если вы хотите сохранить сгенерированный releasenote, возможно, вы могли бы сохранить его как "artifact ' в проекте).

+0

Да, я уже сделал это, и это работает. Моя первоначальная идея состояла в том, чтобы заполнить встроенную переменную примечания к выпуску, чтобы заметки о выпуске отображались в конкретной версии. –

0

Ну, после того, как мало исследований, оказывается, есть еще Set-OctopusVariable командлет, который можно использовать при развертывании.

+1

Я пробовал этот командлет, но он не работает, что означает, что он не устанавливает значение переменной. –

0

Я пробовал это с помощью Octoposh. Изменение существующей переменной описано в вики Octoposh по адресу Modifying Variables - Edit a variable of a Project/Library variable set.

Я не смог заставить это работать из-за тайм-аутов в нашей сети, но похоже, что он должен работать - просто не так прямолинейно, как я ожидал.

 Смежные вопросы

  • Нет связанных вопросов^_^