【问题标题】:Display HTML page content into Jenkins email在 Jenkins 电子邮件中显示 HTML 页面内容
【发布时间】:2017-04-05 12:20:10
【问题描述】:

我正在尝试将 HTML 页面内容显示到 Jenkins 电子邮件的正文中,我将以下代码添加到可编辑电子邮件插件的默认内容部分:

${FILE,path="/target/surefire-reports/html/index.html"}

我还尝试将以下代码添加到电子邮件插件中的预发送脚本:

def reportPath = build.getWorkspace().child("HealthTestResults.html")
msg.setContent(reportPath.readToString(), "text/html");

这两种方式都不起作用,我仍然收到空邮件。

【问题讨论】:

    标签: jenkins jenkins-email-ext


    【解决方案1】:

    如果你不想再找一份 Jenkins 工作,不妨试试 DSL 怎么样

    你可以:

    1. 添加新的构建步骤“处理作业 DSL”(您将需要 Job DSL Plugin
    2. 将此 Groovy 脚本添加到“使用提供的 DSL 脚本”字段

    Groovy 脚本

    job(jobname_to_your_email_job) {
      publishers {
        extendedEmail {
          recipientList(your_email_list)
          defaultSubject(your_subject)
          defaultContent(your_default_content)
          contentType('text/html')
          triggers {
            always {
              subject(your_subject)
              //read your html file and put it in the content field
              content(readFileFromWorkspace(path_to_your_html_file))
              sendTo {
                recipientList()
              }
            }
          }
        }
      }
    }
    //This will put your email job to the build queue so your email job will run automatically
    queue("Email Report")
    

    当然,你可以根据Docs自定义这部分

    【讨论】:

    • 你能去检查这个 groovy 脚本创建的作业,在后期构建步骤中查看“可编辑电子邮件”的内容字段吗?是不是空的?
    • 我使用了上面提到的 Groovy 脚本。我签入了由 groovy 脚本创建的作业。内容字段包含html脚本...但只接收空邮件
    【解决方案2】:

    试过${FILE,path="target/surefire-reports/html/index.html"}?即没有 /

    【讨论】:

      猜你喜欢
      • 2012-03-11
      • 1970-01-01
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多