如何在电子邮件通知中添加作业状态(成功或失败)?

时间:2017-01-04 22:17:51

标签: octopus-deploy

我想在Octopus Deploy的电子邮件通知的主题行中添加作业状态。您能否告诉我要使用的系统变量或其他添加状态的方法?

2 个答案:

答案 0 :(得分:1)

  

跟踪部署状态

     

在部署期间,Octopus提供描述每个步骤状态的变量。

     

如果S是步骤名称,八达通将设置:

     
      
  • Octopus.Step [S] .Status.Code
  •   
  • Octopus.Step [S] .Status.Error
  •   
  • Octopus.Step [S] .Status.ErrorDetail
  •   
     

状态代码包括待处理,已跳过,已放弃,已取消,已运行,成功和失败。

来源:http://docs.octopusdeploy.com/display/OD/System+variables#Systemvariables-DeploymentStatusTrackingdeploymentstatus

所以将此应用于您的电子邮件主题(假设您正在使用内置的发送电子邮件步骤:

Send Email Step

仅供参考:带圆圈的框允许您快速访问变量列表。

您可能希望将值调整为更接近此值,但

Deployment Status = #{Octopus.Step[Other Step Name].Status.Code}

作为这个答案的延伸;您可以迭代所有步骤并输出其状态,我猜。

此处的语法:http://docs.octopusdeploy.com/display/OD/Variable+Substitution+Syntax#VariableSubstitutionSyntax-Repetition(查找重复标题)

Write-Host "Deployment Steps:"
#{each step in Octopus.Step}
    Write-Host "- StepName=#{step}; Status=#{step.Status.Code};"
#{/each}

示例输出

  

部署步骤:

     
      
  • StepName = FirstStep;状态=成功;

  •   
  • StepName = ThisStep;状态=运行;

  •   
  • StepName = YetToBeRun;状态=待定;

  •   

答案 1 :(得分:1)

作为解决方法,您可以使用两个步骤发送“状态 - 电子邮件”:

  1. 一步发送'成功' -email。此步骤应该具有“运行条件”'设置为“成功:仅在前面的步骤成功时才会运行”
  2. 发送'失败的另一步' -email。此步骤应具有“运行条件”。设置为'失败:仅在上一步失败时运行。
  3. 也许是系统变量Octopus.Deployment.Error Octopus.Deployment.ErrorDetail也可以是有用的。enter image description here