18

我的 Jenkins 声明性管道具有以下发布操作:

mail to: '<snip>',
        subject: "Status of pipeline: ${currentBuild.fullDisplayName}",
        body: "${env.BUILD_URL} has result ${currentBuild.result}"

当构建成功时,电子邮件正文的内容是:

<job name> has result null

我知道作业成功时 ${currentBuild.result}" 的值为 null,但这对用户来说不方便。在正文中打印“SUCCESS”(或“FAILURE”等)的推荐方式是什么信息?

4

3 回答 3

42

改为使用${currentBuild.currentResult}

当前结果

通常是成功、不稳定或失败。永远不会为空。

可用全局变量的语法可在${YOUR_JENKINS_URL}/pipeline-syntax/globals. 在Jenkins 文档中查看有关全局变量的更多信息。

另请参阅https://issues.jenkins.io/browse/WEBSITE-364

于 2018-11-14T14:21:54.837 回答
2

您可以在管道的 post 步骤中添加邮件步骤,如下所示:

pipeline {
agent any
stages {
    stage('Example Test') {
        steps {
            echo 'Hello, JDK'
        }
       }
     }
post {
 success {
     echo "${env.BUILD_URL} has result success"
      }
 failure {
     echo "${env.BUILD_URL} has result fail"
      }
     }
 }
于 2018-10-02T15:53:09.210 回答
0

CurrentBuild 包含以下属性。您可以根据需要使用它们。

_class、动作、工件、构建、描述、displayName、持续时间、estimatedDuration、执行程序、fullDisplayName、id、keepLo​​g、数字、queueId、结果、时间戳、URL、changeSets、罪魁祸首、nextBuild、previousBuild、数字

于 2022-03-04T06:08:45.730 回答