Then perhaps implementing a BranchBuildStrategy <https://javadoc.jenkins.io/plugin/branch-api/jenkins/branch/BranchBuildStrategy.html> is what you are looking for?
Implementation examples are in basic-branch-build-strategies-plugin, ex: https://github.com/jenkinsci/basic-branch-build-strategies-plugin/blob/047ecb6fb183179221361072daf4ecc27dcfdbe0/src/main/java/jenkins/branch/buildstrategies/basic/BranchBuildStrategyImpl.java /B Den tis 14 maj 2019 kl 02:20 skrev Peter Goodman <[email protected]>: > 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]>: >> >>> 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]. >>> 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] >> 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 > <https://groups.google.com/d/msgid/jenkinsci-dev/d77a17af-2880-43e0-9bc9-f1963b4ed043%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] 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/CALzHZS20zFLiswhs_1EiHPUzUW0mi2fRN0pcxsoQSnb1-hSNJg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
