Thanks for looking into this - replying late but yes I tried explicit imports to no avail. Makes sense that a different class loader was being used.
Look forward to testing an updated version when available. Darren On 11 April 2012 21:06, Slide <slide.o....@gmail.com> wrote: > Ok, it looks like the groovy script console sets the classloader for > the context to Jenkins.getInstance().getPluginManager().uberClassLoader, > which the email-ext plugin does NOT do. I will look at updating this > and trying it out and if it works, I'll release a new version of > email-ext. > > slide > > On Wed, Apr 11, 2012 at 8:51 AM, Slide <slide.o....@gmail.com> wrote: >> I also can't seem to get the groovy template to load the >> WarningsResultAction class. I tried similar things to what you did >> below. I will see if I can figure out what this is the case. >> >> Thanks, >> >> slide >> >> On Wed, Apr 11, 2012 at 5:57 AM, Darren Syzling <dsyzl...@gmail.com> wrote: >>> Ulli, >>> >>> I'd be happy to work on something together. I did however try a few >>> variants but the hudson.plugins.warnings.WarningsResultAction class >>> could not be found, I tried variants of this: >>> >>> warningsResultAction = >>> build.getAction(Class.forName("hudson.plugins.warnings.WarningsResultAction")) >>> warningsResultAction = >>> build.getAction(hudson.plugins.warnings.WarningsResultAction.class) >>> >>> and using the class loader: >>> ClassLoader cl = it.class.getClassLoader() >>> def warningsClass = >>> cl.loadClass("hudson.plugins.warnings.WarningsResultAction", true) >>> >>> Is there something different about the groovy parser engine loaded by >>> email-ext which would mean other plugin classes were not available. >>> >>> Unfortunately I then decided to upgrade to Jenkins 1.459 along with: >>> Static analysis utilities 1.38 >>> Warnings 3.28 >>> Static analysis collector 1.24 >>> Email-ext 2.18 >>> >>> This has broken my ability to build and configure the project, when I build: >>> 11-Apr-2012 13:55:43 hudson.model.Executor run >>> SEVERE: Executor threw an exception >>> java.lang.AssertionError: class >>> hudson.plugins.warnings.WarningsPublisher is missing its descriptor >>> at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1076) >>> at hudson.tasks.Publisher.getDescriptor(Publisher.java:123) >>> at hudson.tasks.Recorder.getDescriptor(Recorder.java:51) >>> at >>> hudson.plugins.warnings.WarningsPublisher.getDescriptor(WarningsPublisher.java:323) >>> at >>> hudson.plugins.warnings.WarningsPublisher.getDescriptor(WarningsPublisher.java:41) >>> at hudson.model.Descriptor.toMap(Descriptor.java:873) >>> at hudson.util.DescribableList.toMap(DescribableList.java:128) >>> at hudson.model.Project.getPublishers(Project.java:109) >>> at hudson.model.Build$RunnerImpl.cleanUp(Build.java:171) >>> at hudson.model.Run.run(Run.java:1457) >>> at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) >>> at >>> hudson.model.ResourceController.execute(ResourceController.java:88) >>> at hudson.model.Executor.run(Executor.java:238) >>> >>> >>> and when I try and configure the project I can't access email-ext or >>> warnings configuration information: >>> 11-Apr-2012 13:46:50 hudson.ExpressionFactory2$JexlExpression evaluate >>> WARNING: Caught exception evaluating: i.descriptor. Reason: >>> java.lang.reflect.InvocationTargetExcept >>> ion >>> java.lang.reflect.InvocationTargetException >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) >>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) >>> at java.lang.reflect.Method.invoke(Unknown Source) >>> at >>> org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125) >>> at >>> org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectIm >>> pl.java:314) >>> at >>> org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185) >>> at >>> org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75) >>> at >>> org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) >>> at >>> org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) >>> at >>> org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:5 >>> 1) >>> at >>> org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) >>> at >>> hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72) >>> at >>> org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134) >>> >>> >>> >>> On 11 April 2012 10:53, Ullrich Hafner <ullrich.haf...@gmail.com> wrote: >>>> I haven't yet done that but it should be possible to access the objects >>>> using this method from your script: >>>> >>>> WarningsResultAction action = >>>> getAction("hudson.plugins.warnings.WarningsResultAction") >>>> From this object you get the result using action.getResult() >>>> >>>> Maybe we can work together on making an example for the warnings plug-in >>>> so that I can include it on the wiki page? >>>> >>>> Ulli >>>> >>>> >>>> >>>> On 04/11/2012 11:25 AM, Darren Syzling wrote: >>>>> Regarding the Warnings plugin - is there anyway I can access warning >>>>> information for the current build from a mail-ext groovy template by >>>>> using the hudson/jenkins model API? Or would I use the token macro >>>>> expansion plugin in some way? I was wondering if there was a >>>>> documented way of gaining access to the WarningsResult and >>>>> WarningsResultAction so I could access the getSummary method from >>>>> within the mail template (or iterate over other information if >>>>> necessary) in a similar way to accessing JUnit test results? I >>>>> wondered if there was a standard way for plugins to publish their >>>>> action results into the Hudson model so that post build actions could >>>>> retrieve and process them, >>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Regards >>> Darren >> >> >> >> -- >> Website: http://earl-of-code.com > > > > -- > Website: http://earl-of-code.com