summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/modules/zuul.py
diff options
context:
space:
mode:
Diffstat (limited to 'jenkins_jobs/modules/zuul.py')
-rw-r--r--jenkins_jobs/modules/zuul.py218
1 files changed, 134 insertions, 84 deletions
diff --git a/jenkins_jobs/modules/zuul.py b/jenkins_jobs/modules/zuul.py
index c4f4857a..8766895d 100644
--- a/jenkins_jobs/modules/zuul.py
+++ b/jenkins_jobs/modules/zuul.py
@@ -58,80 +58,129 @@ def zuul_post():
ZUUL_PARAMETERS = [
- {'string':
- {'description': 'Zuul provided key to link builds with Gerrit events',
- 'name': 'ZUUL_UUID'}},
- {'string':
- {'description': 'Zuul provided key to link builds with Gerrit'
- ' events (deprecated use ZUUL_UUID instead)',
- 'name': 'UUID'}},
- {'string':
- {'description': 'Zuul pipeline triggering this job',
- 'name': 'ZUUL_PIPELINE'}},
- {'string':
- {'description': 'URL of Zuul\'s git repos accessible to workers',
- 'name': 'ZUUL_URL'}},
- {'string':
- {'description': 'Branch name of triggering project',
- 'name': 'ZUUL_PROJECT'}},
- {'string':
- {'description': 'Branch name of triggering change',
- 'name': 'ZUUL_BRANCH'}},
- {'string':
- {'description': 'List of dependent changes to merge',
- 'name': 'ZUUL_CHANGES'}},
- {'string':
- {'description': 'Reference for the merged commit(s) to use',
- 'name': 'ZUUL_REF'}},
- {'string':
- {'description': 'The commit SHA1 at the head of ZUUL_REF',
- 'name': 'ZUUL_COMMIT'}},
- {'string':
- {'description': 'List of included changes',
- 'name': 'ZUUL_CHANGE_IDS'}},
- {'string':
- {'description': 'ID of triggering change',
- 'name': 'ZUUL_CHANGE'}},
- {'string':
- {'description': 'Patchset of triggering change',
- 'name': 'ZUUL_PATCHSET'}},
- {'string':
- {'description': 'Zuul considered this job voting or not',
- 'name': 'ZUUL_VOTING'}},
+ {
+ "string": {
+ "description": "Zuul provided key to link builds with Gerrit events",
+ "name": "ZUUL_UUID",
+ }
+ },
+ {
+ "string": {
+ "description": "Zuul provided key to link builds with Gerrit"
+ " events (deprecated use ZUUL_UUID instead)",
+ "name": "UUID",
+ }
+ },
+ {
+ "string": {
+ "description": "Zuul pipeline triggering this job",
+ "name": "ZUUL_PIPELINE",
+ }
+ },
+ {
+ "string": {
+ "description": "URL of Zuul's git repos accessible to workers",
+ "name": "ZUUL_URL",
+ }
+ },
+ {
+ "string": {
+ "description": "Branch name of triggering project",
+ "name": "ZUUL_PROJECT",
+ }
+ },
+ {
+ "string": {
+ "description": "Branch name of triggering change",
+ "name": "ZUUL_BRANCH",
+ }
+ },
+ {
+ "string": {
+ "description": "List of dependent changes to merge",
+ "name": "ZUUL_CHANGES",
+ }
+ },
+ {
+ "string": {
+ "description": "Reference for the merged commit(s) to use",
+ "name": "ZUUL_REF",
+ }
+ },
+ {
+ "string": {
+ "description": "The commit SHA1 at the head of ZUUL_REF",
+ "name": "ZUUL_COMMIT",
+ }
+ },
+ {"string": {"description": "List of included changes", "name": "ZUUL_CHANGE_IDS"}},
+ {"string": {"description": "ID of triggering change", "name": "ZUUL_CHANGE"}},
+ {
+ "string": {
+ "description": "Patchset of triggering change",
+ "name": "ZUUL_PATCHSET",
+ }
+ },
+ {
+ "string": {
+ "description": "Zuul considered this job voting or not",
+ "name": "ZUUL_VOTING",
+ }
+ },
]
ZUUL_POST_PARAMETERS = [
- {'string':
- {'description': 'Zuul provided key to link builds with Gerrit events',
- 'name': 'ZUUL_UUID'}},
- {'string':
- {'description': 'Zuul provided key to link builds with Gerrit'
- ' events (deprecated use ZUUL_UUID instead)',
- 'name': 'UUID'}},
- {'string':
- {'description': 'Zuul pipeline triggering this job',
- 'name': 'ZUUL_PIPELINE'}},
- {'string':
- {'description': 'URL of Zuul\'s git repos accessible to workers',
- 'name': 'ZUUL_URL'}},
- {'string':
- {'description': 'Branch name of triggering project',
- 'name': 'ZUUL_PROJECT'}},
- {'string':
- {'description': 'Name of updated reference triggering this job',
- 'name': 'ZUUL_REF'}},
- {'string':
- {'description': 'Name of updated reference triggering this job',
- 'name': 'ZUUL_REFNAME'}},
- {'string':
- {'description': 'Old SHA at this reference',
- 'name': 'ZUUL_OLDREV'}},
- {'string':
- {'description': 'New SHA at this reference',
- 'name': 'ZUUL_NEWREV'}},
- {'string':
- {'description': 'Shortened new SHA at this reference',
- 'name': 'ZUUL_SHORT_NEWREV'}},
+ {
+ "string": {
+ "description": "Zuul provided key to link builds with Gerrit events",
+ "name": "ZUUL_UUID",
+ }
+ },
+ {
+ "string": {
+ "description": "Zuul provided key to link builds with Gerrit"
+ " events (deprecated use ZUUL_UUID instead)",
+ "name": "UUID",
+ }
+ },
+ {
+ "string": {
+ "description": "Zuul pipeline triggering this job",
+ "name": "ZUUL_PIPELINE",
+ }
+ },
+ {
+ "string": {
+ "description": "URL of Zuul's git repos accessible to workers",
+ "name": "ZUUL_URL",
+ }
+ },
+ {
+ "string": {
+ "description": "Branch name of triggering project",
+ "name": "ZUUL_PROJECT",
+ }
+ },
+ {
+ "string": {
+ "description": "Name of updated reference triggering this job",
+ "name": "ZUUL_REF",
+ }
+ },
+ {
+ "string": {
+ "description": "Name of updated reference triggering this job",
+ "name": "ZUUL_REFNAME",
+ }
+ },
+ {"string": {"description": "Old SHA at this reference", "name": "ZUUL_OLDREV"}},
+ {"string": {"description": "New SHA at this reference", "name": "ZUUL_NEWREV"}},
+ {
+ "string": {
+ "description": "Shortened new SHA at this reference",
+ "name": "ZUUL_SHORT_NEWREV",
+ }
+ },
]
@@ -141,23 +190,24 @@ class Zuul(jenkins_jobs.modules.base.Base):
def handle_data(self, job_data):
changed = False
jobs = itertools.chain(
- job_data.get('job', {}).values(),
- job_data.get('job-template', {}).values())
+ job_data.get("job", {}).values(), job_data.get("job-template", {}).values()
+ )
for job in jobs:
- triggers = job.get('triggers')
+ triggers = job.get("triggers")
if not triggers:
continue
- if ('zuul' not in job.get('triggers', []) and
- 'zuul-post' not in job.get('triggers', [])):
+ if "zuul" not in job.get("triggers", []) and "zuul-post" not in job.get(
+ "triggers", []
+ ):
continue
- if 'parameters' not in job:
- job['parameters'] = []
- if 'zuul' in job.get('triggers', []):
- job['parameters'].extend(ZUUL_PARAMETERS)
- job['triggers'].remove('zuul')
- if 'zuul-post' in job.get('triggers', []):
- job['parameters'].extend(ZUUL_POST_PARAMETERS)
- job['triggers'].remove('zuul-post')
+ if "parameters" not in job:
+ job["parameters"] = []
+ if "zuul" in job.get("triggers", []):
+ job["parameters"].extend(ZUUL_PARAMETERS)
+ job["triggers"].remove("zuul")
+ if "zuul-post" in job.get("triggers", []):
+ job["parameters"].extend(ZUUL_POST_PARAMETERS)
+ job["triggers"].remove("zuul-post")
changed = True
return changed