jenkinsjenkins-pipelineemail-ext

Embed html report in email body using Email-ext plugin on Jenkins pipeline?


How can I make the email body as the selenium html report. I have followed the methods give in the question Display HTML page inside mail body with Email-ext plugin in Jenkins, but I'm getting error

org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed: WorkflowScript: 6: unexpected token: FILE @ line 6,
column 17.
        body: ${FILE,path="enteryPath/template.html"},
                ^
1 error
at org.codehaus.groovy.control.ErrorCollector.failIfErrors(
ErrorCollector.java:310)
at org.codehaus.groovy.control.ErrorCollector.addFatalError(
ErrorCollector.java:150)
at org.codehaus.groovy.control.ErrorCollector.addError(
ErrorCollector.java:120) 
at org.codehaus.groovy.control.ErrorCollector.addError(
ErrorCollector.java:132) 
at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:350)
at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(
AntlrParserPlugin.java:144)
at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(
AntlrParserPlugin.java:110)
at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:234)
at org.codehaus.groovy.control.CompilationUnit$1.call(
CompilationUnit.java:168)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(
CompilationUnit.java:943)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(
CompilationUnit.java:605)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(
CompilationUnit.java:581)
at org.codehaus.groovy.control.CompilationUnit.compile(
CompilationUnit.java:558)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)     
at groovy.lang.GroovyShell.parse(GroovyShell.java:700)  
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(
CpsGroovyShell.java:129)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(
CpsGroovyShell.java:123)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(
CpsFlowExecution.java:517)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(
CpsFlowExecution.java:480)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(
WorkflowRun.java:269)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:421) Finished: FAILURE

The code I used is:

node {
    stage ('email')
    {
        emailext (
        subject: "some subject",
        body: ${FILE,path="enteryPath/template.html"},
        to: "email@example.com"
        )  

    }
}

Jenkins Version 2.85 Email extension plugin version 2.60 Thanks


Solution

  • I have fixed the issue on pipeline by the following code

    emailext mimeType: 'text/html',
            body: '${FILE,path="Seleniun/test-output/emailable-report.html"}', 
            subject: 'Selenium: Job '${env.JOB_NAME}' Status: currentBuild.result, 
            to: EMAIL_ADD