首页 > 解决方案 > 管道脚本中具有默认主题和正文的 Jenkins emailext 插件

问题描述

我将 Jenkins 与电子邮件扩展插件和声明性管道一起使用。在 https://jenkinsserver/configure 我配置了我想在管道脚本中使用的“默认主题”和“默认内容”。当我将以下代码添加到管道脚本时,一切正常。

post {
        always {
            emailext (
                to: 'my@my.dom', 
                replyTo: 'my@my.dom', 
                subject: "foo", 
                body: "bar", 
                mimeType: 'text/html'
            );
        }
    }

但是我不想在管道脚本中指定一些东西,一切都应该使用全局配置中指定的数据来完成。当我删除所有内容并调用emailext ();它失败时,主题丢失的评论。我该怎么做才能使用全局指定的默认值?

标签: jenkinsjenkins-pipelineemail-ext

解决方案


插件文档中所述:

email-ext 插件使用令牌允许将动态数据插入收件人列表、电子邮件主题行或正文中。标记是一个以 $(美元符号)开头并以空格结尾的字符串。触发电子邮件时,主题或内容字段中的任何标记都将被它所代表的实际值动态替换。

此管道块应使用 Jenkins 配置中的默认主题和内容:

post {
        always {
            emailext (
                to: 'my@my.dom', 
                replyTo: 'my@my.dom', 
                subject: '$DEFAULT_SUBJECT',
                body: '$DEFAULT_CONTENT',
                mimeType: 'text/html'
            );
        }
    }

确保使用单引号,否则 Groovy 将尝试扩展变量。


推荐阅读