2017-01-12 4 views
3

"スクリプトを実行する"ステップで組み込みのリリースノート変数に値を割り当てようとしています。Octopusでシステム変数の値を設定する方法PowerShellからDeploy

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

次のステップ「電子メールを送信する」この変数は電子メール本文で使用していますが、残念ながら空です。

Octopus Deployシステム変数の値をPowerShellから設定して次のステップで使用できますか?

私はOctopus Deploy 3.7.11を使用しています。

EDIT:

私はまた、コマンドレットSet-OctopusVariableを試してみました、それが動作しませんでした。

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

これは私の質問にどのように関連していますか? Windowsで環境変数ではなくOctopus Deployに変数を設定する方法を尋ねています。 –

答えて

2

Octopus Deployが提供する組み込み変数の値を上書きすることはできないと思います。しかし、あなた自身の出力変数を定義し、それを以下のステップで参照することができます。 「:(FirstStep 『あなた

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

その後-stepが最初のステップが呼び出されると仮定して)次を使用して、このテキストを参照することができ、『メールを送信』script'ステップの使用を実行します』例えば:

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

変数は、構文を使用し、その後、他のステップでスクリプトからも使用することができます:

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

(あなたが生成さreleasenoteを保存したい場合は、おそらくあなたは "artifactとしてそれを救うことができます'プロジェクトで)。

+0

はい、私はすでにこのようにして動作しています。私の最初のアイデアは、リリースノートが特定のリリースで表示されるように、組み込みのリリースノート変数を設定することでした。 –

0

まあ、少し研究した後、あなたがあなたの展開で使用することができますSet-OctopusVariableコマンドレットは、あります表示されます。

+1

このコマンドレットを試しましたが、動作しません。つまり、変数値が設定されていません。 –

0

私はOctoposhを使ってこれを試しました。既存の変数の変更については、Octoposh wiki Modifying Variables - Edit a variable of a Project/Library variable setを参照してください。

私たちのネットワーク上のタイムアウトのためにこれを動作させることはできませんでしたが、それはうまくいくと思われます。私が期待したほど単純ではありません。

関連する問題