2014-05-07 68 views
2

扩展电子邮件通知的“默认内容”,如下设置和默认的内容类型发送常规代码是“HTML(text/html的)”:詹金斯电子邮件分机插件在电子邮件正文

<html> 
<body> 
<% 
    if(build.testResultAction) { 
     def testResult = build.testResultAction 
     def testCount = String.format("%.2f",(testResult.totalCount)) 
     def testPassed = String.format("%.2f",()) 
     def testFailed = String.format("%.2f",(testResult.result.failCount)) 
     def testSkipped = String.format("%.2f",()) 
     def buildDuration = String.format("%.2f",(testResult.result.duration)) 
    } 
%> 
Hi All,<br><br> 

The execution of the Automation suite has been completed and the results are as below.<br><br> 

<b><u>Configuration :</u></b><br> 
Project Name : $JOB_NAME<br> 
Test Server URL : $Test_Server_URL<br> 
Group Name : $Group_Name<br><br> 

<b><u>Execution Results :</u></b><br> 
Status : <font color="blue">$BUILD_STATUS</font><br> 
Tests run : $testCount<br> 
Failures : $testFailed<br> 
Errors : 0<br> 
Skipped : 0<br> 
Total time : $buildDuration<br> 
Finished at: Tue May 06 17:12:19 IST 2014<br> 
Build URL : $BUILD_URL<br><br> 

The HTML version of the automation results and the log file is attached with this e-mail for your reference.<br><br> 

Regards,<br> 
Jenkins CI Tool 
</body> 
</html> 

但是,报告电子邮件在其主体中具有groovy代码本身,而不是预期值。

+0

顺便说一句,如果这个脚本放在test.groovy下电子邮件-EXT插件用@Akos Bannerth答案作为运行按照以下说明,然后我们上线7和9的异常。 。遗漏了什么 ? msgstr“”“在模板呈现过程中引发异常:无法解析模板脚本(您的模板可能包含错误或尝试使用当前不支持的表达式):startup failed:SimpleTemplateScript1.groovy:7:unexpected token:)@ line 7,column 48. assed = String.format(“%。2f”,())^ 1“”“ – gaoithe

回答

6

检查emai-ext plugin的维基页面有关使用脚本内容,有没有描述的步骤:

  1. 把你的Groovy脚本到一个文件
  2. 将它放在詹金斯大师,JENKINS_HOME/email-templates/
  3. 下在电子邮件配置中,使用脚本标记替换内容:${SCRIPT, template="name-of-template"}
0

此处仅供参考, @Vel Ganesh修正了语法。 这很粗糙,但与詹金斯合作2.7.4 2017年1月)。

按照@Akos Bannerth的答案。 将groovy脚本放入test.groovy文件中。

<html> 
<body> 
<% 

    import hudson.model.* 

    def build = Thread.currentThread().executable 
    def buildNumber = build.number 
    def buildNameJ = build.getDisplayName() 

    def testCount = "0" 
    def testPassed = "0" 
    def testFailed = "0" 
    def testSkipped = "0" 
    def buildDuration = "0" 
    if(build.testResultAction) { 
     def testResult = build.testResultAction 
     testCount = String.format("%d",(testResult.totalCount)) 
     testPassed = String.format("%d",(testResult.result.passCount)) 
     testFailed = String.format("%d",(testResult.result.failCount)) 
     testSkipped = String.format("%d",(testResult.result.skipCount)) 
     buildDuration = String.format("%.2f",(testResult.result.duration)) 
    } 

    def workspace = build.getEnvVars()["WORKSPACE"] 
    def buildName = build.getEnvVars()["JOB_NAME"] 
    def BUILD_STATUS = build.getEnvVars()["BUILD_STATUS"] 
    def BUILD_URL = build.getEnvVars()["BUILD_URL"] 
    def Test_Server_URL = build.getEnvVars()["Test_Server_URL"] 
    def Group_Name = build.getEnvVars()["Group_Name"] 
%> 

Summary test report <br><br> 

<b><u>Configuration :</u></b><br> 
Workspace : $workspace<br> 
Project Name : $buildName $buildNameJ<br> 
Test Server URL : $Test_Server_URL<br> 
Group Name : $Group_Name<br><br> 

<b><u>Execution Results :</u></b><br> 
Status : <font color="blue">$BUILD_STATUS</font><br> 
Tests run : $testCount<br> 
Failures : $testFailed<br> 
Errors : . . . TODO . . . <br> 
Skipped : $testSkipped<br> 
Total time : $buildDuration<br> 
Finished at: Tue May 06 17:12:19 IST 2014<br> 
Build URL : $BUILD_URL<br><br> 

test.groovy 

</body> 
</html> 
相关问题