我在“库”->“变量集”变量下有章鱼变量的名称
1. DatabaseExceptions
2. ReportsExceptions
3. ApplicationExceptions
我已经在章鱼中设置了我的项目“部署过程”作为步骤
1. Database
2. Reports
3. Application
4. Send Email
上述变量通过使用“PowerShell”脚本设置为异常,这些脚本使用脚本中异常的特定步骤的 predeploy.ps1 调用。
在最后一步(发送电子邮件),我试图通过检查特定变量中是否包含信息来发送包含异常变量信息的电子邮件。
我通过选中复选框(“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>