Как установить значение системной переменной в Octopus Deploy из PowerShell

Я пытаюсь присвоить значение встроенной переменной примечаний к выпуску на этапе «Запустить скрипт».

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

На следующем шаге «Отправить электронное письмо» я использую эту переменную в теле письма, но, к сожалению, она пуста.

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

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

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

ИЗМЕНИТЬ:

Я также попробовал командлет Set-OctopusVariable, и он не сработал.

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

person Viktors Telle    schedule 12.01.2017    source источник
comment
Как это связано с моим вопросом? Я спрашиваю, как установить переменную в Octopus Deploy, а не переменную среды в Windows.   -  person Viktors Telle    schedule 12.01.2017


Ответы (2)


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

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

Затем шаг «Отправить электронное письмо» может ссылаться на этот текст, используя следующее (при условии, что первый шаг называется «Первый шаг»):

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

Переменную также можно использовать из скрипта на других этапах, затем используйте синтаксис:

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

(Если вы хотите сохранить сгенерированное примечание к выпуску, возможно, вы можете сохранить его как «артефакт. ' в проекте).

person Daniel Brixen    schedule 14.01.2017
comment
Да, я уже сделал так, и это работает. Моя первоначальная идея состояла в том, чтобы заполнить встроенную переменную примечаний к выпуску, чтобы примечания к выпуску отображались в конкретном выпуске. - person Viktors Telle; 16.01.2017

Я пробовал это с помощью Octoposh. Изменение существующей переменной описано в вики Octoposh по адресу Изменение переменных — изменение переменной из набора переменных проекта/библиотеки.

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

person Tim Rourke    schedule 13.01.2017