我在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
答案 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”}