| |
@@ -1,4 +1,3 @@
|
| |
-
|
| |
CI Messages
|
| |
===========
|
| |
|
| |
@@ -38,6 +37,8 @@
|
| |
make convert
|
| |
./scripts/validate.py schemas/brew-build.test.complete.json message.json
|
| |
|
| |
+ **Note**: Release tag 1.x.x onward all messages will be validated against scheme before updating the ResultsDB,
|
| |
+ and invalid messges will not be processed.
|
| |
|
| |
Examples
|
| |
--------
|
| |
@@ -113,9 +114,7 @@
|
| |
All data should be stored in the body of the message. Additional
|
| |
fields can be added to the messages as required by the senders,
|
| |
although it is advised to document them here.
|
| |
-
|
| |
Syntax requirements for field names:
|
| |
-
|
| |
* Use only characters `[a-z0-9_]`
|
| |
* No spaces are allowed in the name of the field
|
| |
* For separation of multi-word strings in field names use the
|
| |
@@ -128,6 +127,38 @@
|
| |
e.g. recipients: ["mvadkert", "optak"]. In case of an empty field,
|
| |
this needs to be and empty list: []
|
| |
|
| |
+ ResultsDB-Updater V2 Mappings
|
| |
+ ------------------------------
|
| |
+ All the messages with version:1.x.x onward will be Processed by ResultsDB-Updater V2 logic.
|
| |
+ Mappings are stored in `/mappings` directory and its tightly coupled with schemas.
|
| |
+ These mappings are used to transform the messages into ResultsDB format.
|
| |
+
|
| |
+ Syntax requirements for `/mappings` directory:
|
| |
+
|
| |
+ * Only .yaml files supported for `/mappings` directory.
|
| |
+ * File name should match with `/schemas` file name.
|
| |
+ * Mapping file format/syntex should be driven from ResultsDB [Attributes][resultsDB]
|
| |
+
|
| |
+ Headers & Body Supported for `/mappings` files:
|
| |
+
|
| |
+ Headers will contain pre-processed metadata.
|
| |
+ i.e. UMB = /topic/VirtualTopic.eng.ci.<ciNamespace>.<ciArtifact>.<ciEvent>.<ciStatus>
|
| |
+
|
| |
+ * headers.ciNamespace
|
| |
+ * headers.ciArtifact
|
| |
+ * headers.ciEvent
|
| |
+ * headers.ciStatus
|
| |
+ * headers.ciFullEvent : value as ciEvent.ciStatus
|
| |
+ * headers.ciComputedStatus : Computes status value based on ciStatus
|
| |
+ * headers.uuid : uuid generated for individual message
|
| |
+ * Body will be root elment to access all message content.
|
| |
+ e.g. body.test.result will resolve to test.result value.
|
| |
+ * Inorder to evalute the header and body expressions it shold be enclosed with "${}".
|
| |
+ e.g. "${body.test.result}"
|
| |
+ * status vs computed-status mapping as follows:
|
| |
+
|
| |
+ error >> ERROR , queued >> QUEUED , running >> RUNNING
|
| |
+ pass >> PASSED , failed >> FAILED , failure >> FAILED
|
| |
|
| |
Licensing
|
| |
---------
|
| |
@@ -148,3 +179,4 @@
|
| |
[js]: http://json-schema.org/
|
| |
[fedmsg]: https://fedmsg2.readthedocs.io/en/latest/topics.html
|
| |
[CC-BY]: http://creativecommons.org/licenses/by/4.0/
|
| |
+ [resultsDB]: https://resultsdb20.docs.apiary.io/#reference/0/result-groups/create-new-result
|
| |
As a part of ResultDB Updater V2 initiative, we have added Required mapping in the "component-version.test.complete.yaml".