「ライブラリ」の下にタコ変数があります->「変数セット」変数に名前を付けます
1. DatabaseExceptions
2. ReportsExceptions
3. ApplicationExceptions
そして、ステップとしてタコでプロジェクト「展開プロセス」をセットアップしました
1. Database
2. Reports
3. Application
4. Send Email
上記の変数は、スクリプト内の例外で特定のステップの predeploy.ps1 を使用して呼び出される「PowerShell」スクリプトを使用して、例外を設定します。
最後のステップ(電子メールの送信)で、特定の変数に情報が含まれているかどうかを確認して、例外変数の情報を含む電子メールを送信しようとしていました。
チェックボックス(「Body as HTML」)をチェックして、メール送信ステップの本文でこれを行っています
<h2>Deployment Steps</h2>
<ol>
#{each step in Octopus.Step}
#{if step.Status.Code}
<li>#{step | HtmlEscape} —
#{if Step.Name == "Database"}
#{if Octopus.Action[Database].Output.DatabaseExceptions}
<pre>#{Octopus.Action[Database].Output.DatabaseExceptions}</pre>
#{/if}
#{/if}
#{if Step.Name == "Reports"}
#{if Octopus.Action[Reports].Output.ReportsExceptions}
<pre>#{Octopus.Action[Reports].Output.ReportsExceptions}</pre>
#{/if}
#{/if}
#{if Step.Name == "Application"}
#{if Octopus.Action[Application].Output.ApplicationExceptions}
<pre>#{Octopus.Action[Application].Output.ApplicationExceptions}</pre>
#{/if}
#{/if}
</li>
#{/if}
#{/each}
</ol>
データベースとレポートのスクリプトにエラーがあり、出力は次のようになりますが、これは予想どおり正しいものです
Deployment Steps
1. Database — Exception on processing DB scripts - info:...
2. Reports — Exception on processing Reports - info:...
3. Application
4. Send Email
そして私の質問:
ステップ名と変数名の開始が同じであるため、以下のようにすることは可能ですか?
<h2>Deployment Steps</h2>
<ol>
#{each step in Octopus.Step}
#{if step.Status.Code}
<li>#{step | HtmlEscape} —
#{if Octopus.Action[#{step.Name}].Output.#{step.Name}Exceptions}
<pre>#{Octopus.Action[#{step.Name}].Output.#{step.Name}Exceptions}</pre>
#{/if}
</li>
#{/if}
#{/each}
</ol>