Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-36954

RobotFramework Plugin is not available in the "Add Post Build action"

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • robot-plugin
    • None
    • Jenkins-2.263.1
      robot-2.1.2
    • 2.2.0

      Installed RobotFramework Jenkins plugin and restarted the jenkins server but i am not finding RobotFramework Plugin related stuff in the post build action.

      The jenkins log indicates:

      Failed to instantiate Key[type=hudson.plugins.robot.RobotPublisher$DescriptorImpl, annotation=[none]]; skipping this component
      com.google.inject.ProvisionException: Guice provision errors:

      1) Error injecting constructor, java.lang.NoClassDefFoundError: hudson/matrix/MatrixAggregatable
      at hudson.plugins.robot.RobotPublisher$DescriptorImpl.<init>(RobotPublisher.java:364)

      1 error
      at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)
      at com.google.inject.Scopes$1$1.get(Scopes.java:65)
      at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:424)
      at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
      at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
      at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
      at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
      at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:386)
      at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:377)
      at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:471)
      at hudson.ExtensionList.load(ExtensionList.java:349)
      at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
      at hudson.ExtensionList.iterator(ExtensionList.java:156)
      at hudson.diagnosis.NullIdDescriptorMonitor.verify(NullIdDescriptorMonitor.java:67)
      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 hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
      at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
      at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
      at jenkins.model.Jenkins$7.runTask(Jenkins.java:999)
      at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
      at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.NoClassDefFoundError: hudson/matrix/MatrixAggregatable
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(Unknown Source)
      at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1139)
      at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:878)
      at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1310)
      at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1366)
      at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1326)
      at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1079)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.Class.getDeclaringClass0(Native Method)
      at java.lang.Class.getDeclaringClass(Unknown Source)
      at java.lang.Class.getEnclosingClass(Unknown Source)
      at hudson.model.Descriptor.<init>(Descriptor.java:270)
      at hudson.tasks.BuildStepDescriptor.<init>(BuildStepDescriptor.java:56)
      at hudson.plugins.robot.RobotPublisher$DescriptorImpl.<init>(RobotPublisher.java:364)
      at hudson.plugins.robot.RobotPublisher$DescriptorImpl$$FastClassByGuice$$df4cc65c.newInstance(<generated>)
      at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
      at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
      at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
      at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
      at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
      at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
      at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)
      at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      ... 26 more
      Caused by: java.lang.ClassNotFoundException: hudson.matrix.MatrixAggregatable
      at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1376)
      at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1326)
      at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1079)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      ... 50 more

          [JENKINS-36954] RobotFramework Plugin is not available in the "Add Post Build action"

          Ian Williams added a comment -

          Problem description, logs tie to robot framework plugin, not plugin-usage plugin. Changed affected component. Logs also suggest this involves matrix-project plugin. Can Submitter clarify and update?

          Ian Williams added a comment - Problem description, logs tie to robot framework plugin, not plugin-usage plugin. Changed affected component. Logs also suggest this involves matrix-project plugin. Can Submitter clarify and update?

          Aleksi Simell added a comment -

          reach2phani Which plugin version are you using? Is this still an issue?

          Aleksi Simell added a comment - reach2phani Which plugin version are you using? Is this still an issue?

          Ian Williams added a comment - - edited

          Per S/O report and simple testing, issue still persists. Test using LTS 2.263.1 and robot-plugin:2.1.2

          Steps to reproduce:
          Install clean Jenkins, no plugins
          Install only Robot Framework plugin, restart.
          Will observe error below.
          Create basic Freestyle job, add shell builds step (echo "Hello Jenkins"), attempt to add Post-build robot step; not there.
          Install matrix project, restart
          Edit job to add Post-build robot step, found, no problem.
          Further validation:
          Under /pluginManager/installed, disable "Matrix project", restart
          Upon restart, will see error in logs again.
          Attempt to add step again, not there.

          Proposed solution: remove dependency optional=true

          {{<dependency>}}
          {{    <groupId>org.jenkins-ci.plugins</groupId>}}
          {{     <artifactId>matrix-project</artifactId>}}
          {{     <version>${matrix-project.version}</version>}}
          {{     <optional>true</optional>}}
          </dependency>

          Or rework code to make it truly optional.

          2020-12-16 21:10:17.799+0000 [id=39] WARNING h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=hudson.plugins.robot.RobotPublisher$DescriptorImpl, annotation=[none]]; skipping this component
          {{ java.lang.ClassNotFoundException: hudson.matrix.MatrixAggregatable}}
          {{ at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387)}}
          {{ at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342)}}
          {{ at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089)}}
          {{ at java.lang.ClassLoader.loadClass(ClassLoader.java:351)}}
          {{ Caused: java.lang.NoClassDefFoundError: hudson/matrix/MatrixAggregatable}}
          {{ at java.lang.ClassLoader.defineClass1(Native Method)}}
          {{ at java.lang.ClassLoader.defineClass(ClassLoader.java:756)}}
          {{ at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1155)}}
          {{ at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:715)}}
          {{ at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1326)}}
          {{ at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1377)}}
          {{ at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342)}}
          {{ at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089)}}
          {{ at java.lang.ClassLoader.loadClass(ClassLoader.java:351)}}
          {{ at java.lang.Class.getDeclaringClass0(Native Method)}}
          {{ at java.lang.Class.getDeclaringClass(Class.java:1235)}}
          {{ at java.lang.Class.getEnclosingClass(Class.java:1277)}}
          {{ at hudson.model.Descriptor.<init>(Descriptor.java:278)}}
          {{ at hudson.tasks.BuildStepDescriptor.<init>(BuildStepDescriptor.java:56)}}
          {{ at hudson.plugins.robot.RobotPublisher$DescriptorImpl.<init>(RobotPublisher.java:379)}}
          {{ at hudson.plugins.robot.RobotPublisher$DescriptorImpl$$FastClassByGuice$$df4cc65c.newInstance(<generated>)}}
          {{ at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)}}
          {{ at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)}}
          {{ at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)}}
          {{ at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)}}
          {{ at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:89)}}
          {{ at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)}}
          {{ at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:572)}}
          {{ at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)}}
          {{ at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)}}
          {{ at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87)}}
          {{ at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)}}
          {{ at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)}}
          {{ at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)}}
          {{ at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)}}
          {{ Caused: com.google.inject.ProvisionException: Unable to provision, see the following errors:}}1) Error injecting constructor, java.lang.NoClassDefFoundError: hudson/matrix/MatrixAggregatable
          {{ at hudson.plugins.robot.RobotPublisher$DescriptorImpl.<init>(RobotPublisher.java:379)}}1 error
          {{ at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)}}
          {{ at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)}}
          {{ at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:440)}}
          {{ at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)}}
          {{ at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)}}
          {{ at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)}}
          {{ at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)}}
          {{ at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:402)}}
          {{ at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:393)}}
          {{ at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:346)}}
          {{ at hudson.ExtensionList.load(ExtensionList.java:381)}}
          {{ at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)}}
          {{ at hudson.ExtensionList.iterator(ExtensionList.java:172)}}
          {{ at hudson.diagnosis.NullIdDescriptorMonitor.verify(NullIdDescriptorMonitor.java:72)}}
          {{ 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 hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)}}
          {{ at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)}}
          {{ at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)}}
          {{ at jenkins.model.Jenkins$5.runTask(Jenkins.java:1131)}}
          {{ at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)}}
          {{ at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)}}
          {{ at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)}}
          {{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}}
          {{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}}
          {{ at java.lang.Thread.run(Thread.java:748)}}

          Ian Williams added a comment - - edited Per S/O report and simple testing, issue still persists. Test using LTS 2.263.1 and robot-plugin:2.1.2 Steps to reproduce: Install clean Jenkins, no plugins Install only Robot Framework plugin, restart. Will observe error below. Create basic Freestyle job, add shell builds step (echo "Hello Jenkins"), attempt to add Post-build robot step; not there. Install matrix project, restart Edit job to add Post-build robot step, found, no problem. Further validation: Under /pluginManager/installed, disable "Matrix project", restart Upon restart, will see error in logs again. Attempt to add step again, not there. Proposed solution: remove dependency optional=true {{ <dependency> }} {{    <groupId>org.jenkins-ci.plugins</groupId> }} {{     <artifactId>matrix-project</artifactId> }} {{     <version>${matrix-project.version}</version> }} {{     <optional>true</optional> }} </dependency> Or rework code to make it truly optional. 2020-12-16 21:10:17.799+0000 [id=39] WARNING h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=hudson.plugins.robot.RobotPublisher$DescriptorImpl, annotation= [none] ]; skipping this component {{ java.lang.ClassNotFoundException: hudson.matrix.MatrixAggregatable}} {{ at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387)}} {{ at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342)}} {{ at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089)}} {{ at java.lang.ClassLoader.loadClass(ClassLoader.java:351)}} {{ Caused: java.lang.NoClassDefFoundError: hudson/matrix/MatrixAggregatable}} {{ at java.lang.ClassLoader.defineClass1(Native Method)}} {{ at java.lang.ClassLoader.defineClass(ClassLoader.java:756)}} {{ at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1155)}} {{ at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:715)}} {{ at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1326)}} {{ at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1377)}} {{ at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342)}} {{ at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089)}} {{ at java.lang.ClassLoader.loadClass(ClassLoader.java:351)}} {{ at java.lang.Class.getDeclaringClass0(Native Method)}} {{ at java.lang.Class.getDeclaringClass(Class.java:1235)}} {{ at java.lang.Class.getEnclosingClass(Class.java:1277)}} {{ at hudson.model.Descriptor.<init>(Descriptor.java:278)}} {{ at hudson.tasks.BuildStepDescriptor.<init>(BuildStepDescriptor.java:56)}} {{ at hudson.plugins.robot.RobotPublisher$DescriptorImpl.<init>(RobotPublisher.java:379)}} {{ at hudson.plugins.robot.RobotPublisher$DescriptorImpl$$FastClassByGuice$$df4cc65c.newInstance(<generated>)}} {{ at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)}} {{ at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)}} {{ at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)}} {{ at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)}} {{ at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:89)}} {{ at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)}} {{ at hudson.ExtensionFinder$GuiceFinder$SezpozModule.onProvision(ExtensionFinder.java:572)}} {{ at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)}} {{ at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)}} {{ at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87)}} {{ at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)}} {{ at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)}} {{ at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)}} {{ at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)}} {{ Caused: com.google.inject.ProvisionException: Unable to provision, see the following errors:}} 1) Error injecting constructor, java.lang.NoClassDefFoundError: hudson/matrix/MatrixAggregatable {{ at hudson.plugins.robot.RobotPublisher$DescriptorImpl.<init>(RobotPublisher.java:379)}} 1 error {{ at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)}} {{ at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)}} {{ at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:440)}} {{ at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)}} {{ at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)}} {{ at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)}} {{ at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)}} {{ at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:402)}} {{ at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:393)}} {{ at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:346)}} {{ at hudson.ExtensionList.load(ExtensionList.java:381)}} {{ at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)}} {{ at hudson.ExtensionList.iterator(ExtensionList.java:172)}} {{ at hudson.diagnosis.NullIdDescriptorMonitor.verify(NullIdDescriptorMonitor.java:72)}} {{ 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 hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)}} {{ at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)}} {{ at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)}} {{ at jenkins.model.Jenkins$5.runTask(Jenkins.java:1131)}} {{ at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)}} {{ at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)}} {{ at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)}} {{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}} {{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}} {{ at java.lang.Thread.run(Thread.java:748)}}

          Aleksi Simell added a comment -

          Pull request created to make Matrix-project a mandatory dependency. RobotPublisher class implements MatrixAggretable (from the Matrix-project) making it necessary to have it as a mandatory dependency.

          Aleksi Simell added a comment - Pull request created to make Matrix-project a mandatory dependency. RobotPublisher class implements MatrixAggretable (from the Matrix-project) making it necessary to have it as a mandatory dependency.

          Tatu Kairi added a comment -

          Tatu Kairi added a comment - Fixed in https://github.com/jenkinsci/robot-plugin/pull/37

            aleksisimell Aleksi Simell
            reach2phani phani kumar
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: