diff --git a/tests/unit/test_web.py b/tests/unit/test_web.py index 516070f8f1..38c2879c8b 100644 --- a/tests/unit/test_web.py +++ b/tests/unit/test_web.py @@ -149,6 +149,9 @@ class TestWeb(BaseTestWeb): data = resp.json() status_jobs = [] for p in data['pipelines']: + self.assertEqual(p["trigger_events"], 0) + self.assertEqual(p["result_events"], 0) + self.assertEqual(p["management_events"], 0) for q in p['change_queues']: if p['name'] in ['gate', 'conflict']: self.assertEqual(q['window'], 20) diff --git a/zuul/scheduler.py b/zuul/scheduler.py index 8bb575ecaf..1767478853 100644 --- a/zuul/scheduler.py +++ b/zuul/scheduler.py @@ -1855,8 +1855,18 @@ class Scheduler(threading.Thread): "message": "Tenant %s isn't ready" % tenant_name, "code": 204 }) + trigger_event_queues = self.pipeline_trigger_events[tenant_name] + result_event_queues = self.pipeline_result_events[tenant_name] + management_event_queues = self.pipeline_management_events[tenant_name] for pipeline in tenant.layout.pipelines.values(): - pipelines.append(pipeline.formatStatusJSON(websocket_url)) + status = pipeline.formatStatusJSON(websocket_url) + status['trigger_events'] = len( + trigger_event_queues[pipeline.name]) + status['result_events'] = len( + result_event_queues[pipeline.name]) + status['management_events'] = len( + management_event_queues[pipeline.name]) + pipelines.append(status) return json.dumps(data) def onChangeUpdated(self, change, event):