-
Bug
-
Resolution: Not A Defect
-
Critical
-
None
-
Jenkins Version : 2.263.4
email-ext-plugin Version: 2.84
I am using a custom template that has the following content. The build is failing to send out email Intermittently. Any bug in the plugin?
Any help is appriciated.
Custom template:
Build Information:Build Information: <% def BuildInfolog = build.logFile.text.readLines() def BuildInfoResult = BuildInfolog.findAll { it.contains('Build-info:')} if ( BuildInfolog != null && BuildInfolog.size() > 0 ) { BuildInfoResult.each() { b_list -> println b_list.substring(27) } } %> Git repo HEADs: <% def log = build.logFile.text.readLines() def gitResult = log.findAll { it.contains('git-log:')} if ( log != null && log.size() > 0 ) { gitResult.each() { g_list -> println g_list.substring(27) } } %> <% import java.util.concurrent.* String exec(String... args) { def out = new StringBuffer() def err = new StringBuffer() def process = args.toList().execute() process.consumeProcessOutput(out, err) process.waitForOrKill(5000) if (err) { println "ERROR: executing ${args} returned ${process.exitValue()}" println "STDERR: ${err}" } out } %> Jenkins errors: <% def jenkinslogFile = build.logFile def linesBefore = 30 def linesAfter = 0 def searchinLog = 'at hudson.model.Executor.run' def jenkinsResult = exec('grep', '-B', "${linesBefore}", "${searchinLog}", "${jenkinslogFile}") def cleansedjenkinsResult = jenkinsResult.replaceAll(/\e\[8mha.*?\e\[0m/, "\n") if ( jenkinslogFile != null && jenkinslogFile.size() > 0 ) { println cleansedjenkinsResult } %>Makefile errors: <% def makeklinesBefore = 20 def makesearchinLog = '\\*\\*\\*' def makeResult = exec('grep', '-B', "${makeklinesBefore}", "${makesearchinLog}", "${jenkinslogFile}") def cleansedmakeResult = makeResult.replaceAll(/\e\[8mha.*?\e\[0m/, "\n") if ( jenkinslogFile != null && jenkinslogFile.size() > 0 ) { println cleansedmakeResult } %>Package & Docker log errors: <% def dockerlog = build.logFile.text.readLines() def dockerResult = dockerlog.findAll { it.contains('err:')} if ( dockerlog != null && dockerlog.size() > 0 ) { dockerResult.each() { d_list -> println d_list.substring(27) } } %>Smoketest Information: <% def smoketestlog = build.logFile.text.readLines() def SmoketestResult = smoketestlog.findAll { it.contains('Detail:')} if ( smoketestlog != null && smoketestlog.size() > 0 ) { SmoketestResult.each() { s_list -> println s_list.substring(27) } } %>
Error log at Systemlog of Jenkins:
Jan 13, 2022 4:41:40 PM WARNING org.jenkinsci.plugins.workflow.job.WorkflowRun getLogFileAvoid calling getLogFile on job-name #815 java.lang.UnsupportedOperationException at org.jenkinsci.plugins.workflow.job.WorkflowRun.getLogFile(WorkflowRun.java:1155) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.MethodMetaProperty$GetBeanMethodMetaProperty.getProperty(MethodMetaProperty.java:76) at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:64) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296) at SimpleTemplateScript1.run(SimpleTemplateScript1.groovy:4) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:168) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:180) at hudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:155) at hudson.plugins.emailext.plugins.content.ScriptContent.evaluate(ScriptContent.java:81) at org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:208) at org.jenkinsci.plugins.tokenmacro.Parser.processToken(Parser.java:325) at org.jenkinsci.plugins.tokenmacro.Action$KiHW1UeqOdqAwZul.run(Unknown Source) at org.parboiled.matchers.ActionMatcher.match(ActionMatcher.java:96) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77) at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77) at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77) at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77) at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at org.parboiled.matchers.ZeroOrMoreMatcher.match(ZeroOrMoreMatcher.java:39) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77) at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77) at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351) at org.parboiled.parserunners.BasicParseRunner.run(BasicParseRunner.java:72) at org.parboiled.parserunners.ReportingParseRunner.runBasicMatch(ReportingParseRunner.java:86) at org.parboiled.parserunners.ReportingParseRunner.run(ReportingParseRunner.java:66) at org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:81) at org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:76) at org.jenkinsci.plugins.tokenmacro.Parser.process(Parser.java:85) at org.jenkinsci.plugins.tokenmacro.Parser.process(Parser.java:74) at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:199) at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:237) at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:79) at hudson.plugins.emailext.ExtendedEmailPublisher.addContent(ExtendedEmailPublisher.java:1030) at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:903) at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:509) at hudson.plugins.emailext.EmailExtStep$EmailExtStepExecution.run(EmailExtStep.java:249) at hudson.plugins.emailext.EmailExtStep$EmailExtStepExecution.run(EmailExtStep.java:182) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Looks like you shouldn't be using build.logFile