API

Validation

Auto-generated data models from json schemas.

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {
    "tag": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "line": {
          "type": "integer"
        }
      },
      "required": ["name"]
    },
    "feature": {
      "type": "object",
      "properties": {
        "uri": {
          "type": "string"
        },
        "keyword": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/tag"
          }
        },
        "elements": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/element"
          }
        }
      },
      "required": ["name", "uri"]
    },
    "element": {
      "type": "object",
      "properties": {
        "keyword": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "line": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/tag"
          }
        },
        "steps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/step"
          }
        }
      },
      "required": ["type", "line", "name"]
    },
    "step": {
      "type": "object",
      "properties": {
        "keyword": {
          "type": "string"
        },
        "line": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "hidden": {
          "type": "boolean"
        },
        "result": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "passed", "Passed", "PASSED",
                "failed", "Failed", "FAILED",
                "undefined", "Undefined", "UNDEFINED",
                "skipped", "Skipped", "SKIPPED",
                "pending", "Pending", "PENDING",
                "ambiguous", "Ambiguous", "AMBIGUOUS"
              ]
            },
            "duration": {
              "type": "number"
            },
            "error_message": {
              "type": "string"
            }
          },
          "required": ["status"],
          "if": {
            "properties": { "status": { "pattern": "^(?:f|F)(?:ailed|AILED)$" } }
          },
          "then": {
            "required": ["error_message"]
          }
        }
      },
      "required": ["keyword"],
      "if": {
        "not": {
          "properties": { "hidden": { "const": true } },
          "required": ["hidden"]
        }
      },
      "then": {
        "required": ["line"]
      }


    }
  },
  "type": "array",
  "items": {
    "$ref": "#/definitions/feature"
  }
}

Data objects from JSON

JIRA/XRAY upload