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