0

Jenkins メール スクリプトを作業コピーにコミットし、それを Email-ext で使用するのが好きです。

だから私は次のようなものを書きました:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Building...'
            }
        }
    }
    post {
        always {
            echo 'Sending email...'
            emailext body: '''${SCRIPT, template="${WORKSPACE}\\Src\\Scripts\\Jenkins\\groovy-html2.template"}''',
            mimeType: 'text/html',
            subject: "[Leeroy Jenkins] ${currentBuild.fullDisplayName}",
            to: "user@company.com",
            replyTo: "user@company.com",
            recipientProviders: [[$class: 'CulpritsRecipientProvider']]
        }
    }
}

しかし、次のメールが届きました: Groovy Template file [${WORKSPACE}SrcScriptsJenkinsgroovy-html2.template] was not found in $JENKINS_HOME/email-templates.

4

3 に答える 3

0

コマンドラインを使用してファイルを手動でオーバーライドすることで解決します。

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Building...'
            }
        }
    }
    post {
        always {
            echo 'Sending email...'

            bat "copy /Y ${WORKSPACE}\\Src\\Scripts\\Jenkins\\groovy-html2.template \"${JENKINS_HOME}\\email-templates\\groovy-html2.template\""

            emailext body: '''${SCRIPT, template="${WORKSPACE}\\Src\\Scripts\\Jenkins\\groovy-html2.template"}''',
            mimeType: 'text/html',
            subject: "[Leeroy Jenkins] ${currentBuild.fullDisplayName}",
            to: "user@company.com",
            replyTo: "user@company.com",
            recipientProviders: [[$class: 'CulpritsRecipientProvider']]
        }
    }
}

少し粗雑ですが、機能します。

于 2017-08-14T17:13:58.663 に答える