繁体   English   中英

詹金斯(Jenkins):如何通过变量设置身体内容

[英]Jenkins: how to set body content from a variable

我有一个脚本化的管道。 在我的步骤之一中,我想根据测试结果发送不同的邮件。 这是我现在的做法:

if (buildResult == 'SUCESSS' 
    def email_body="TEST_SUCESS.template"
else
    def email_body="TEST_FAILURES.template"

    emailext(
            subject:  "Job '${env.JOB_NAME} [${env.BUILD_NUMBER}] finished",
            body: "${SCRIPT,template=$email_body}", // LINE A
            recipientProviders: [[$class: 'DevelopersRecipientProvider']],
            to: 'XXXX',
            from: 'YYYY',
            replyTo: 'ZZZZ',
            mimeType: 'text/html',
)

我不能让詹金斯扩展变量email_body的值。 我在A行中尝试了多种方法:

  1. “$ {SCRIPT,模板= $ EMAIL_BODY}”
  2. “$ {SCRIPT,模板= $ {EMAIL_BODY}}”
  3. '' '$ {SCRIPT,模板= $ EMAIL_BODY}' ''
  4. '' '$ {SCRIPT,模板= $ {EMAIL_BODY}}' ''

它们都不起作用。 我在电子邮件中得到的只是:

在$ JENKINS_HOME / email-templates中找不到Groovy模板文件[$ email_body]。

要么

$ {SCRIPT,模板= $ EMAIL_BODY}。

如果电子邮件内容存储在变量中,则设置电子邮件内容的正确方法是什么?

尝试使用以下示例:

String subject = "${env.JOB_NAME} was " + currentBuild.result.toString();
String email_body="TEST_" + currentBuild.result.toString() + ".template"
String body = "SCRIPT,template=" + email_body;
String to="some_mail@mail.com" 
String reply="ZZZ"
emailext(subject: subject, body: body, to: to, replyTo: reply);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM