使用Email-ext插件在邮件正文中显示HTML页面

时间:2016-05-10 09:23:50

标签: email jenkins email-ext

我在Jenkins上使用Email-ext插件时遇到了一些问题。

我添加了以下行,将我的surefire html结果注入插件发送的电子邮件中:

${FILE,path="server/target/site/surefire-report.html"} 

我将contenant类型设为HTML(text / html)

我正在使用Jenkins 1.651.1和Email-ext插件2.42

我在构建结束时收到一封电子邮件,其中包含以下内容

 ${FILE,path="server/target/site/surefire-report.html"} 

这就像插件不明白任何事情。

你有什么想法吗?

对此有何更新? 我的项目结构是这样的:

工作区

    master
    commun 
    server/target/surefire-report/surefire-report.html

3 个答案:

答案 0 :(得分:1)

如果您使用自定义路径,则此答案适合您

我在尝试实现此结果时遇到了麻烦,因为我的路径是动态变化的,而且我必须在 FILE 变量中使用一个变量。所以当我尝试以下任何一项时

body: '${FILE,path=${report}}'
body: "${FILE,path=${report}}"
body: '''${FILE,path=${report}}'''

还有更多,它没有用。另一方面,由于 Jenkins 的限制,我无法使用 groovy 读取文件

我的解决方法是像这样直接使用 groovy sh 命令读取 html

html_body = sh(script: "cat ${report}", returnStdout: true).trim()

然后发送电子邮件

emailext replyTo: '$DEFAULT_REPLYTO',
  subject: "subject",
  to: EMAIL,
  mimeType: 'text/html',
  body: html_body

其中 ${report} 是 html 文件的路径,如 /var/jenkins/workspace_318/report.html

答案 1 :(得分:0)

请注意,文件路径是相对于工作区的,如果文件位于工作区的根目录中,路径中的文件名将起作用,如果它位于不同的位置,请尝试如下所示:

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

答案 2 :(得分:0)

我也有一个问题,邮件中的命令带有错误,可能找不到文件。就像上面提到的那样,该html文件应完全位于jenkins工作区文件夹下。如果没有,则给出相对路径,即使前面加一个“ /”也似乎会引发错误。 例如: 我的文件在C:\ CICDJenkins \ ReadyAPIReport \ summary.html中 我的詹金斯工作空间(即使用自定义工作区)是C:\ CICDJenkins

对我有用的是: $ {FILE,path =“ ReadyAPI_report / overview-summary.html”}