Thanks so much for your reply. We have a number of mono-repos which have multiple pipelines in them. For any one pipeline I want to only trigger if the files that are changed are beneath certain paths. Imagine many microservices in each repo. Though I'm not here to debate this approach.
I have created an *SCMHeadFilter* which works well in some scenarios. For a pull request I can just cast the SCMHead as "*PullRequestSCMHead*" and figure out what files were changed in the Pull Request. It's not necessarily checking every commit since the last build but this works pretty well for us. For the master branch, I really want to check all the commits since the last build on this branch rather than just the current HEAD commit, how could I get that list of commits and perform that check? The original git plugin seems to have a feature that it calls "included and excluded regions" which seems like it would do the thing that i need but this isn't available in the Multi Branch Git version. https://medium.com/@abhijeetahuja/jenkins-polling-ignores-commits-in-certain-paths-aeb2927b0e7a I was hoping I could set this by configuring the GitSCMBuilder but the properties are not available. I also looked at adding a BuildChooser but this gets overwritten in the builder. I also looked at implementing *isRevExcluded* in a *GitSCMExtension* but that gets me to the same place of evaluating a single commit at HEAD rather than the commits since last build. Pete On Monday, 13 May 2019 23:09:41 UTC+12, Robert Sandell wrote: > > I'm not sure I understand what you are trying to achieve with "Included > and Excluded Regions (paths)"? > SCMHeadFilter filters if the supplied SCMHead should be there or not. In > your case if you would return false for the master branch it would not > create a job for that branch. And if it already had a job it will be marked > as dead and removed when the orphaned item strategy kicks in. > > /B > > Den sön 12 maj 2019 kl 15:56 skrev Peter Goodman <[email protected] > <javascript:>>: > >> Hi, >> I'm trying to add an extension which will enable Included and Excluded >> Regions (paths) for Multi Branch GitHub pipelines. >> >> I can do this relatively simply using a *SCMHeadFilter* which works for >> pull requests because I can get the files changed in the entire pull >> request. For master though I would really only want to consider those >> commits since the last build. >> >> How can I figure that out in the >> SCMHeadFilter.isExcluded(SCMSourceRequest scmSourceRequest, SCMHead >> scmHead) method? Or is there another way to somehow set this on the >> underlying GitSCMBuilder when it is being built? >> >> Thanks, >> Pete >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-dev/0c5e2277-a35d-4d6c-a342-45cb6d6951c1%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jenkinsci-dev/0c5e2277-a35d-4d6c-a342-45cb6d6951c1%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > *Robert Sandell* > Software Engineer > CloudBees, Inc. > [image: CloudBees-Logo.png] <http://www.cloudbees.com/> > E: [email protected] <javascript:> > Twitter: robert_sandell > -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d77a17af-2880-43e0-9bc9-f1963b4ed043%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
