3

すべてのパイプラインの投稿ブロックを必死にリファクタリングしようとしています。パイプラインの実行ごとにスラック通知をプッシュしたいと思います。1 つのパイプラインのコードは次のようになります。

@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 関数でポスト ブロック全体をリファクタリングすることは不可能のようです => カスタム ブロックがパイプラインの子として受け入れられません。

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

       customPost {

それが実現可能かどうか誰かが知っていますか?

ありがとうございました

4

0 に答える 0