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

Reply via email to