Schema Documentation

June 30, 2026 · View on GitHub

Schema Version

Current version: 1.0.0

The schema follows Semantic Versioning:

  • Major — Breaking changes (removed fields, changed types, changed semantics).
  • Minor — Additive, backward-compatible changes (new optional fields).
  • Patch — Clarifications and errata that do not change structure.

Root Object

{
  "schemaVersion": "1.0.0",
  "execution": { ... },
  "statistics": { ... },
  "environment": { ... },
  "features": [ ... ],
  "metadata": { ... }
}

Required Fields

FieldTypeDescription
schemaVersionstringSemVer version of the schema
executionobjectExecution-level metadata
statisticsobjectAggregate statistics
featuresarrayList of features
metadataobjectArbitrary user-supplied metadata

Optional Fields

FieldTypeDescription
environmentobjectRuntime environment info

Execution

FieldTypeRequiredDescription
executionIdstringyesUnique execution identifier
projectNamestring|nullnoProject name
startTimestring|nullnoISO-8601 start timestamp
endTimestring|nullnoISO-8601 end timestamp
durationnumberyesDuration in seconds
statusstringyespassed | failed | skipped
commandstring|nullnoCommand that triggered the execution
workingDirectorystring|nullnoWorking directory

Statistics

FieldTypeDescription
featuresintegerTotal features
scenariosintegerTotal scenarios
stepsintegerTotal steps
passedintegerPassed steps
failedintegerFailed steps
skippedintegerSkipped steps
undefinedintegerUndefined steps
pendingintegerPending steps
passRatenumberPass rate (0.0–1.0)
durationnumberTotal duration in seconds

Environment

FieldTypeDescription
pythonVersionstring|nullPython runtime version
behaveVersionstring|nullBehave version
platformstring|nullPlatform identifier
osstring|nullOperating system name
osVersionstring|nullOS release version
hostnamestring|nullMachine hostname
ciProviderstring|nullCI provider (if detected)
extraobjectAdditional environment data

Feature

FieldTypeRequiredDescription
idstringyesUnique feature ID
namestringyesFeature name
descriptionstring|nullnoFeature description
tagsarray<string>noTags
filenamestring|nullnoSource file
lineinteger|nullnoSource line
statusstringyespassed | failed | skipped
durationnumberyesDuration in seconds
scenariosarrayyesList of scenarios

Scenario

FieldTypeRequiredDescription
idstringyesUnique scenario ID
namestringyesScenario name
featureIdstringyesParent feature ID
descriptionstring|nullnoScenario description
tagsarray<string>noTags
examplesarraynoExample rows (for outlines)
locationobjectnoSource location
statusstringyesStep status
durationnumberyesDuration in seconds
retryobject|nullnoRetry info (future-ready)
stepsarrayyesList of steps

Step

FieldTypeRequiredDescription
idstringyesUnique step ID
keywordstringyesGiven | When | Then | And | But
textstringyesStep text
statusstringyesStep status
durationnumberyesDuration in seconds
locationobjectnoSource location
errorobjectnoStructured error
docStringobjectnoDoc string content
dataTableobjectnoData table
attachmentsarraynoAttachments
logsarraynoLog entries

Error

FieldTypeRequiredDescription
idstringyesUnique error ID
typestringyesException type name
messagestringyesError message
tracebackstring|nullnoFull traceback
locationobjectnoSource location

Attachment

FieldTypeRequiredDescription
idstringyesUnique attachment ID
namestringyesDisplay name
mimeTypestringyesMIME type
encodingstringyesraw | base64 | external
contentstring|nullnoEmbedded content
pathstring|nullnoExternal file path
urlstring|nullnoExternal URL
sizeinteger|nullnoSize in bytes
timestampstring|nullnoISO-8601 timestamp

Location

FieldTypeRequiredDescription
filenamestringyesSource filename
lineintegeryesLine number
columninteger|nullnoColumn number

Status Values

StatusDescription
passedStep/scenario executed successfully
failedStep/scenario failed
skippedStep/scenario was skipped
undefinedNo matching step definition found
pendingStep definition exists but is not yet implemented