{
    "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"
}