diff options
author | Anil Belur <askb23@gmail.com> | 2018-03-10 17:28:03 +1000 |
---|---|---|
committer | Sorin Sbarnea <ssbarnea@redhat.com> | 2018-04-19 09:37:35 +0100 |
commit | 8811c514bd98dac9b96e9c3cca1394936b90188e (patch) | |
tree | 61e9c951ab52a07d8f14fcc0673d2dfb058bc7e1 /jenkins_jobs/modules/view_list.py | |
parent | f4b66dc531c852cabaacdb7443fa07003fc3e03f (diff) | |
download | python-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.py | 30 |
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) |