I thought there was a try/catch around the template evaluation, but I might have left that off so errors would just propagate. I could look again, because that error really was painful.
On Mon, Sep 7, 2015, 15:06 Andy Nicholas <[email protected]> wrote: > Yes, that seems to have provided a big clue. The Axis that was being used > for the "toolchain" was AXIS1 and that doesn't exist. We defined our own > axes, so maybe I can rewrite the script around the issue. > > It would be nice if the template didn't crash if an axis didn't exist > tho... ;-) > > But I definitely like the groovy scriping much better than the jelly... > much clearer and easier to change. > > Thank you! > > andy > > On Mon, Sep 7, 2015 at 12:15 PM, Slide <[email protected]> wrote: > >> Can you try commenting out pieces of the template to see what is causing >> the exception? >> >> On Mon, Sep 7, 2015, 12:04 Andy Nicholas <[email protected]> >> wrote: >> >>> Hello, >>> >>> I'm trying to send email containing the sub-status of various build >>> "flavors" (debug, release) for a Matrix combinations job which runs both >>> builds. Currently, from Jelly this seems difficult so we are trying to use >>> the Groovy matrix email template from the Email-Ext plugin: >>> >>> >>> >>> https://wiki.jenkins-ci.org/download/attachments/3604514/jenkins-matrix-email-html.template?version=1&modificationDate=1332562186000 >>> >>> >>> BUT >>> >>> I get this exception below when I try to run the Email-Ext's tester for >>> email templates. I'm trying to use the standard Groovy matrix email >>> template from the Email-Ext plugin page. I'm invoking this test on a Matrix >>> combination job that we have. >>> >>> Using Jenkins 1.616, Ubuntu 14.04, installed Groovy using apt-get, >>> Email-Ext 2.40.05. The type of job (matrix or freestyle) does not seem to >>> matter; the template tester always crashes. >>> >>> I am able to use the standard Jelly email templates with the Email-Ext's >>> template tester, no problem. The issue seems to only happen using Groovy >>> templates. >>> >>> >>> Anyone have any ideas what's wrong? Am I missing a dependency? Or >>> missing an Axis or ??? >>> >>> Thank you, >>> >>> andy >>> >>> -- >>> >>> Exception raised during template rendering: null >>> java.lang.NullPointerException at >>> java.util.TreeMap.getEntry(TreeMap.java:342) at >>> java.util.TreeMap.get(TreeMap.java:273) at java_util_Map$get.call(Unknown >>> Source) at >>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) >>> at >>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) >>> at >>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) >>> at SimpleTemplateScript1.run(SimpleTemplateScript1.groovy:126) at >>> groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:165) >>> at >>> groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:177) >>> at >>> hudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:138) >>> at >>> hudson.plugins.emailext.plugins.content.ScriptContent.evaluate(ScriptContent.java:75) >>> at >>> hudson.plugins.emailext.EmailExtTemplateAction.renderTemplate(EmailExtTemplateAction.java:128) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> at java.lang.reflect.Method.invoke(Method.java:606) at >>> org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) at >>> org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at >>> org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) >>> at >>> org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:490) >>> at >>> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) >>> at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at >>> org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at >>> org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411) at >>> org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at >>> org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at >>> org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:813) at >>> org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at >>> org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) at >>> org.kohsuke.stapler.Stapler.service(Stapler.java:199) at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at >>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) >>> at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123) >>> at >>> hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:95) >>> at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120) >>> at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114) >>> at >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>> at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) >>> at >>> hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>> at >>> jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>> at >>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>> at >>> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>> at >>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>> at >>> jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>> at >>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) >>> at >>> hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) >>> at >>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>> at >>> hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) >>> at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>> at >>> org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) >>> at >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>> at >>> hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) >>> at >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>> at >>> org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) >>> at >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) >>> at >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) >>> at >>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) >>> at >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) >>> at >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) >>> at org.eclipse.jetty.server.Server.handle(Server.java:370) at >>> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960) >>> at >>> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021) >>> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at >>> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at >>> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) >>> at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at >>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>> at java.lang.Thread.run(Thread.java:745) >>> >> > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAPiUgVdzdm0cDFDjG3zEUPmr2EQn_%3Djn1wf%2B%3Df1q0kwOVh8O%2BA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
