Jenkins emailext 插件在管道脚本中具有默认主题和正文

Dav*_*nig 3 jenkins email-ext jenkins-pipeline

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

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

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

hil*_*rat 5

如插件文档中所述:

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

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

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

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