• Pipeline support for Promoted Builds Plugin

      This enhancement request is for the Promoted Builds plugin to support Jenkins' 2.X style Pipelines.

      Pipelines are the new paradigm that Jenkins 2.X is promoting heavily – with its ability to define the build process in code, automatic build discovery, and great integration with repository systems for automatic build / testing of pull requests.

      There are many places within the new Pipeline style where the Promoted Plugin could be used to great effect:

      • builds could dynamically https://issues.jenkins-ci.org/browse/JENKINS-36089#promote and save artifacts, pushing them into other pipeline jobs
      • Users could manually promote pipeline builds that have been through some kind of QA process
      • Permalinks provided by the Promoted Builds plugin could be used in pipeline builds

      Basically, the same vast number of use cases that the Promoted Build Plugin provides today could be taken advantage of by builds defined via the Pipeline API and Jenkinsfile build definitions.

      Reference here for the API changes that are required for a plugin to be available in a Pipeline build:
      https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md

      Original reference bug:
      https://issues.jenkins-ci.org/browse/JENKINS-35376

          [JENKINS-36089] Pipeline support for Promoted Builds Plugin

          Oleg Nenashev added a comment -

          I totally agree with you, but I am not ready to implement it during my spare time anytime soon. It is a big chunk of work requiring several weekends to be done properly. I cannot dedicate time due to the personal stuff and other commitments in the Jenkins project. I'd guess the same applies to dnusbaum who is a new maintainer.

          I have provided my vision here: https://issues.jenkins-ci.org/browse/JENKINS-36089?focusedCommentId=280959&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-280959 . If somebody is interested, please feel free to contribute. It is not that difficult to implement this functionality even for those ones who are not experts in Jenkins development, just requires time and some basic Java knowledge. If you do not have personal time, ask your employers to dedicate some time. It may be possible in many cases. This is how open-source works sometimes, fortunately or not

           

           

          Oleg Nenashev added a comment - I totally agree with you, but I am not ready to implement it during my spare time anytime soon. It is a big chunk of work requiring several weekends to be done properly. I cannot dedicate time due to the personal stuff and other commitments in the Jenkins project. I'd guess the same applies to dnusbaum who is a new maintainer. I have provided my vision here: https://issues.jenkins-ci.org/browse/JENKINS-36089?focusedCommentId=280959&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-280959 . If somebody is interested, please feel free to contribute. It is not that difficult to implement this functionality even for those ones who are not experts in Jenkins development, just requires time and some basic Java knowledge. If you do not have personal time, ask your employers to dedicate some time. It may be possible in many cases. This is how open-source works sometimes, fortunately or not    

          Oleg Nenashev added a comment -

          But, again, I am happy to provide reviews and help with delivering changes if somebody proposes a pull request

           

          Oleg Nenashev added a comment - But, again, I am happy to provide reviews and help with delivering changes if somebody proposes a pull request  

          Oleg Nenashev added a comment -

          Hello, I I have added this project to the list of Google Summer of Code 2019 project ideas: https://docs.google.com/document/d/1UYi0jIYsKHE5IGS84B5W0XBoeMyF4yY_exu-21O99U8/edit?usp=sharing , so it may be implemented by one of the students this year.

          We are also looking for mentors who would be interested in this project. If you would like to join the project, please let me know

           

          Oleg Nenashev added a comment - Hello, I I have added this project to the list of Google Summer of Code 2019 project ideas: https://docs.google.com/document/d/1UYi0jIYsKHE5IGS84B5W0XBoeMyF4yY_exu-21O99U8/edit?usp=sharing , so it may be implemented by one of the students this year. We are also looking for mentors who would be interested in this project. If you would like to join the project, please let me know  

          Alan Champion added a comment -

          I am not sure if this is the feature I am after but essentially, it is a cross between CopyArtifact and what this might offer.

          Currently, I am publishing in htmlreports for a non-pipeline job and I want to promote that to the parent DSL pipeline.

          I tried CopyArtifact but it cannot see the htmlreports directory (i.e. linked from lastSuccessfulBuild).

          Perhaps by forcing a shared WORKSPACE is the simplest solution but generally, I wanted it to work without changing the legacy build jobs and cannot rely on the same WORKSPACE being used.

          Any tips for an easily maintained solution welcome.

          Alan Champion added a comment - I am not sure if this is the feature I am after but essentially, it is a cross between CopyArtifact and what this might offer. Currently, I am publishing in htmlreports for a non-pipeline job and I want to promote that to the parent DSL pipeline. I tried CopyArtifact but it cannot see the htmlreports directory (i.e. linked from lastSuccessfulBuild). Perhaps by forcing a shared WORKSPACE is the simplest solution but generally, I wanted it to work without changing the legacy build jobs and cannot rely on the same WORKSPACE being used. Any tips for an easily maintained solution welcome.

          Oleg Nenashev added a comment -

          I am marking it as "In progress", because I am working on some bits as my Christmas hack

          Oleg Nenashev added a comment - I am marking it as "In progress", because I am working on some bits as my Christmas hack

          Daniel Issac added a comment -

          Any updates?We have freestyle jobs which use this promotion criterias due to which we are not able to convert these jobs to pipeline.Any idea by when we can expect this feature in pipeline.?

          Daniel Issac added a comment - Any updates?We have freestyle jobs which use this promotion criterias due to which we are not able to convert these jobs to pipeline.Any idea by when we can expect this feature in pipeline.?

          Oleg Nenashev added a comment -

          issac1993 nothing shippable unfortunately, no ETA. With COVID-19 I was unable to do real development for a while, and I have a huge queue of items to catch up. I do not expect to get to it this summer, but other contributors might contribute. Any patches are welcome

          Oleg Nenashev added a comment - issac1993 nothing shippable unfortunately, no ETA. With COVID-19 I was unable to do real development for a while, and I have a huge queue of items to catch up. I do not expect to get to it this summer, but other contributors might contribute. Any patches are welcome

          Hi Guys.. 

          How I can use this plugin with Multibranch pipeline?

          Multibranch pipeline uses Jenkinsfile and I am not sure how can I integrate this plugin to promote?

          Any help is appreciated. Thanks.

          Amit Lakhtaria added a comment - Hi Guys..  How I can use this plugin with Multibranch pipeline? Multibranch pipeline uses Jenkinsfile and I am not sure how can I integrate this plugin to promote? Any help is appreciated. Thanks.

          Nathan Grubb added a comment -

          amitrl you can't until this epic is complete. This would be very helpful for my team so I'm thinking of taking a stab at this. Do you think I could get your help/guidance oleg_nenashev?

          Nathan Grubb added a comment - amitrl you can't until this epic is complete. This would be very helpful for my team so I'm thinking of taking a stab at this. Do you think I could get your help/guidance  oleg_nenashev ?

          Oleg Nenashev added a comment -

          silentsnowman with my current assignments at work and personal situation, it is unlikely that I will be able to seriously work on that anytime soon. I might find some time to answer questions if someone wants to implement it

          Oleg Nenashev added a comment - silentsnowman with my current assignments at work and personal situation, it is unlikely that I will be able to seriously work on that anytime soon. I might find some time to answer questions if someone wants to implement it

            Unassigned Unassigned
            gregcovertsmith Greg Smith
            Votes:
            153 Vote for this issue
            Watchers:
            169 Start watching this issue

              Created:
              Updated: