Support raw XML injection in multibranch build strategies
build-strategies: - raw: xml: | <c.i.j.p.m.b.IncludeRegionBranchBuildStrategy plugin="..."> <includedRegions>my/cool/project/*.cpp</includedRegions> </c.i.j.p.m.b.IncludeRegionBranchBuildStrategy> Change-Id: I3679c81a4a4b28204460b1563bb7585a3e67a449 Signed-off-by: Anna Tikhonova <anna.m.tikhonova@gmail.com>
This commit is contained in:
parent
c420d57af9
commit
d80d6bf723
@ -86,6 +86,7 @@ import six
|
||||
from jenkins_jobs.modules.scm import git_extensions
|
||||
from jenkins_jobs.errors import InvalidAttributeError
|
||||
from jenkins_jobs.errors import JenkinsJobsException
|
||||
from jenkins_jobs.xml_config import remove_ignorable_whitespace
|
||||
|
||||
logger = logging.getLogger(str(__name__))
|
||||
|
||||
@ -1102,6 +1103,8 @@ def build_strategies(xml_parent, data):
|
||||
Requires the :jenkins-plugins:`Basic Branch Build Strategies Plugin
|
||||
<basic-branch-build-strategies>`.
|
||||
|
||||
Other build strategies can be configured via raw XML injection.
|
||||
|
||||
:arg list build-strategies: Definition of build strategies.
|
||||
|
||||
* **tags** (dict): Builds tags
|
||||
@ -1142,6 +1145,8 @@ def build_strategies(xml_parent, data):
|
||||
for example: `master release*` (default `*`)
|
||||
* **excludes** (str) Name patterns to ignore even if matched
|
||||
by the includes list. For example: release (optional)
|
||||
* **raw** (dict): Injects raw BuildStrategy XML to use other build
|
||||
strategy plugins.
|
||||
|
||||
"""
|
||||
|
||||
@ -1268,6 +1273,11 @@ def build_strategies(xml_parent, data):
|
||||
fail_required=False,
|
||||
)
|
||||
|
||||
if "raw" in bbs_list:
|
||||
raw_xml = XML.fromstring(bbs_list["raw"].get("xml"))
|
||||
remove_ignorable_whitespace(raw_xml)
|
||||
XML.SubElement(bbs, None).append(raw_xml)
|
||||
|
||||
|
||||
def property_strategies(xml_parent, data):
|
||||
"""Configure Basic Branch Property Strategies.
|
||||
|
@ -140,6 +140,9 @@
|
||||
</jenkins.branch.buildstrategies.basic.NamedBranchBuildStrategyImpl_-WildcardsNameFilter>
|
||||
</filters>
|
||||
</jenkins.branch.buildstrategies.basic.NamedBranchBuildStrategyImpl>
|
||||
<com.igalg.jenkins.plugins.multibranch.buildstrategy.IncludeRegionBranchBuildStrategy plugin="multibranch-build-strategy-extension">
|
||||
<includedRegions>my/cool/project/*.cpp</includedRegions>
|
||||
</com.igalg.jenkins.plugins.multibranch.buildstrategy.IncludeRegionBranchBuildStrategy>
|
||||
</buildStrategies>
|
||||
</jenkins.branch.BranchSource>
|
||||
</data>
|
||||
|
@ -37,6 +37,11 @@ scm:
|
||||
- exact-name: {}
|
||||
- regex-name: {}
|
||||
- wildcards-name: {}
|
||||
- raw:
|
||||
xml: |
|
||||
<com.igalg.jenkins.plugins.multibranch.buildstrategy.IncludeRegionBranchBuildStrategy plugin="multibranch-build-strategy-extension">
|
||||
<includedRegions>my/cool/project/*.cpp</includedRegions>
|
||||
</com.igalg.jenkins.plugins.multibranch.buildstrategy.IncludeRegionBranchBuildStrategy>
|
||||
clean:
|
||||
after: true
|
||||
before: true
|
||||
|
Loading…
x
Reference in New Issue
Block a user