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

Delivery Pipeline View broken because of NoSuchMethodError on PromotionStatusWrapper.getIcon(String)

      We're using the delivery-pipeline-plugin to visualize our job chains aka build pipelines.

      As soon as the "Initial Job" job of the Delivery Pipeline View has a successful promotion, the view is broken with "Error communicating to server!" and cannot be used anymore.

      In the Jenkins log we see the following: 

      java.lang.NoSuchMethodError: 'java.lang.String hudson.plugins.promoted_builds.Status.getIcon(java.lang.String)'
              at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider$PromotionStatusWrapper.getIcon(PromotionStatusProvider.java:129)
              at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.buildNewPromotionStatus(PromotionStatusProvider.java:82)
              at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.getPromotionStatusList(PromotionStatusProvider.java:65)
              at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getPromotionStatusList(SimpleStatus.java:235)
              at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getStatusFromResult(SimpleStatus.java:200)
              at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.resolveStatus(SimpleStatus.java:170)
              at se.diabol.jenkins.pipeline.domain.task.Task.getLatestTask(Task.java:195)
              at se.diabol.jenkins.pipeline.domain.Stage.createLatestStage(Stage.java:219)
              at se.diabol.jenkins.pipeline.domain.Pipeline.getPipelines(Pipeline.java:352)
              at se.diabol.jenkins.pipeline.domain.Pipeline.createPipelineLatest(Pipeline.java:322)
              at se.diabol.jenkins.pipeline.DeliveryPipelineView.getComponent(DeliveryPipelineView.java:587)
              at se.diabol.jenkins.pipeline.DeliveryPipelineView.getPipelines(DeliveryPipelineView.java:538)
              at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:76)
       

      This is related to the fix for JENKINS-68320, which changed the "getIcons(String size)" method to "getIcon()" only (without the "size" parameter).

      Either the delivery-pipeline plugin must be adapted to the changes in the promoted-builds plugin

      or the old "getIcon(String size)" method in the promoted-builds plugin must be kept for backwards compatibility reasons.

          [JENKINS-72527] Delivery Pipeline View broken because of NoSuchMethodError on PromotionStatusWrapper.getIcon(String)

          René Zanner created issue -
          René Zanner made changes -
          Description Original: We're using the delivery-pipeline-plugin to visualize our job chains aka build pipelines.

          As soon as there's one job having a successful promotion, the view is broken with "Error communicating to server!".

          In the Jenkins log we see the following: 
          {code:java}
          java.lang.NoSuchMethodError: 'java.lang.String hudson.plugins.promoted_builds.Status.getIcon(java.lang.String)'
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider$PromotionStatusWrapper.getIcon(PromotionStatusProvider.java:129)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.buildNewPromotionStatus(PromotionStatusProvider.java:82)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.getPromotionStatusList(PromotionStatusProvider.java:65)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getPromotionStatusList(SimpleStatus.java:235)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getStatusFromResult(SimpleStatus.java:200)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.resolveStatus(SimpleStatus.java:170)
                  at se.diabol.jenkins.pipeline.domain.task.Task.getLatestTask(Task.java:195)
                  at se.diabol.jenkins.pipeline.domain.Stage.createLatestStage(Stage.java:219)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.getPipelines(Pipeline.java:352)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.createPipelineLatest(Pipeline.java:322)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getComponent(DeliveryPipelineView.java:587)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getPipelines(DeliveryPipelineView.java:538)
                  at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:76)
           {code}
          New: We're using the delivery-pipeline-plugin to visualize our job chains aka build pipelines.

          As soon as the "Initial Job" job of the Delivery Pipeline View has a successful promotion, the view is broken with "Error communicating to server!" and cannot be used anymore.

          In the Jenkins log we see the following: 
          {code:java}
          java.lang.NoSuchMethodError: 'java.lang.String hudson.plugins.promoted_builds.Status.getIcon(java.lang.String)'
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider$PromotionStatusWrapper.getIcon(PromotionStatusProvider.java:129)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.buildNewPromotionStatus(PromotionStatusProvider.java:82)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.getPromotionStatusList(PromotionStatusProvider.java:65)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getPromotionStatusList(SimpleStatus.java:235)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getStatusFromResult(SimpleStatus.java:200)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.resolveStatus(SimpleStatus.java:170)
                  at se.diabol.jenkins.pipeline.domain.task.Task.getLatestTask(Task.java:195)
                  at se.diabol.jenkins.pipeline.domain.Stage.createLatestStage(Stage.java:219)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.getPipelines(Pipeline.java:352)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.createPipelineLatest(Pipeline.java:322)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getComponent(DeliveryPipelineView.java:587)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getPipelines(DeliveryPipelineView.java:538)
                  at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:76)
           {code}
          René Zanner made changes -
          Summary Original: Delivery Pipeline view broken because of NoSuchMethodError on PromotionStatusWrapper.getIcon New: Delivery Pipeline View broken because of NoSuchMethodError on PromotionStatusWrapper.getIcon
          René Zanner made changes -
          Summary Original: Delivery Pipeline View broken because of NoSuchMethodError on PromotionStatusWrapper.getIcon New: Delivery Pipeline View broken because of NoSuchMethodError on PromotionStatusWrapper.getIcon(String)
          René Zanner made changes -
          Description Original: We're using the delivery-pipeline-plugin to visualize our job chains aka build pipelines.

          As soon as the "Initial Job" job of the Delivery Pipeline View has a successful promotion, the view is broken with "Error communicating to server!" and cannot be used anymore.

          In the Jenkins log we see the following: 
          {code:java}
          java.lang.NoSuchMethodError: 'java.lang.String hudson.plugins.promoted_builds.Status.getIcon(java.lang.String)'
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider$PromotionStatusWrapper.getIcon(PromotionStatusProvider.java:129)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.buildNewPromotionStatus(PromotionStatusProvider.java:82)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.getPromotionStatusList(PromotionStatusProvider.java:65)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getPromotionStatusList(SimpleStatus.java:235)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getStatusFromResult(SimpleStatus.java:200)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.resolveStatus(SimpleStatus.java:170)
                  at se.diabol.jenkins.pipeline.domain.task.Task.getLatestTask(Task.java:195)
                  at se.diabol.jenkins.pipeline.domain.Stage.createLatestStage(Stage.java:219)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.getPipelines(Pipeline.java:352)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.createPipelineLatest(Pipeline.java:322)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getComponent(DeliveryPipelineView.java:587)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getPipelines(DeliveryPipelineView.java:538)
                  at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:76)
           {code}
          New: We're using the delivery-pipeline-plugin to visualize our job chains aka build pipelines.

          As soon as the "Initial Job" job of the Delivery Pipeline View has a successful promotion, the view is broken with "Error communicating to server!" and cannot be used anymore.

          In the Jenkins log we see the following: 
          {code:java}
          java.lang.NoSuchMethodError: 'java.lang.String hudson.plugins.promoted_builds.Status.getIcon(java.lang.String)'
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider$PromotionStatusWrapper.getIcon(PromotionStatusProvider.java:129)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.buildNewPromotionStatus(PromotionStatusProvider.java:82)
                  at se.diabol.jenkins.pipeline.domain.status.promotion.PromotionStatusProvider.getPromotionStatusList(PromotionStatusProvider.java:65)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getPromotionStatusList(SimpleStatus.java:235)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.getStatusFromResult(SimpleStatus.java:200)
                  at se.diabol.jenkins.pipeline.domain.status.SimpleStatus.resolveStatus(SimpleStatus.java:170)
                  at se.diabol.jenkins.pipeline.domain.task.Task.getLatestTask(Task.java:195)
                  at se.diabol.jenkins.pipeline.domain.Stage.createLatestStage(Stage.java:219)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.getPipelines(Pipeline.java:352)
                  at se.diabol.jenkins.pipeline.domain.Pipeline.createPipelineLatest(Pipeline.java:322)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getComponent(DeliveryPipelineView.java:587)
                  at se.diabol.jenkins.pipeline.DeliveryPipelineView.getPipelines(DeliveryPipelineView.java:538)
                  at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:76)
           {code}
          This is related to the fix for JENKINS-68320, which changed the "getIcons(String size)" method to "getIcon()" only (without the "size" parameter).

          Either the delivery-pipeline plugin must be adapted to the changes in the promoted-builds plugin

          or the old "getIcon(String size)" method in the promoted-builds plugin must be kept for backwards compatibility reasons.
          René Zanner made changes -
          Environment New: Jenkins 2.414.1
          promoted builds plugin 945.v597f5c6a_d3fd
          René Zanner made changes -
          Environment Original: Jenkins 2.414.1
          promoted builds plugin 945.v597f5c6a_d3fd
          New: Jenkins 2.414.1
          Delivery Pipeline Plugin 1.4.2
          promoted builds plugin 945.v597f5c6a_d3fd
          René Zanner made changes -
          Link New: This issue is blocked by JENKINS-70687 [ JENKINS-70687 ]
          René Zanner made changes -
          Assignee Original: Oleg Nenashev [ oleg_nenashev ] New: Gianluca [ gsoffredini ]
          René Zanner made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          jhonathan made changes -
          Attachment New: image-2024-03-21-17-11-44-610.png [ 62344 ]

            gsoffredini Gianluca
            rzanner René Zanner
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: