Cucumber · Schema
CucumberMessage
Subset schema for Cucumber Messages, the standard interchange format emitted by Cucumber implementations and consumed by formatters and reporters. See https://github.com/cucumber/messages for the canonical schema.
AutomationBDDBehavior Driven DevelopmentGherkinOpen SourceQuality AssuranceTest FrameworkTesting
Properties
| Name | Type | Description |
|---|---|---|
| meta | object | |
| source | object | |
| gherkinDocument | object | |
| pickle | object | |
| testRunStarted | object | |
| testRunFinished | object | |
| testCaseStarted | object | |
| testCaseFinished | object | |
| testStepStarted | object | |
| testStepFinished | object | |
| attachment | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/cucumber/refs/heads/main/json-schema/cucumber-message-schema.json",
"title": "CucumberMessage",
"description": "Subset schema for Cucumber Messages, the standard interchange format emitted by Cucumber implementations and consumed by formatters and reporters. See https://github.com/cucumber/messages for the canonical schema.",
"type": "object",
"oneOf": [
{"required": ["meta"]},
{"required": ["source"]},
{"required": ["gherkinDocument"]},
{"required": ["pickle"]},
{"required": ["testCaseStarted"]},
{"required": ["testCaseFinished"]},
{"required": ["testStepStarted"]},
{"required": ["testStepFinished"]},
{"required": ["testRunStarted"]},
{"required": ["testRunFinished"]},
{"required": ["attachment"]}
],
"properties": {
"meta": {
"type": "object",
"properties": {
"protocolVersion": {"type": "string"},
"implementation": {"type": "object", "properties": {"name": {"type": "string"}, "version": {"type": "string"}}},
"runtime": {"type": "object", "properties": {"name": {"type": "string"}, "version": {"type": "string"}}}
}
},
"source": {
"type": "object",
"required": ["uri", "data", "mediaType"],
"properties": {
"uri": {"type": "string"},
"data": {"type": "string"},
"mediaType": {"type": "string"}
}
},
"gherkinDocument": {
"type": "object",
"properties": {
"uri": {"type": "string"},
"feature": {"$ref": "#/$defs/Feature"},
"comments": {"type": "array", "items": {"type": "object"}}
}
},
"pickle": {
"type": "object",
"properties": {
"id": {"type": "string"},
"uri": {"type": "string"},
"name": {"type": "string"},
"language": {"type": "string"},
"tags": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}}}},
"steps": {"type": "array", "items": {"type": "object"}}
}
},
"testRunStarted": {"type": "object", "properties": {"timestamp": {"$ref": "#/$defs/Timestamp"}}},
"testRunFinished": {
"type": "object",
"properties": {
"success": {"type": "boolean"},
"timestamp": {"$ref": "#/$defs/Timestamp"},
"message": {"type": "string"}
}
},
"testCaseStarted": {"type": "object"},
"testCaseFinished": {"type": "object"},
"testStepStarted": {"type": "object"},
"testStepFinished": {
"type": "object",
"properties": {
"testStepResult": {
"type": "object",
"properties": {
"status": {"type": "string", "enum": ["UNKNOWN", "PASSED", "SKIPPED", "PENDING", "UNDEFINED", "AMBIGUOUS", "FAILED"]},
"duration": {"type": "object"},
"message": {"type": "string"}
}
}
}
},
"attachment": {
"type": "object",
"properties": {
"body": {"type": "string"},
"contentEncoding": {"type": "string", "enum": ["IDENTITY", "BASE64"]},
"mediaType": {"type": "string"},
"fileName": {"type": "string"}
}
}
},
"$defs": {
"Timestamp": {
"type": "object",
"properties": {
"seconds": {"type": "integer"},
"nanos": {"type": "integer"}
}
},
"Feature": {
"type": "object",
"properties": {
"name": {"type": "string"},
"description": {"type": "string"},
"language": {"type": "string"},
"keyword": {"type": "string"},
"tags": {"type": "array", "items": {"type": "object"}},
"children": {"type": "array", "items": {"type": "object"}}
}
}
}
}