1{
2 "swagger": "2.0",
3 "info": {
4 "title": "keptn api",
5 "version": "0.1.0"
6 },
7 "schemes": [
8 "http"
9 ],
10 "basePath": "/",
11 "consumes": [
12 "application/cloudevents+json"
13 ],
14 "produces": [
15 "application/cloudevents+json"
16 ],
17 "securityDefinitions": {
18 "key": {
19 "type": "apiKey",
20 "in": "header",
21 "name": "x-token"
22 }
23 },
24 "security": [
25 {
26 "key": []
27 }
28 ],
29 "paths": {
30 "/auth": {
31 "post": {
32 "tags": [
33 "auth"
34 ],
35 "operationId": "auth",
36 "summary": "Checks the provided token",
37 "parameters": [
38 {
39 "name": "body",
40 "in": "body",
41 "schema": {
42 }
43 }
44 ],
45 "responses": {
46 "200": {
47 "description": "authenticated"
48 }
49 }
50 }
51 },
52 "/event": {
53 "post": {
54 "tags": [
55 "event"
56 ],
57 "operationId": "sendEvent",
58 "summary": "Forwards the received event to the eventbroker",
59 "parameters": [
60 {
61 "name": "body",
62 "in": "body",
63 "schema": {
64 "$ref": "#/definitions/KeptnContextExtendedCE"
65 }
66 }
67 ],
68 "responses": {
69 "201": {
70 "description": "forwarded",
71 "schema" : {
72 "$ref" : "#/definitions/ChannelInfo"
73 }
74 },
75 "default": {
76 "description": "error",
77 "schema": {
78 "$ref": "#/definitions/error"
79 }
80 }
81 }
82 }
83 },
84 "/configure": {
85 "post": {
86 "tags": [
87 "configure"
88 ],
89 "operationId": "configure",
90 "summary": "Forwards the received configure event to the eventbroker",
91 "parameters": [
92 {
93 "name": "body",
94 "in": "body",
95 "schema": {
96 "$ref": "#/definitions/ConfigureCE"
97 }
98 }
99 ],
100 "responses": {
101 "201": {
102 "description": "configured",
103 "schema" : {
104 "$ref" : "#/definitions/ChannelInfo"
105 }
106 },
107 "default": {
108 "description": "error",
109 "schema": {
110 "$ref": "#/definitions/error"
111 }
112 }
113 }
114 }
115 },
116 "/project": {
117 "post": {
118 "tags": [
119 "project"
120 ],
121 "operationId": "project",
122 "summary": "Forwards the received project event to the eventbroker",
123 "parameters": [
124 {
125 "name": "body",
126 "in": "body",
127 "schema": {
128 "$ref": "#/definitions/CreateProjectCE"
129 }
130 }
131 ],
132 "responses": {
133 "201": {
134 "description": "project created",
135 "schema" : {
136 "$ref" : "#/definitions/ChannelInfo"
137 }
138 },
139 "default": {
140 "description": "error",
141 "schema": {
142 "$ref": "#/definitions/error"
143 }
144 }
145 }
146 }
147 },
148 "/dynatrace": {
149 "post": {
150 "tags": [
151 "dynatrace"
152 ],
153 "operationId": "dynatrace",
154 "summary": "Forwards the received event from Dynatrace to the eventbroker",
155 "parameters": [
156 {
157 "name": "body",
158 "in": "body",
159 "schema": {
160 "$ref": "#/definitions/DynatraceProblemCE"
161 }
162 }
163 ],
164 "responses": {
165 "201": {
166 "description": "event forwarded"
167 },
168 "default": {
169 "description": "error",
170 "schema": {
171 "$ref": "#/definitions/error"
172 }
173 }
174 }
175 }
176 }
177 },
178 "definitions": {
179 "KeptnContextExtendedCE": {
180 "allOf": [
181 {
182 "type": "object",
183 "required": [
184 "shkeptncontext"
185 ],
186 "properties": {
187 "shkeptncontext": {
188 "type": "string"
189 }
190 }
191 }
192 ]
193 },
194 "ConfigureCE": {
195 "allOf": [
196 {
197 "$ref": "ce_v0_2_without_data.json#/definitions/event"
198 },
199 {
200 "type": "object",
201 "properties": {
202 "data": {
203 "required": [
204 "org",
205 "user",
206 "token"
207 ],
208 "properties": {
209 "org": {
210 "type": "string"
211 },
212 "user": {
213 "type": "string"
214 },
215 "token": {
216 "type": "string"
217 }
218 }
219 }
220 }
221 }
222 ]
223 },
224 "DynatraceProblemCE": {
225 "allOf": [
226 {
227 "$ref": "ce_v0_2_without_data.json#/definitions/event"
228 },
229 {
230 "type": "object",
231 "properties": {
232 "data": {
233 "required": [
234 "state",
235 "problemid",
236 "pid",
237 "problemtitle",
238 "problemdetails",
239 "impactedentities",
240 "impactedentity"
241 ],
242 "properties": {
243 "state": {
244 "type": "string"
245 },
246 "problemid": {
247 "type": "string"
248 },
249 "pid": {
250 "type": "string"
251 },
252 "problemtitle": {
253 "type": "string"
254 },
255 "problemdetails": {
256 "required": [
257 "id"
258 ],
259 "properties": {
260 "id": {
261 "type": "string"
262 }
263 }
264 },
265 "impactedentities": {
266 "type": "array",
267 "items": {
268 "required": [
269 "type",
270 "name",
271 "entity"
272 ],
273 "properties": {
274 "type": {
275 "type": "string"
276 },
277 "name": {
278 "type": "string"
279 },
280 "entity": {
281 "type": "string"
282 }
283 }
284 }
285 },
286 "impactedentity": {
287 "type": "string"
288 }
289 }
290 }
291 }
292 }
293 ]
294 },
295 "CreateProjectCE": {
296 "allOf": [
297 {
298 "$ref": "ce_v0_2_without_data.json#/definitions/event"
299 },
300 {
301 "type": "object",
302 "properties": {
303 "data": {
304 "required": [
305 "project",
306 "stages"
307 ],
308 "properties": {
309 "project": {
310 "type": "string"
311 },
312 "stages": {
313 "type": "array",
314 "items": {
315 "required": [
316 "name",
317 "deployment_strategy"
318 ],
319 "properties": {
320 "name": {
321 "type": "string"
322 },
323 "deployment_strategy": {
324 "type": "string"
325 },
326 "test_strategy": {
327 "type": "string"
328 }
329 }
330 }
331 }
332 }
333 }
334 }
335 }
336 ]
337 },
338 "error": {
339 "type": "object",
340 "required": [
341 "message"
342 ],
343 "properties": {
344 "code": {
345 "type": "integer",
346 "format": "int64"
347 },
348 "message": {
349 "type": "string"
350 },
351 "fields": {
352 "type": "string"
353 }
354 }
355 },
356 "ChannelInfo" : {
357 "allOf": [
358 {
359 "$ref": "ce_v0_2_without_data.json#/definitions/event"
360 },
361 {
362 "type": "object",
363 "properties": {
364 "data": {
365 "properties": {
366 "channelInfo": {
367 "required": [
368 "token",
369 "channelID"
370 ],
371 "properties": {
372 "token": {
373 "type": "string"
374 },
375 "channelID": {
376 "type": "string"
377 }
378 }
379 }
380 }
381 }
382 }
383 }
384 ]
385 }
386 }
387}
View as plain text