Implement disable discover_pr_origin
In my opinion the best choise for default value of discover_pr_origion is not specified(None value) like it is done for bitbucket scm. Currently there is no way to disable this option for github scm. Added false value as one of valid value for this option, like is done for discover-pr-fork-strategy. In fact any of yaml specification false implementation should work. Change-Id: Ibc26d6b5c39b5455160ba5c84be99575b79fc102
This commit is contained in:
parent
6c55bc7821
commit
4e15ad0536
@ -804,7 +804,7 @@ def github_scm(xml_parent, data):
|
||||
(default 'contributors')
|
||||
:arg str discover-pr-origin: Discovers pull requests where the origin
|
||||
repository is the same as the target repository.
|
||||
Valid options: merge-current, current, both. (default 'merge-current')
|
||||
Valid options: merge-current, current, both, false. (default 'merge-current')
|
||||
:arg bool discover-tags: Discovers tags on the repository.
|
||||
(default false)
|
||||
:arg list build-strategies: Provides control over whether to build a branch
|
||||
@ -946,18 +946,19 @@ def github_scm(xml_parent, data):
|
||||
XML.SubElement(dprf, "trust").attrib["class"] = trust_map[trust]
|
||||
|
||||
dpro_strategy = data.get("discover-pr-origin", "merge-current")
|
||||
dpro = XML.SubElement(
|
||||
traits, "".join([github_path_dscore, ".OriginPullRequestDiscoveryTrait"])
|
||||
)
|
||||
dpro_strategy_map = {"merge-current": "1", "current": "2", "both": "3"}
|
||||
if dpro_strategy not in dpro_strategy_map:
|
||||
raise InvalidAttributeError(
|
||||
"discover-pr-origin", dpro_strategy, dpro_strategy_map.keys()
|
||||
if dpro_strategy:
|
||||
dpro = XML.SubElement(
|
||||
traits, "".join([github_path_dscore, ".OriginPullRequestDiscoveryTrait"])
|
||||
)
|
||||
dpro_mapping = [
|
||||
("discover-pr-origin", "strategyId", "merge-current", dpro_strategy_map)
|
||||
]
|
||||
helpers.convert_mapping_to_xml(dpro, data, dpro_mapping, fail_required=True)
|
||||
dpro_strategy_map = {"merge-current": "1", "current": "2", "both": "3"}
|
||||
if dpro_strategy not in dpro_strategy_map:
|
||||
raise InvalidAttributeError(
|
||||
"discover-pr-origin", dpro_strategy, dpro_strategy_map.keys()
|
||||
)
|
||||
dpro_mapping = [
|
||||
("discover-pr-origin", "strategyId", "merge-current", dpro_strategy_map)
|
||||
]
|
||||
helpers.convert_mapping_to_xml(dpro, data, dpro_mapping, fail_required=True)
|
||||
|
||||
if data.get("head-filter-regex", None):
|
||||
rshf = XML.SubElement(traits, "jenkins.scm.impl.trait.RegexSCMHeadFilterTrait")
|
||||
|
@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject plugin="workflow-multibranch">
|
||||
<properties/>
|
||||
<views>
|
||||
<hudson.model.AllView>
|
||||
<name>All</name>
|
||||
<filterExecutors>false</filterExecutors>
|
||||
<filterQueue>false</filterQueue>
|
||||
<properties class="hudson.model.View$PropertyList"/>
|
||||
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../../.."/>
|
||||
</hudson.model.AllView>
|
||||
</views>
|
||||
<viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
|
||||
<folderViews class="jenkins.branch.MultiBranchProjectViewHolder" plugin="branch-api">
|
||||
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
||||
</folderViews>
|
||||
<healthMetrics>
|
||||
<com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric plugin="cloudbees-folder">
|
||||
<nonRecursive>false</nonRecursive>
|
||||
</com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
|
||||
</healthMetrics>
|
||||
<icon class="jenkins.branch.MetadataActionFolderIcon" plugin="branch-api">
|
||||
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
||||
</icon>
|
||||
<orphanedItemStrategy class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy" plugin="cloudbees-folder">
|
||||
<pruneDeadBranches>true</pruneDeadBranches>
|
||||
<daysToKeep>-1</daysToKeep>
|
||||
<numToKeep>-1</numToKeep>
|
||||
</orphanedItemStrategy>
|
||||
<triggers/>
|
||||
<sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api">
|
||||
<data>
|
||||
<jenkins.branch.BranchSource>
|
||||
<source class="org.jenkinsci.plugins.github_branch_source.GitHubSCMSource" plugin="github-branch-source">
|
||||
<id>gh-johndoe-foo</id>
|
||||
<repoOwner>johndoe</repoOwner>
|
||||
<repository>foo</repository>
|
||||
<traits>
|
||||
<org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
|
||||
<strategyId>1</strategyId>
|
||||
</org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
|
||||
<org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
|
||||
<strategyId>1</strategyId>
|
||||
<trust class="org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait$TrustContributors"/>
|
||||
</org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
|
||||
<jenkins.plugins.git.traits.WipeWorkspaceTrait>
|
||||
<extension class="hudson.plugins.git.extensions.impl.WipeWorkspace"/>
|
||||
</jenkins.plugins.git.traits.WipeWorkspaceTrait>
|
||||
</traits>
|
||||
</source>
|
||||
</jenkins.branch.BranchSource>
|
||||
</data>
|
||||
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
||||
</sources>
|
||||
<factory class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
|
||||
<owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
|
||||
<scriptPath>Jenkinsfile</scriptPath>
|
||||
</factory>
|
||||
</org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
|
@ -0,0 +1,7 @@
|
||||
name: 'demo-multibranch-github-no-fork-prs'
|
||||
project-type: multibranch
|
||||
scm:
|
||||
- github:
|
||||
repo: 'foo'
|
||||
repo-owner: 'johndoe'
|
||||
discover-pr-origin: no
|
Loading…
x
Reference in New Issue
Block a user