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.

Reply via email to