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

New PromotionProcess,PromotionCondition and PromotionConditionDescriptor classes for the plugin.

    Details

    • Similar Issues:
    • Sprint:
      GSoC 2019. Coding Phase 1, GSoC 2019. Coding Phase 2, GSoC 2019. Coding Phase 3

      Description

      Before implementing the promotion-conditions(Self and Manual Conditions), it seems necessary to build new abstract/classes for the following existing classes.

      • PromotionCondition
      • PromotionConditionDescriptor

      For readability ease all these classes are being added by the word "Pipeline" as their prefix.

      Three new analogous classes are being made retaining some of the original functions and will timely be updated as other classes start depending on them.

      Acceptance criteria:

      • The classes are created, and they can be used in further APIs. There is is no user-facing feature for now
      • The classes are marked as Restricted so that they not a part of API. It will change eventually
      • There is basic test automation that these classes really work

       

        Attachments

          Activity

          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          The ticket is marked as resolved, but the code has been neither merged nor submitted against right location for starters

          Show
          oleg_nenashev Oleg Nenashev added a comment - The ticket is marked as resolved, but the code has been neither merged nor submitted against right location for starters
          Hide
          jnz_topdanmark Jon Brohauge added a comment - - edited

          Reopening issue due to missing link to PR

          Status set to In Progress

          Show
          jnz_topdanmark Jon Brohauge added a comment - - edited Reopening issue due to missing link to PR Status set to In Progress
          Hide
          derndren161 Prastik Gyawali added a comment -

          Updates and changes in the task:

          1) The same old PromotionDescriptor and PromotionCondition classes will instead be refactored.

          2) For PromotionProcess a new class will be made as decided.

          Relevant PR link:   

          Show
          derndren161 Prastik Gyawali added a comment - Updates and changes in the task: 1) The same old PromotionDescriptor and PromotionCondition classes will instead be refactored. 2) For PromotionProcess a new class will be made as decided. Relevant PR link:    https://github.com/jenkinsci/promoted-builds-plugin/pull/137
          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          Moving the issue to the JENKINS-36089 EPIC

          Show
          oleg_nenashev Oleg Nenashev added a comment - Moving the issue to the JENKINS-36089 EPIC
          Show
          oleg_nenashev Oleg Nenashev added a comment - Some code from Prastik Gyawali which could be reused:   https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/9c51d9e14d021769b4f38a80f0b08f65637cff62 https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/d1ce53de6aa5622899b21768cca4e813c0fab024 https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/8aa5cec8c4feada2e5d14e6a8eaab66dc8c75cca https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/4fa0b38bf7dc5dc832ede16b522fc896d970ee62 Some of this code can be retrieved from commits though it might be easier to just rewrite the code. https://github.com/jenkinsci/promoted-builds-plugin/pull/131  will be closed as discussed above  
          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          I tried moving PromotionCondition to the draft API plugin, and it will impose binary compatibility issues due to explicit dependency on the PromotionProcess. Moving PromotionProcess to the API plugin would also require moving the Promotion and several other classes to the API plugin. Will experiment with renaming classes

          Show
          oleg_nenashev Oleg Nenashev added a comment - I tried moving PromotionCondition to the draft API plugin, and it will impose binary compatibility issues due to explicit dependency on the PromotionProcess. Moving PromotionProcess to the API plugin would also require moving the Promotion and several other classes to the API plugin. Will experiment with renaming classes

            People

            • Assignee:
              oleg_nenashev Oleg Nenashev
              Reporter:
              derndren161 Prastik Gyawali
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: