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

Job DSL analogue of multibranch projects & organization folders


      To provide a more scalable alternative to the endless requested branch-api customizations such as JENKINS-32396, or the tricks based on JENKINS-30519, it would be useful to have a simple way of calling into scm-api implementations from a Job DSL folder (JENKINS-33275). So you could (for example) easily construct the equivalent of a GitHub organization folder, but from a script loop that could do arbitrary customizations to each, such as setting job properties.

      Need to also implement SCMSourceOwner, HeadByItem, etc. so that the branch source knows that a given generated project is associated with a given branch, which is needed for various purposes.

      TBD how webhooks should be integrated. The script needs to somehow indicate that changes to a given repository or organization should trigger a regeneration of the folder. May need to create an alternative to SCMTrigger that is keyed off the same criteria that branch-api branch indexing uses, though there are also use cases for traditional SCM polling—it is a little less efficient, but has more configuration options.

      For Pipeline projects you could use Jenkinsfile, if SCMBinder and SCMVar were generalized a bit, or something else.

      Needs a lot of design work; at this point this is more of a placeholder issue to collect ideas.

            jamietanna Jamie Tanna
            jglick Jesse Glick
            11 Vote for this issue
            25 Start watching this issue