Add job dependencies to status.json
Adding the job dependencies will make it possible to render the job
graphs as real graphs. In example one could think of a details popup
when clicking on a details link.
Change-Id: Id9c376a47b28ff022eb69f957c18791d7130daf1
diff --git a/tests/unit/test_scheduler.py b/tests/unit/test_scheduler.py
index e9eee54..a90b64d 100755
--- a/tests/unit/test_scheduler.py
+++ b/tests/unit/test_scheduler.py
@@ -2306,6 +2306,16 @@
self.assertEqual('finger://zl.example.com/%s' % status_jobs[2]['uuid'],
status_jobs[2]['report_url'])
+ # check job dependencies
+ self.assertIsNotNone(status_jobs[0]['dependencies'])
+ self.assertIsNotNone(status_jobs[1]['dependencies'])
+ self.assertIsNotNone(status_jobs[2]['dependencies'])
+ self.assertEqual(len(status_jobs[0]['dependencies']), 0)
+ self.assertEqual(len(status_jobs[1]['dependencies']), 1)
+ self.assertEqual(len(status_jobs[2]['dependencies']), 1)
+ self.assertIn('project-merge', status_jobs[1]['dependencies'])
+ self.assertIn('project-merge', status_jobs[2]['dependencies'])
+
def test_live_reconfiguration(self):
"Test that live reconfiguration works"
self.executor_server.hold_jobs_in_build = True
diff --git a/zuul/model.py b/zuul/model.py
index 436a9c8..ad0e8d1 100644
--- a/zuul/model.py
+++ b/zuul/model.py
@@ -1695,6 +1695,7 @@
ret['jobs'].append({
'name': job.name,
+ 'dependencies': list(job.dependencies),
'elapsed_time': elapsed,
'remaining_time': remaining,
'url': build_url,