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

Discovery trait to group branches and PRs in a single location

XMLWordPrintable

      What I'm looking for

      Most repositories I've worked with professionally had a unique set of requirements that are currently not addressed well by this plugin. We wanted to have:

      • Build branches, except for PoCs/investigation branches
      • Specific behavior for PR builds, ex: Sonar integration to check new code only
      • A single view with all of those jobs

      We address almost all of this except for the last part.

      • We use the branch discovery trait with regex filters and branch naming convention for #1
      • We use the pull request (from origin) discovery trait with draft PR filter for #2
      • BUT: we have an issue with jobs "jumping" from the 'Branches' view to the 'Pull Requests' view when we open the PR which is pretty confusing. It also means that people searching for the builds related to a feature can't 'ctrl-f' in a single location.

      I think that finding a way to group the branch & PR jobs would be beneficial for lots of users.

      What I've tried

      I thought first that the 'Branch' and 'Pull Requests' tabs were only views and that adding a new one would be possible without duplicating the jobs but it looks like this is not how the plugin is implemented.

      From my investigation into the code, the tabs related to categories instead which look awfully like folders instead.

      I've managed to create a new mixed discovery trait linked to a new mixed category that heavily copies the branch and origin PR discovery traits but I'm not sure about this solution. You can review it in this PR

      Could you please review my use-case, and if you don't have any already working solution for it I might've missed, have a look at my code so we can discuss how to properly do it?

      The questions  I still have:

      • Is this something that has its place in this plugin or should it be an extension?
      • Is my implementation correct or is there a better way to do what I want to do?

      My branch is a PoC and everything is up to discussion, don't hesitate to point shortcomings! I've discovered the code all by myself so there must be places where my mental model is flawed.

            Unassigned Unassigned
            quilicicf Cyprien Quilici
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: