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

Rebuild plugin should be able to parse Base64EncodedString from Gerrit Trigger plugin

      Rebuild plugin (v1.21+) provides an extension point for other plugins to register their customized parameter value.

      Gerrit Trigger has such a customized parameter (Base64EncodedStringParameter), however, no extension point is provided by Gerrit Trigger.
      If we rebuild a parametrized build with such a parameter from Gerrit Trigger, the parameter page will be broken.

      We need such a functionality in Gerrit Trigger to have it work well with Rebuild plugin.

          [JENKINS-26756] Rebuild plugin should be able to parse Base64EncodedString from Gerrit Trigger plugin

          Code changed in jenkins
          User: Bowen Cheng
          Path:
          pom.xml
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterProvider.java
          src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterValue.java
          src/main/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterValue/Base64EncodedStringParameterValue.jelly
          src/main/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterValue/value.jelly
          src/test/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/matrix_build.xml
          http://jenkins-ci.org/commit/gerrit-trigger-plugin/3d956c2bdfc69b7deba450b5cb63d94171d66330
          Log:
          Parameter provider of Base64EncodedString is implemented for Rebuilder.

          The new provider class helps rebuild plugin to correctly display
          Base64EncodedString parameters. When rebuilder plugin rebuilt a Gerrit
          event triggered build, the parameters page was not displayed properly
          without this provider class. matrix_build.xml is modified to pass a
          failed test after changing dependency of Rebuild from v1.1 to v1.22.

          Please consider the following test scenario of the provider class:

          Given a Jenkins instance
          And Gerrit Trigger plugin installed on that Jenkins
          And an existing Gerrit instance configured on that Jenkins
          And Parameterized Trigger plugin installed on that Jenkins
          And Rebuilder plugin installed on that Jenkins
          And an upstream job that is triggered by Gerrit events
          And 'Commit message as human readable' is NOT set in the upstream job
          And once a build is finished, upstream job triggers a parameterized
          build of downstream job with 'current parameters'
          When upstream job is triggered by a Gerrit event
          And the first build of both job completes
          And GERRIT_CHANGE_COMMIT_MESSAGE parameter is displayed properly in
          first build of both jobs
          And I rebuild the first build of the downstream job
          Then the second build of downstream job should complete
          And GERRIT_CHANGE_COMMIT_MESSAGE parameter is displayed properly in
          second build of the downstream job

          The test scenario is beyond scope of a unit test as it requires multiple
          plugins preinstalled and it tests compatibility of these plugins.
          Therefore its test should be written in Jenkins ATH rather than in
          Gerrit Trigger project.

          Our goal is to add such a test to ATH in the near future.

          [FIXED JENKINS-26756]

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Bowen Cheng Path: pom.xml src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterProvider.java src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterValue.java src/main/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterValue/Base64EncodedStringParameterValue.jelly src/main/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/parameters/Base64EncodedStringParameterValue/value.jelly src/test/resources/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/data/matrix_build.xml http://jenkins-ci.org/commit/gerrit-trigger-plugin/3d956c2bdfc69b7deba450b5cb63d94171d66330 Log: Parameter provider of Base64EncodedString is implemented for Rebuilder. The new provider class helps rebuild plugin to correctly display Base64EncodedString parameters. When rebuilder plugin rebuilt a Gerrit event triggered build, the parameters page was not displayed properly without this provider class. matrix_build.xml is modified to pass a failed test after changing dependency of Rebuild from v1.1 to v1.22. Please consider the following test scenario of the provider class: Given a Jenkins instance And Gerrit Trigger plugin installed on that Jenkins And an existing Gerrit instance configured on that Jenkins And Parameterized Trigger plugin installed on that Jenkins And Rebuilder plugin installed on that Jenkins And an upstream job that is triggered by Gerrit events And 'Commit message as human readable' is NOT set in the upstream job And once a build is finished, upstream job triggers a parameterized build of downstream job with 'current parameters' When upstream job is triggered by a Gerrit event And the first build of both job completes And GERRIT_CHANGE_COMMIT_MESSAGE parameter is displayed properly in first build of both jobs And I rebuild the first build of the downstream job Then the second build of downstream job should complete And GERRIT_CHANGE_COMMIT_MESSAGE parameter is displayed properly in second build of the downstream job The test scenario is beyond scope of a unit test as it requires multiple plugins preinstalled and it tests compatibility of these plugins. Therefore its test should be written in Jenkins ATH rather than in Gerrit Trigger project. Our goal is to add such a test to ATH in the near future. [FIXED JENKINS-26756]

            conan_z Bowen Cheng
            conan_z Bowen Cheng
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: