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

NoSuchMethodError occurs when promoting a build using parametrized trigger

    • Promoted Builds 3.5

      When updating the promoted builds to Version 3.4 an NoSuchMethodError occoures when using a parametrized job for the promotion.

      build hudson.plugins.copyartifact.CopyArtifact@7de7a398 SUCCESS
      [EnvInject] - Injecting environment variables from a build step.
      [EnvInject] - Injecting as environment variables the properties file path '...version.properties'
      [EnvInject] - Variables injected successfully.
      build org.jenkinsci.plugins.envinject.EnvInjectBuilder@fb74c58 SUCCESS
      FATAL: hudson.plugins.promoted_builds.Promotion.getTarget()Lhudson/model/AbstractBuild;
      java.lang.NoSuchMethodError: hudson.plugins.promoted_builds.Promotion.getTarget()Lhudson/model/AbstractBuild;
      	at hudson.plugins.parameterizedtrigger.BuildTriggerConfig.createUpstreamCause(BuildTriggerConfig.java:530)
      	at hudson.plugins.parameterizedtrigger.BuildTriggerConfig.schedule(BuildTriggerConfig.java:550)
      	at hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig.schedule(BlockableBuildTriggerConfig.java:82)
      	at hudson.plugins.parameterizedtrigger.BuildTriggerConfig.perform3(BuildTriggerConfig.java:463)
      	at hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig.perform3(BlockableBuildTriggerConfig.java:67)
      	at hudson.plugins.parameterizedtrigger.TriggerBuilder.perform(TriggerBuilder.java:93)
      	at hudson.plugins.promoted_builds.Promotion$RunnerImpl.build(Promotion.java:449)
      	at hudson.plugins.promoted_builds.Promotion$RunnerImpl.doRun(Promotion.java:386)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
      	at hudson.model.Run.execute(Run.java:1815)
      	at hudson.model.Run.run(Run.java:1769)
      	at hudson.plugins.promoted_builds.Promotion.run(Promotion.java:298)
      	at hudson.model.ResourceController.execute(ResourceController.java:97)
      	at hudson.model.Executor.run(Executor.java:429)
      Finished: FAILURE
      

      With the changes of JENKINS-59600 the method getTarget() was renamed to getTargetBuild() but this change was not made in the calling method.

          [JENKINS-59704] NoSuchMethodError occurs when promoting a build using parametrized trigger

          Patrick Weegen created issue -
          Patrick Weegen made changes -
          Link New: This issue is caused by JENKINS-59600 [ JENKINS-59600 ]

          Oleg Nenashev added a comment -

          CC danielbeck . I will try to act on it tomorrow, will put a warning to the changelog for now

          Oleg Nenashev added a comment - CC danielbeck . I will try to act on it tomorrow, will put a warning to the changelog for now

          Oleg Nenashev added a comment -

          I'd guess our action plan would be to update plugins using the Promoted Builds API directly (to work around StaplerProxy).

          Promoted Builds is a classic architecture technical debt, and it is hard to act on it without major rewrite.

           

          Oleg Nenashev added a comment - I'd guess our action plan would be to update plugins using the Promoted Builds API directly (to work around StaplerProxy). Promoted Builds is a classic architecture technical debt, and it is hard to act on it without major rewrite.  

          Daniel Beck added a comment -

          Unfortunate, but ultimately this was a bad decision in Stapler – no such method should have such a generic name. StaplerFallback#getStaplerFallback is fine, but StaplerProxy#getTarget is just stupid.

          Alternatively, lower the baseline dependency to 2.138.1 for now, and not generate the magic method? Unsure whether that works, but based on an analysis in a duplicate of the issue I fixed, it might.

          Daniel Beck added a comment - Unfortunate, but ultimately this was a bad decision in Stapler – no such method should have such a generic name. StaplerFallback#getStaplerFallback is fine, but StaplerProxy#getTarget is just stupid. Alternatively, lower the baseline dependency to 2.138.1 for now, and not generate the magic method? Unsure whether that works, but based on an analysis in a duplicate of the issue I fixed, it might.
          Jonathan Gowland made changes -
          Summary Original: NoSuchMethodError occoures when promoting a build using parametrized trigger New: NoSuchMethodError occurs when promoting a build using parametrized trigger

          Filipe Roque added a comment -

          created PR for publish-over-plugin:

          https://github.com/jenkinsci/publish-over-plugin/pull/10

           

          Filipe Roque added a comment - created PR for publish-over-plugin: https://github.com/jenkinsci/publish-over-plugin/pull/10  

          Filipe Roque added a comment -

          and a PR for parameterized-trigger-plugin:

          https://github.com/jenkinsci/parameterized-trigger-plugin/pull/130

          Filipe Roque added a comment - and a PR for parameterized-trigger-plugin: https://github.com/jenkinsci/parameterized-trigger-plugin/pull/130
          Filipe Roque made changes -
          Component/s New: git-plugin [ 15543 ]

          Filipe Roque added a comment -

          also affects git-plugin.

          there was already an update to promoted-plugin 3.4 (see commit 54d4a89246c8b8b274ca93b24f1438852599a261 and e969982bc1032ae57aeee6be7356d6fd171cfb15) but it was reverted to 3.3 in commit 91ef2565d4a4fe2669430400cf52025c44985e25 and then to 3.2 in a69d8bc6ed3e375880b285316f1d4f602b22bc0a

          Filipe Roque added a comment - also affects git-plugin. there was already an update to promoted-plugin 3.4 (see commit 54d4a89246c8b8b274ca93b24f1438852599a261 and e969982bc1032ae57aeee6be7356d6fd171cfb15 ) but it was reverted to 3.3 in commit 91ef2565d4a4fe2669430400cf52025c44985e25 and then to 3.2 in a69d8bc6ed3e375880b285316f1d4f602b22bc0a

            oleg_nenashev Oleg Nenashev
            patrick_weegen Patrick Weegen
            Votes:
            21 Vote for this issue
            Watchers:
            27 Start watching this issue

              Created:
              Updated:
              Resolved: