json_schema: {
      "definitions": {
          "issue": {
              "description": "GitHub issue title and action comments (optional). Title and comments will be based on rule name in case this property is absent.",
              "properties": {
                  "comments": {
                      "minProperties": 1,
                      "properties": {
                          "close": {
                              "type": "string"
                          },
                          "create": {
                              "type": "string"
                          },
                          "reopen": {
                              "type": "string"
                          },
                          "update": {
                              "type": "string"
                          }
                      },
                      "type": "object"
                  },
                  "remind": {
                      "type": "boolean"
                  },
                  "reopen": {
                      "type": "boolean"
                  },
                  "title": {
                      "type": "string"
                  }
              },
              "required": [
                  "title"
              ],
              "type": "object"
          }
      },
      "description": "schema for test case. Failing this schema will cause skipping the test case",
      "properties": {
          "diag": {
              "description": "test diagnostics, includes all information necessary to manage the issue",
              "properties": {
                  "issue": {
                      "$ref": "#/definitions/issue"
                  },
                  "message": {
                      "description": "not used in GitHub issues",
                      "type": "string"
                  },
                  "messages": {
                      "description": "these messages will be used as GitHub issue comments",
                      "items": {
                          "type": "string"
                      },
                      "type": "array"
                  },
                  "repo": {
                      "description": "full repository name, including organisation",
                      "pattern": "^(?:[A-Za-z0-9]+[-]?)+[A-Za-z0-9]\\/[A-Za-z0-9_-]+$",
                      "type\"": "string"
                  },
                  "rule": {
                      "description": "rule name",
                      "pattern": "^[A-Za-z](?:[A-Za-z0-9]+[-]?)+[A-Za-z0-9]$",
                      "type": "string"
                  },
                  "severity": {
                      "description": "severity can be used as GitHub issue label",
                      "type": "string"
                  }
              },
              "required": [
                  "repo",
                  "rule"
              ],
              "type": "object"
          },
          "id": {
              "description": "test sequential number",
              "minLength": 1,
              "type": "integer"
          },
          "name": {
              "description": "test name, should be unique accross all tests",
              "minLength": 1,
              "type": "string"
          },
          "ok": {
              "description": "test result",
              "type": "boolean"
          }
      },
      "required": [
          "ok",
          "id",
          "name",
          "diag"
      ],
      "type": "object"
  }