-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathswagger.yaml
262 lines (262 loc) · 7.89 KB
/
swagger.yaml
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
swagger: '2.0'
info:
description: 'Easy to use REST API with JSON for configuring models. Mulperi is a service taking care of the functionality of constructing a model from requirements, more precisely utilizing feature modeling technologies (for details about adopted feature model technology, see D5.1). The constructed model allows expressing various kinds of relationship and, thus, dependency inferences by using KeljuCaaS. Therefore, Mulperi also provides interfaces for the operations to the resulting model.'
version: '1.14'
title: Mulperi
basePath: /
tags:
- name: mulperi-controller
description: Mulperi Controller
paths:
/models/consistencyCheckForTransitiveClosure:
post:
tags:
- mulperi-controller
summary: 'Get the transitive closure of a requirement, then check for consistency'
description: Solves whether the transitive closure of the requirement is consistent
operationId: consistencyCheckForTransitiveClosureUsingPOST
consumes:
- application/json
produces:
- '*/*'
parameters:
- in: body
name: requirementId
description: requirementId
required: true
schema:
type: array
items:
type: string
- name: layerCount
in: query
description: layerCount
required: false
type: integer
format: int32
- name: analysisOnly
in: query
description: analysisOnly
required: false
type: boolean
- name: timeOut
in: query
description: timeOut
required: false
type: integer
default: 0
format: int32
responses:
'200':
description: 'Success, returns JSON model'
schema:
type: string
'201':
description: Created
'400':
description: 'Failure, ex. model not found'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: Conflict
/models/findTransitiveClosureOfRequirement:
post:
tags:
- mulperi-controller
summary: Get the transitive closure of a requirement
description: Returns the transitive closure of a given requirement up to the depth of 5
operationId: findTransitiveClosureOfRequirementUsingPOST
consumes:
- application/json
produces:
- '*/*'
parameters:
- in: body
name: requirementId
description: requirementId
required: true
schema:
type: array
items:
type: string
- name: layerCount
in: query
description: layerCount
required: false
type: integer
format: int32
responses:
'200':
description: 'Success, returns JSON model'
schema:
type: string
'201':
description: Created
'400':
description: 'Failure, ex. model not found'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: Conflict
/models/projects/consistencyCheckAndDiagnosis:
post:
tags:
- mulperi-controller
summary: Is release plan consistent and do diagnosis v2
description: Check whether a release plan is consistent. Provide diagnosis if it is not consistent.
operationId: consistencyCheckAndDiagnosisUsingPOST
consumes:
- application/json
produces:
- '*/*'
parameters:
- in: body
name: jsonString
description: jsonString
required: true
schema:
type: string
- name: analysisOnly
in: query
description: analysisOnly
required: false
type: boolean
- name: timeOut
in: query
description: timeOut
required: false
type: integer
default: 0
format: int32
responses:
'200':
description: 'Success, returns JSON {"response": {"consistent": true}}'
schema:
type: string
'201':
description: Created
'400':
description: 'Failure, ex. model not found'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: 'Diagnosis of inconsistency returns JSON {"response": {"consistent": false, "diagnosis": [[{"requirement": (requirementID)}]]}}'
/models/projects/uploadDataAndCheckForConsistency:
post:
tags:
- mulperi-controller
summary: Is release plan consistent
description: Send model to Caas to check whether a release plan is consistent.
operationId: uploadDataAndCheckForConsistencyUsingPOST
consumes:
- application/json
produces:
- '*/*'
parameters:
- in: body
name: jsonString
description: jsonString
required: true
schema:
type: string
responses:
'200':
description: 'Success, returns JSON {"response": {"consistent": true}}'
schema:
type: string
'201':
description: Created
'400':
description: 'Failure, ex. model not found'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: 'Check of inconsistency returns JSON {"response": {"consistent": false}}'
/models/projects/uploadDataCheckForConsistencyAndDoDiagnosis:
post:
tags:
- mulperi-controller
summary: Is release plan consistent and do diagnosis
description: Check whether a release plan is consistent. Provide diagnosis if it is not consistent.
operationId: uploadDataCheckForConsistencyAndDoDiagnosisUsingPOST
consumes:
- application/json
produces:
- '*/*'
parameters:
- in: body
name: jsonString
description: jsonString
required: true
schema:
type: string
responses:
'200':
description: 'Success, returns JSON {"response": {"consistent": true}}'
schema:
type: string
'201':
description: Created
'400':
description: 'Failure, ex. model not found'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: 'Diagnosis of inconsistency returns JSON {"response": {"consistent": false, "diagnosis": [[{"requirement": (requirementID)}]]}}'
/models/requirementsToChoco:
post:
tags:
- mulperi-controller
summary: Import OpenReq JSON model to Caas
description: Import a model to Caas in JSON format
operationId: requirementsToChocoUsingPOST
consumes:
- application/json
produces:
- '*/*'
parameters:
- in: body
name: requirements
description: requirements
required: true
schema:
type: string
responses:
'200':
description: OK
schema:
type: string
'201':
description: 'Success, returns received requirements and dependencies in OpenReq JSON format'
schema:
type: string
'400':
description: 'Failure, ex. malformed input'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: Failure