【问题标题】:How to invoke email-ext plugin from Jenkins declarative script?如何从 Jenkins 声明性脚本中调用 email-ext 插件?
【发布时间】:2017-05-15 14:37:08
【问题描述】:

我正在编写一个简单的 Jenkins 声明性脚本来运行“make”并发送一封包含结果(成功/失败)的电子邮件。

我可以使用以下方式发送一封简单的电子邮件:

post {
    success {
        mail to:"myname@me.com", subject:"${currentBuild.fullDisplayName} - Failed!", body: "Success!"
    }
    failure {
        mail to:"myname@me.com", subject:"${currentBuild.fullDisplayName} - Failed!", body: "Failure!"
    }
}

生成的电子邮件相当简单。

如何从脚本中调用 email-ext 插件来发送旧式的构建后电子邮件? (我想这应该使用 email-ext 的 groovy-text.template)。

我希望能够访问像 CulpritsRecipientProvider 这样的列表并包含控制台日志的尾部。

【问题讨论】:

    标签: jenkins jenkins-email-ext


    【解决方案1】:

    你可以这样使用:

    emailext (
        subject: "STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
        body: """<p>STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
            <p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>""",
        recipientProviders: [[$class: 'DevelopersRecipientProvider']]
    )
    

    更多信息您可以查看:

    【讨论】:

    • 是的,您可以在 Groovy 脚本管道中执行的任何操作都可以在声明式语法中执行,如果您需要一些脚本,请使用“脚本”步骤 jenkins.io/doc/pipeline/steps/pipeline-model-definition/…
    • 再次感谢,所以现在我有: post { success { script: emailext (subject: "STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'", body: """

      已开始:作业 '${env.JOB_NAME} [${env.BUILD_NUMBER}]':

      检查控制台输出 &QUOT;${env.JOB_NAME} [${env.BUILD_NUMBER}]&QUOT;

      """, recipientProviders: [[$class: 'DevelopersRecipientProvider']]) } }
    • 我收到错误:“尝试向空的收件人列表发送电子邮件,被忽略。”如何设置收件人?
    • 丹尼尔,感谢您的帮助。我的问题是我的预期收件人列表因项目而异,因此我无法在全局配置中指定它们。我想在脚本中指定它们。你知道我该怎么做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    相关资源
    最近更新 更多