3

我正在拼命地尝试为我的所有管道重构一个 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>)")
        }
    }
}

我可以轻松地创建要调用的自定义函数或要在 step 块中执行的自定义块,但似乎不可能在 customPost 函数中重构整个 post 块 => 我的自定义块不被接受为管道子项。

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

       customPost {

有人知道这是否可行吗?

谢谢

4

0 回答 0