在共享库中重构jenkins post块

时间:2018-07-12 19:02:29

标签: jenkins jenkins-pipeline jenkins-shared-libraries

我拼命试图为我所有的管道重构一个post块。 我想在每次执行管道后推送一个松弛通知。 一个管道的代码如下所示:

@Library('prixan-shared-library')
import groovy.json.JsonSlurperClassic

def esJson

pipeline {
    agent any
    stages {
        stage('Check cluster health') {
            // do some stuff
        }

        stage('Check number of elastic results') {
            // do even more stuff
        }
    }
    post {
        unstable {
            slackSend(color: 'warning', message:  "${env.JOB_NAME} - #${env.BUILD_NUMBER} Build unstable - (<${env.BUILD_URL}|Open>)")
        }
        regression {
            slackSend(color: 'danger', message:  "${env.JOB_NAME} - #${env.BUILD_NUMBER} Regression - (<${env.BUILD_URL}|Open>)")
        }
        fixed {
            slackSend(color: 'good', message:  "${env.JOB_NAME} - #${env.BUILD_NUMBER} Back to normal - (<${env.BUILD_URL}|Open>)")
        }
    }
}

我可以轻松地创建一个自定义函数来调用或在一个步骤块中执行一个自定义块,但是似乎无法在customPost函数中重构整个post块=>我的自定义块不被接受为管道孩子。

WorkflowScript: 42: Undefined section "customPost" @ line 42, column 5.

       customPost {

有人知道这是否可行吗?

谢谢

0 个答案:

没有答案