summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/modules/view_list.py
diff options
context:
space:
mode:
Diffstat (limited to 'jenkins_jobs/modules/view_list.py')
-rw-r--r--jenkins_jobs/modules/view_list.py46
1 files changed, 31 insertions, 15 deletions
diff --git a/jenkins_jobs/modules/view_list.py b/jenkins_jobs/modules/view_list.py
index 2931cc4b..8ad7658c 100644
--- a/jenkins_jobs/modules/view_list.py
+++ b/jenkins_jobs/modules/view_list.py
@@ -310,18 +310,27 @@ DEFAULT_COLUMNS = [
class List(jenkins_jobs.modules.base.Base):
sequence = 0
- def root_xml(self, data):
- root = XML.Element("hudson.model.ListView")
-
- mapping = [
- ("name", "name", None),
- ("description", "description", ""),
- ("filter-executors", "filterExecutors", False),
- ("filter-queue", "filterQueue", False),
- ]
+ def root_xml(self, data, sectioned=False):
+ name = "hudson.model.ListView"
+ if sectioned:
+ name = "hudson.plugins.sectioned__view.ListViewSection"
+ root = XML.Element(name)
+
+ mapping = [("name", "name", None)]
+ if not sectioned:
+ mapping.extend(
+ [
+ ("description", "description", ""),
+ ("filter-executors", "filterExecutors", False),
+ ("filter-queue", "filterQueue", False),
+ ]
+ )
helpers.convert_mapping_to_xml(root, data, mapping, fail_required=True)
- XML.SubElement(root, "properties", {"class": "hudson.model.View$PropertyList"})
+ if not sectioned:
+ XML.SubElement(
+ root, "properties", {"class": "hudson.model.View$PropertyList"}
+ )
jn_xml = XML.SubElement(root, "jobNames")
jobnames = data.get("job-name", None)
@@ -341,6 +350,13 @@ class List(jenkins_jobs.modules.base.Base):
filter = getattr(view_jobfilters, jobfilter.replace("-", "_"))
filter(job_filter_xml, jobfilters.get(jobfilter))
+ if sectioned:
+ mapping = [
+ ("width", "width", "FULL", ["FULL", "HALF", "THIRD", "TWO_THIRDS"]),
+ ("alignment", "alignment", "CENTER", ["CENTER", "LEFT", "RIGHT"]),
+ ]
+ helpers.convert_mapping_to_xml(root, data, mapping, fail_required=True)
+
c_xml = XML.SubElement(root, "columns")
columns = data.get("columns", DEFAULT_COLUMNS)
@@ -369,11 +385,11 @@ class List(jenkins_jobs.modules.base.Base):
x.append(XML.fromstring(tag))
else:
XML.SubElement(c_xml, COLUMN_DICT[column])
- mapping = [
- ("regex", "includeRegex", None),
- ("recurse", "recurse", False),
- ("status-filter", "statusFilter", None),
- ]
+ mapping = [("regex", "includeRegex", None)]
+ if not sectioned:
+ mapping.extend(
+ [("recurse", "recurse", False), ("status-filter", "statusFilter", None)]
+ )
helpers.convert_mapping_to_xml(root, data, mapping, fail_required=False)
return root