summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/modules/view_list.py
diff options
context:
space:
mode:
authorAnil Belur <askb23@gmail.com>2018-03-11 21:12:35 +1000
committerSorin Sbarnea <ssbarnea@redhat.com>2018-04-18 23:32:25 +0100
commit0361d56fdf6adfdc27249c1ba698e0bf3bdb9096 (patch)
tree2b1f372c01f682e90e9bd9a244d5a0aef0ea4c64 /jenkins_jobs/modules/view_list.py
parentf3e036d65e4e5181af88b9776818d98f4772ccff (diff)
downloadpython-jenkins-job-builder-0361d56fdf6adfdc27249c1ba698e0bf3bdb9096.tar.gz
python-jenkins-job-builder-0361d56fdf6adfdc27249c1ba698e0bf3bdb9096.tar.xz
python-jenkins-job-builder-0361d56fdf6adfdc27249c1ba698e0bf3bdb9096.zip
Add support for regex job filters
Add support for regex job filters for views. Change-Id: Ic442aaf7f374800f1cd4d0d8a1229ee1e0557891 Signed-off-by: Anil Belur <askb23@gmail.com>
Diffstat (limited to 'jenkins_jobs/modules/view_list.py')
-rw-r--r--jenkins_jobs/modules/view_list.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/jenkins_jobs/modules/view_list.py b/jenkins_jobs/modules/view_list.py
index ca642e85..ea97b762 100644
--- a/jenkins_jobs/modules/view_list.py
+++ b/jenkins_jobs/modules/view_list.py
@@ -124,6 +124,14 @@ to the :ref:`view_list` definition.
* **match-scm-changes** ('bool'): Jobs matching
scm changes. (default False)
+ * **regex-job** (`dict`)
+ :regex-job:
+ * **match-type** ('str'): Jobs that match a filter
+ to include. (default includeMatched)
+ * **regex-name** ('str'): Regular expression name.
+ (default '')
+ * **regex** ('str'): Regular expression. (default '')
+
* **columns** (`list`): List of columns to be shown in view.
* **regex** (`str`): . Regular expression for selecting jobs
(optional)
@@ -315,6 +323,20 @@ class List(jenkins_jobs.modules.base.Base):
convert_mapping_to_xml(ur_xml, ur_data, mapping,
fail_required=True)
+ if jobfilter == 'regex-job':
+ rj_xml = XML.SubElement(job_filter_xml,
+ 'hudson.views.RegExJobFilter')
+ rj_xml.set('plugin', 'view-job-filters')
+ rj_data = jobfilters.get('regex-job')
+ mapping = [
+ ('match-type', 'includeExcludeTypeString',
+ 'includeMatched'),
+ ('regex-name', 'valueTypeString', ''),
+ ('regex', 'regex', ''),
+ ]
+ convert_mapping_to_xml(rj_xml, rj_data, mapping,
+ fail_required=True)
+
c_xml = XML.SubElement(root, 'columns')
columns = data.get('columns', DEFAULT_COLUMNS)