jenkinsci / groovy-events-listener-plugin

A Jenkins plugin, which executes groovy code when an event occurs.
https://plugins.jenkins.io/groovy-events-listener-plugin/
MIT License
36 stars 34 forks source link

Unable to resolve classes #51

Closed rolnick closed 4 years ago

rolnick commented 4 years ago

Hi, I am testing the newest version from master, and it looks like an example stored in repository does not work anymore or i would say, i can not import classes which are working on version 1.0.14:

import hudson.model.*
import jenkins.metrics.impl.TimeInQueueAction

if (event == 'RunListener.onFinalized') {
    // Current run/build
    def build = Thread.currentThread().executable
    // Action from Metrics-plugin
    def queueAction = build.getAction(TimeInQueueAction.class)
    def queuing = queueAction.getQueuingDurationMillis()

    log.info "run_number=$build.number, run_timestamp=$build.timestamp.timeInMillis, queue_duration=$queuing"
}

An exception was caught.

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
script15764902014992142810208.groovy: 3: unable to resolve class jenkins.metrics.impl.TimeInQueueAction
@ line 3, column 1.
   import jenkins.metrics.impl.TimeInQueueAction
   ^

1 error

at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:958)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:605)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:554)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:254)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:211)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:221)
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.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrap.invoke(PojoMetaMethodSite.java:213)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.jenkinsci.plugins.globalEventsPlugin.GlobalEventsPlugin$DescriptorImpl.getScriptReadyToBeExecuted(GlobalEventsPlugin.groovy:172)
at org.jenkinsci.plugins.globalEventsPlugin.GlobalEventsPlugin$DescriptorImpl.doTestGroovyCode(GlobalEventsPlugin.groovy:323)

Regards

AlbanAndrieu commented 4 years ago

Version https://github.com/jenkinsci/groovy-events-listener-plugin/tree/1.014 is working without this issue on jenkins LTS 2.204.5