From bd07732cc787a6ac2bd8abd6c22fb5704314af36 Mon Sep 17 00:00:00 2001 From: Anil Belur Date: Sun, 11 Mar 2018 13:37:02 +1000 Subject: [PATCH] Add support for scmtype job filters Add support for scmtype job filters for views. Change-Id: Ie63f36ff61258c0a467eab8dbae93b4d5ef60837 Signed-off-by: Anil Belur --- jenkins_jobs/modules/view_list.py | 20 +++++++++++++ .../view_list_scmtype_filter_full.xml | 28 +++++++++++++++++++ .../view_list_scmtype_filter_full.yaml | 11 ++++++++ 3 files changed, 59 insertions(+) create mode 100644 tests/views/fixtures/view_list_scmtype_filter_full.xml create mode 100644 tests/views/fixtures/view_list_scmtype_filter_full.yaml diff --git a/jenkins_jobs/modules/view_list.py b/jenkins_jobs/modules/view_list.py index c991832c3..ddfe23c2f 100644 --- a/jenkins_jobs/modules/view_list.py +++ b/jenkins_jobs/modules/view_list.py @@ -162,6 +162,13 @@ to the :ref:`view_list` definition. * **view-name** ('str'): View name. (default select a view other than this one) + * **scm** (`dict`) + :scm: + * **match-type** ('str'): Jobs that match a filter to include. + (default includeMatched) + * **scm-type** ('str'): Type of SCM. + (default hudson.scm.NullSCM) + * **columns** (`list`): List of columns to be shown in view. * **regex** (`str`): . Regular expression for selecting jobs (optional) @@ -414,6 +421,19 @@ class List(jenkins_jobs.modules.base.Base): convert_mapping_to_xml(ov_xml, ov_data, mapping, fail_required=True) + if jobfilter == 'scm': + st_xml = XML.SubElement(job_filter_xml, + 'hudson.views.ScmTypeFilter') + st_xml.set('plugin', 'view-job-filters') + st_data = jobfilters.get('scm') + mapping = [ + ('match-type', 'includeExcludeTypeString', + 'includeMatched'), + ('scm-type', 'scmType', 'hudson.scm.NullSCM'), + ] + convert_mapping_to_xml(st_xml, st_data, mapping, + fail_required=True) + c_xml = XML.SubElement(root, 'columns') columns = data.get('columns', DEFAULT_COLUMNS) diff --git a/tests/views/fixtures/view_list_scmtype_filter_full.xml b/tests/views/fixtures/view_list_scmtype_filter_full.xml new file mode 100644 index 000000000..b2f710da2 --- /dev/null +++ b/tests/views/fixtures/view_list_scmtype_filter_full.xml @@ -0,0 +1,28 @@ + + + list-view-name01 + Sample description + true + true + + + + + + + includeMatched + hudson.scm.NullSCM + + + + + + + + + + + + true + false + diff --git a/tests/views/fixtures/view_list_scmtype_filter_full.yaml b/tests/views/fixtures/view_list_scmtype_filter_full.yaml new file mode 100644 index 000000000..f36218e9a --- /dev/null +++ b/tests/views/fixtures/view_list_scmtype_filter_full.yaml @@ -0,0 +1,11 @@ +name: list-view-name01 +view-type: list +description: 'Sample description' +filter-executors: true +filter-queue: true +job-filters: + scm: + match-type: includeMatched + scm-type: hudson.scm.NullSCM +recurse: true +status-filter: false