summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/modules/view_list.py
diff options
context:
space:
mode:
authorAnil Belur <askb23@gmail.com>2018-03-10 17:28:03 +1000
committerSorin Sbarnea <ssbarnea@redhat.com>2018-04-19 09:37:35 +0100
commit8811c514bd98dac9b96e9c3cca1394936b90188e (patch)
tree61e9c951ab52a07d8f14fcc0673d2dfb058bc7e1 /jenkins_jobs/modules/view_list.py
parentf4b66dc531c852cabaacdb7443fa07003fc3e03f (diff)
downloadpython-jenkins-job-builder-8811c514bd98dac9b96e9c3cca1394936b90188e.tar.gz
python-jenkins-job-builder-8811c514bd98dac9b96e9c3cca1394936b90188e.tar.xz
python-jenkins-job-builder-8811c514bd98dac9b96e9c3cca1394936b90188e.zip
Add support for user permissions job filter
Add support for user permissions job filter for views. Change-Id: Ib956fa9387dc86fd8a2d297c443342b5548a9937 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.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/jenkins_jobs/modules/view_list.py b/jenkins_jobs/modules/view_list.py
index 3fa11d58..1d17b434 100644
--- a/jenkins_jobs/modules/view_list.py
+++ b/jenkins_jobs/modules/view_list.py
@@ -174,6 +174,19 @@ to the :ref:`view_list` definition.
* **match-type** ('str'): Jobs that match a filter
to include. (default includeMatched)
+ * **user-permissions** (`dict`)
+ :user-permissions:
+ * **match-type** ('str'): Jobs that match a filter to include.
+ (default includeMatched)
+ * **configure** ('bool'): User with configure permissions.
+ (default false)
+ * **amount-type**: ('bool'): User with build permissions.
+ (default false)
+ * **amount**: ('bool'): User with workspace permissions.
+ (default false)
+ * **permission-check**: ('str'): Match user permissions.
+ (default MustMatchAll)
+
* **columns** (`list`): List of columns to be shown in view.
* **regex** (`str`): . Regular expression for selecting jobs
(optional)
@@ -451,6 +464,23 @@ class List(jenkins_jobs.modules.base.Base):
convert_mapping_to_xml(sj_xml, sj_data, mapping,
fail_required=True)
+ if jobfilter == 'user-permissions':
+ up_xml = XML.SubElement(job_filter_xml,
+ 'hudson.views.SecurityFilter')
+ up_xml.set('plugin', 'view-job-filters')
+ up_data = jobfilters.get('user-permissions')
+ mapping = [
+ ('match-type', 'includeExcludeTypeString',
+ 'includeMatched'),
+ ('configure', 'configure', False),
+ ('build', 'build', False),
+ ('workspace', 'workspace', False),
+ ('permission-check', 'permissionCheckType',
+ 'MustMatchAll'),
+ ]
+ convert_mapping_to_xml(up_xml, up_data, mapping,
+ fail_required=True)
+
c_xml = XML.SubElement(root, 'columns')
columns = data.get('columns', DEFAULT_COLUMNS)