summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-07-27 20:35:14 +0000
committerGerrit Code Review <review@openstack.org>2021-07-27 20:35:14 +0000
commit8e4af0ce5e708ec6a8a2bf3a421b299f94704a7e (patch)
treecae3748b210a59cf07d39879ea63627fb175d1a1
parent602227fef42627f3302cce09b58051289ed57a97 (diff)
parent3fbd61c0d5ccc7c35320a3770b687797a97a693e (diff)
downloadzuul-8e4af0ce5e708ec6a8a2bf3a421b299f94704a7e.tar.gz
Merge "Add item UUID to MQTT reporter"4.7.0
-rw-r--r--doc/source/reference/drivers/mqtt.rst6
-rw-r--r--tests/unit/test_connection.py1
-rw-r--r--zuul/driver/mqtt/mqttreporter.py1
3 files changed, 8 insertions, 0 deletions
diff --git a/doc/source/reference/drivers/mqtt.rst b/doc/source/reference/drivers/mqtt.rst
index 0826cf28c..168785f63 100644
--- a/doc/source/reference/drivers/mqtt.rst
+++ b/doc/source/reference/drivers/mqtt.rst
@@ -13,6 +13,12 @@ An MQTT report uses this schema:
.. attr:: <mqtt schema>
+ .. attr:: uuid
+
+ The item UUID. Each item enqueued into a Zuul pipeline is
+ assigned a UUID which remains the same even as Zuul's
+ speculative execution algorithm re-orders pipeline contents.
+
.. attr:: action
The reporter action name, e.g.: 'start', 'success', 'failure',
diff --git a/tests/unit/test_connection.py b/tests/unit/test_connection.py
index 3f5e48f00..83135d543 100644
--- a/tests/unit/test_connection.py
+++ b/tests/unit/test_connection.py
@@ -645,6 +645,7 @@ class TestMQTTConnection(ZuulTestCase):
self.assertIn('enqueue_time', mqtt_payload)
self.assertIn('trigger_time', mqtt_payload)
self.assertIn('zuul_event_id', mqtt_payload)
+ self.assertIn('uuid', mqtt_payload)
self.assertEquals(dependent_test_job['dependencies'], ['test'])
def test_mqtt_invalid_topic(self):
diff --git a/zuul/driver/mqtt/mqttreporter.py b/zuul/driver/mqtt/mqttreporter.py
index 3376f1866..a53389337 100644
--- a/zuul/driver/mqtt/mqttreporter.py
+++ b/zuul/driver/mqtt/mqttreporter.py
@@ -48,6 +48,7 @@ class MQTTReporter(BaseReporter):
item, with_jobs=False),
'trigger_time': item.event.timestamp,
'enqueue_time': item.enqueue_time,
+ 'uuid': item.uuid,
'buildset': {
'uuid': item.current_build_set.uuid,
'result': item.current_build_set.result,