我正在尝试为"运行脚本"中的内置发行说明变量赋值。步骤
$OctopusParameters["Octopus.Release.Notes"] = "Some release notes"
在下一步"发送电子邮件"我在电子邮件正文中使用此变量,但不幸的是它是空的。
<p>#{Octopus.Release.Notes}</p>
是否可以从PowerShell设置Octopus Deploy系统变量值并在下一步中使用它?
我正在使用Octopus Deploy 3.7.11。
修改
我也尝试了cmdlet Set-OctopusVariable
,但它没有用。
Set-OctopusVariable -name "Octopus.Release.Notes" -value "Something"
答案 0 :(得分:3)
我认为不可能覆盖Octopus Deploy提供的内置变量的值。但您可以定义自己的输出变量,并在以下步骤中引用它。例如,在“运行脚本”步骤中使用:
Set-OctopusVariable -name "MyReleaseNote" -value "Some text here"
然后“发送电子邮件”-step可以通过使用以下内容来引用此文本(假设第一步称为“FirstStep”):
#{Octopus.Action[FirstStep].Output.MyReleaseNote}
该变量也可以在其他步骤中从脚本中使用,然后使用语法:
$relnote = $OctopusParameters["Octopus.Action[FirstStep].Output.MyReleaseNote"]
(如果您想保存生成的发行说明,也许可以将其保存为项目中的“artifact”。
答案 1 :(得分:0)
我尝试使用Octoposh。修改现有变量的内容在Modifying Variables - Edit a variable of a Project/Library variable set的Octoposh wiki中有所介绍。
由于我们的网络超时,我无法让它工作,但它看起来应该有效 - 只是不像我预期的那样直截了当。