-
Notifications
You must be signed in to change notification settings - Fork 0
/
validation.json
119 lines (119 loc) · 3.86 KB
/
validation.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://schemas.exasol.com/error_code_report-0.2.0.json",
"type": "object",
"title": "Exasol error code report schema.",
"description": "This schema defines the structure of a report about error codes in an Exasol project.",
"additionalProperties": false,
"required": [
"projectName",
"projectVersion",
"errorCodes"
],
"properties": {
"$schema": {
"type": "string",
"description": "Reference to the schema. Setting this helps your IDE to assist you while writing the definition.",
"enum": [
"https://schemas.exasol.com/error_code_report-0.2.0.json",
"./error_code_report-0.2.0.json"
]
},
"projectName": {
"type": "string",
"title": "Name of the project.",
"description": "Typically the GitHub repository name."
},
"projectVersion": {
"type": "string",
"title": "Version tag of the reported release."
},
"errorCodes": {
"type": "array",
"items": {
"$ref": "#/definitions/errorCodeDetails"
},
"additionalProperties": false,
"description": "List of error-codes of this project."
}
},
"definitions": {
"errorCodeDetails": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "Error identifier. E.g: `E-Test-1`."
},
"message": {
"type": "string",
"description": "Error message (the message of the exception) without error code. The exception message can contain placeholders like `{{NAME}}`. In that case you must define the placeholder in `messagePlaceholders`."
},
"messagePlaceholders": {
"type": "array",
"description": "List of placeholders that are used in the message.\n\nUse the placeholder without `{{` and `}}` as key and the description as value.",
"items": {
"$ref": "#/definitions/placeholder"
}
},
"description": {
"type": "string",
"description": "Additional information about what this error code means or more context about what its purpose is."
},
"internalDescription": {
"type": "string",
"description": "Additional description for developers."
},
"potentialCauses": {
"type": "array",
"description": "Description of known potential causes.",
"items": {
"type": "string",
"description": "Description of known potential cause."
}
},
"mitigations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Description of known mitigations."
},
"sourceFile": {
"type": "string",
"description": "Source code file where that the exception is thrown."
},
"sourceLine": {
"type": "number",
"description": "Source code line number within the the source file where the exception is thrown."
},
"contextHash": {
"type": "string",
"description": "HashCode of the source code context around where the exception is thrown.\n\nIt can be used for detecting possible changes among versions."
}
},
"additionalProperties": false,
"required": [
"identifier"
]
},
"placeholder": {
"type": "object",
"description": "Details for each placeholder",
"properties": {
"placeholder": {
"type": "string",
"description": "Placeholder name without `{{` and `}}`."
},
"description": {
"type": "string",
"description": "Description of the placeholder for the catalog"
}
},
"required": [
"placeholder"
],
"additionalProperties": false
}
}
}