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.

Reply via email to