mcp4openapi 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +7 -0
  2. package/dist/src/core/cli-config.d.ts.map +1 -1
  3. package/dist/src/core/cli-config.js +2 -0
  4. package/dist/src/core/cli-config.js.map +1 -1
  5. package/dist/src/core/index.d.ts.map +1 -1
  6. package/dist/src/core/index.js +18 -3
  7. package/dist/src/core/index.js.map +1 -1
  8. package/dist/src/index.js +0 -0
  9. package/dist/src/profile/profile-allowlist.d.ts +18 -0
  10. package/dist/src/profile/profile-allowlist.d.ts.map +1 -0
  11. package/dist/src/profile/profile-allowlist.js +68 -0
  12. package/dist/src/profile/profile-allowlist.js.map +1 -0
  13. package/dist/src/profile/profile-registry.d.ts +5 -0
  14. package/dist/src/profile/profile-registry.d.ts.map +1 -1
  15. package/dist/src/profile/profile-registry.js +38 -14
  16. package/dist/src/profile/profile-registry.js.map +1 -1
  17. package/package.json +2 -2
  18. package/profiles/gitlab/developer-profile-oauth.json +243 -41
  19. package/profiles/gitlab/developer-profile-oauth.test.json +1009 -5
  20. package/profiles/gitlab/openapi.yaml +1419 -164
  21. package/profiles/gitlab/profile-optimized-oauth.json +785 -0
  22. package/profiles/gitlab/profile-optimized-oauth.test.json +1566 -0
  23. package/profiles/grafana/openapi.json +28078 -0
  24. package/profiles/grafana/profile.json +1083 -0
  25. package/profiles/grafana/profile.test.json +235 -0
  26. package/profiles/mattermost/openapi.yaml +27434 -0
  27. package/profiles/mattermost/profile.json +463 -0
  28. package/profiles/mattermost/profile.test.json +607 -0
  29. package/profiles/n8n/profile-optimized.json +1002 -364
  30. package/profiles/n8n/profile-optimized.test.json +43 -43
  31. package/dist/src/argument-normalizer.d.ts +0 -5
  32. package/dist/src/argument-normalizer.d.ts.map +0 -1
  33. package/dist/src/argument-normalizer.js +0 -61
  34. package/dist/src/argument-normalizer.js.map +0 -1
  35. package/dist/src/cli-config.d.ts +0 -9
  36. package/dist/src/cli-config.d.ts.map +0 -1
  37. package/dist/src/cli-config.js +0 -111
  38. package/dist/src/cli-config.js.map +0 -1
  39. package/dist/src/composite-executor.d.ts +0 -77
  40. package/dist/src/composite-executor.d.ts.map +0 -1
  41. package/dist/src/composite-executor.js +0 -193
  42. package/dist/src/composite-executor.js.map +0 -1
  43. package/dist/src/constants.d.ts +0 -85
  44. package/dist/src/constants.d.ts.map +0 -1
  45. package/dist/src/constants.js +0 -85
  46. package/dist/src/constants.js.map +0 -1
  47. package/dist/src/dag-executor.d.ts +0 -49
  48. package/dist/src/dag-executor.d.ts.map +0 -1
  49. package/dist/src/dag-executor.js +0 -138
  50. package/dist/src/dag-executor.js.map +0 -1
  51. package/dist/src/errors.d.ts +0 -59
  52. package/dist/src/errors.d.ts.map +0 -1
  53. package/dist/src/errors.js +0 -119
  54. package/dist/src/errors.js.map +0 -1
  55. package/dist/src/filtering.d.ts +0 -19
  56. package/dist/src/filtering.d.ts.map +0 -1
  57. package/dist/src/filtering.js +0 -292
  58. package/dist/src/filtering.js.map +0 -1
  59. package/dist/src/http-client-factory.d.ts +0 -62
  60. package/dist/src/http-client-factory.d.ts.map +0 -1
  61. package/dist/src/http-client-factory.js +0 -133
  62. package/dist/src/http-client-factory.js.map +0 -1
  63. package/dist/src/http-transport-config.d.ts +0 -6
  64. package/dist/src/http-transport-config.d.ts.map +0 -1
  65. package/dist/src/http-transport-config.js +0 -47
  66. package/dist/src/http-transport-config.js.map +0 -1
  67. package/dist/src/http-transport.d.ts +0 -316
  68. package/dist/src/http-transport.d.ts.map +0 -1
  69. package/dist/src/http-transport.js +0 -2412
  70. package/dist/src/http-transport.js.map +0 -1
  71. package/dist/src/interceptors.d.ts +0 -116
  72. package/dist/src/interceptors.d.ts.map +0 -1
  73. package/dist/src/interceptors.js +0 -392
  74. package/dist/src/interceptors.js.map +0 -1
  75. package/dist/src/jsonrpc-validator.d.ts +0 -27
  76. package/dist/src/jsonrpc-validator.d.ts.map +0 -1
  77. package/dist/src/jsonrpc-validator.js +0 -58
  78. package/dist/src/jsonrpc-validator.js.map +0 -1
  79. package/dist/src/logger.d.ts +0 -59
  80. package/dist/src/logger.d.ts.map +0 -1
  81. package/dist/src/logger.js +0 -177
  82. package/dist/src/logger.js.map +0 -1
  83. package/dist/src/mcp-server-manager.d.ts +0 -20
  84. package/dist/src/mcp-server-manager.d.ts.map +0 -1
  85. package/dist/src/mcp-server-manager.js +0 -38
  86. package/dist/src/mcp-server-manager.js.map +0 -1
  87. package/dist/src/mcp-server.d.ts +0 -203
  88. package/dist/src/mcp-server.d.ts.map +0 -1
  89. package/dist/src/mcp-server.js +0 -1369
  90. package/dist/src/mcp-server.js.map +0 -1
  91. package/dist/src/metrics.d.ts +0 -97
  92. package/dist/src/metrics.d.ts.map +0 -1
  93. package/dist/src/metrics.js +0 -273
  94. package/dist/src/metrics.js.map +0 -1
  95. package/dist/src/naming-warnings.d.ts +0 -23
  96. package/dist/src/naming-warnings.d.ts.map +0 -1
  97. package/dist/src/naming-warnings.js +0 -83
  98. package/dist/src/naming-warnings.js.map +0 -1
  99. package/dist/src/naming.d.ts +0 -58
  100. package/dist/src/naming.d.ts.map +0 -1
  101. package/dist/src/naming.js +0 -510
  102. package/dist/src/naming.js.map +0 -1
  103. package/dist/src/oauth-provider.d.ts +0 -131
  104. package/dist/src/oauth-provider.d.ts.map +0 -1
  105. package/dist/src/oauth-provider.js +0 -836
  106. package/dist/src/oauth-provider.js.map +0 -1
  107. package/dist/src/openapi-parser.d.ts +0 -70
  108. package/dist/src/openapi-parser.d.ts.map +0 -1
  109. package/dist/src/openapi-parser.js +0 -436
  110. package/dist/src/openapi-parser.js.map +0 -1
  111. package/dist/src/profile-loader.d.ts +0 -78
  112. package/dist/src/profile-loader.d.ts.map +0 -1
  113. package/dist/src/profile-loader.js +0 -483
  114. package/dist/src/profile-loader.js.map +0 -1
  115. package/dist/src/profile-registry.d.ts +0 -18
  116. package/dist/src/profile-registry.d.ts.map +0 -1
  117. package/dist/src/profile-registry.js +0 -26
  118. package/dist/src/profile-registry.js.map +0 -1
  119. package/dist/src/profile-resolver.d.ts +0 -19
  120. package/dist/src/profile-resolver.d.ts.map +0 -1
  121. package/dist/src/profile-resolver.js +0 -167
  122. package/dist/src/profile-resolver.js.map +0 -1
  123. package/dist/src/proxy-executor.d.ts +0 -86
  124. package/dist/src/proxy-executor.d.ts.map +0 -1
  125. package/dist/src/proxy-executor.js +0 -497
  126. package/dist/src/proxy-executor.js.map +0 -1
  127. package/dist/src/schema-validator.d.ts +0 -30
  128. package/dist/src/schema-validator.d.ts.map +0 -1
  129. package/dist/src/schema-validator.js +0 -128
  130. package/dist/src/schema-validator.js.map +0 -1
  131. package/dist/src/startup-profile.d.ts +0 -17
  132. package/dist/src/startup-profile.d.ts.map +0 -1
  133. package/dist/src/startup-profile.js +0 -30
  134. package/dist/src/startup-profile.js.map +0 -1
  135. package/dist/src/startup-validation.d.ts +0 -11
  136. package/dist/src/startup-validation.d.ts.map +0 -1
  137. package/dist/src/startup-validation.js +0 -21
  138. package/dist/src/startup-validation.js.map +0 -1
  139. package/dist/src/tool-filter.d.ts +0 -65
  140. package/dist/src/tool-filter.d.ts.map +0 -1
  141. package/dist/src/tool-filter.js +0 -471
  142. package/dist/src/tool-filter.js.map +0 -1
  143. package/dist/src/tool-generator.d.ts +0 -67
  144. package/dist/src/tool-generator.d.ts.map +0 -1
  145. package/dist/src/tool-generator.js +0 -182
  146. package/dist/src/tool-generator.js.map +0 -1
  147. package/dist/src/validation-utils.d.ts +0 -49
  148. package/dist/src/validation-utils.d.ts.map +0 -1
  149. package/dist/src/validation-utils.js +0 -138
  150. package/dist/src/validation-utils.js.map +0 -1
  151. package/profiles/gitlab/developer-profile.json +0 -1508
  152. package/profiles/gitlab/developer-profile.test.json +0 -3432
@@ -1,3432 +0,0 @@
1
- {
2
- "$schema": "../../src/testing/test-schema.ts",
3
- "profile_name": "gitlab-pat",
4
- "variables": {
5
- "projectId": "12345",
6
- "groupId": "36173",
7
- "awardId": 7
8
- },
9
- "scenarios": [
10
- {
11
- "name": "Groups - List",
12
- "tool": "manage_groups",
13
- "arguments": {
14
- "action": "list"
15
- },
16
- "mocks": [
17
- {
18
- "operationId": "getApiV4Groups",
19
- "response": {
20
- "body": [
21
- {
22
- "id": 36173,
23
- "name": "AI Adoption",
24
- "full_path": "davidruzicka"
25
- }
26
- ]
27
- }
28
- }
29
- ],
30
- "expect": {
31
- "success": true,
32
- "result": [
33
- {
34
- "id": 36173
35
- }
36
- ]
37
- }
38
- },
39
- {
40
- "name": "Groups - Get Projects",
41
- "tool": "manage_groups",
42
- "arguments": {
43
- "action": "list_projects",
44
- "group_id": "{{groupId}}"
45
- },
46
- "mocks": [
47
- {
48
- "operationId": "getApiV4GroupsIdProjects",
49
- "response": {
50
- "body": [
51
- {
52
- "id": 12345,
53
- "name": "mcp4openapi"
54
- }
55
- ]
56
- }
57
- }
58
- ],
59
- "expect": {
60
- "success": true,
61
- "result": [
62
- {
63
- "id": 12345
64
- }
65
- ]
66
- }
67
- },
68
- {
69
- "name": "Projects - List",
70
- "tool": "manage_projects",
71
- "arguments": {
72
- "action": "list"
73
- },
74
- "mocks": [
75
- {
76
- "operationId": "getApiV4Projects",
77
- "response": {
78
- "body": [
79
- {
80
- "id": 12345,
81
- "name": "mcp4openapi"
82
- }
83
- ]
84
- }
85
- }
86
- ],
87
- "expect": {
88
- "success": true,
89
- "result": [
90
- {
91
- "id": 12345
92
- }
93
- ]
94
- }
95
- },
96
- {
97
- "name": "Projects - Get",
98
- "tool": "manage_projects",
99
- "arguments": {
100
- "action": "get",
101
- "project_id": "{{projectId}}"
102
- },
103
- "mocks": [
104
- {
105
- "operationId": "getApiV4ProjectsId",
106
- "response": {
107
- "body": {
108
- "id": 12345,
109
- "name": "mcp4openapi",
110
- "description": "MCP Server"
111
- }
112
- }
113
- }
114
- ],
115
- "expect": {
116
- "success": true,
117
- "result": {
118
- "id": 12345,
119
- "description": "MCP Server"
120
- }
121
- }
122
- },
123
- {
124
- "name": "Merge Requests - List",
125
- "tool": "manage_merge_requests",
126
- "arguments": {
127
- "action": "list",
128
- "project_id": "{{projectId}}"
129
- },
130
- "mocks": [
131
- {
132
- "operationId": "getApiV4ProjectsIdMergeRequests",
133
- "response": {
134
- "body": [
135
- {
136
- "id": 1,
137
- "iid": 1,
138
- "title": "Test MR"
139
- }
140
- ]
141
- }
142
- }
143
- ],
144
- "expect": {
145
- "success": true,
146
- "result": [
147
- {
148
- "iid": 1
149
- }
150
- ]
151
- }
152
- },
153
- {
154
- "name": "Merge Requests - Get",
155
- "tool": "manage_merge_requests",
156
- "arguments": {
157
- "action": "get",
158
- "project_id": "{{projectId}}",
159
- "merge_request_iid": 1
160
- },
161
- "mocks": [
162
- {
163
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIid",
164
- "response": {
165
- "body": {
166
- "id": 1,
167
- "iid": 1,
168
- "title": "Test MR",
169
- "state": "opened"
170
- }
171
- }
172
- }
173
- ],
174
- "expect": {
175
- "success": true,
176
- "result": {
177
- "iid": 1,
178
- "state": "opened"
179
- }
180
- }
181
- },
182
- {
183
- "name": "Merge Requests - Missing IID",
184
- "tool": "manage_merge_requests",
185
- "arguments": {
186
- "action": "get",
187
- "project_id": "{{projectId}}"
188
- },
189
- "mocks": [],
190
- "expect": {
191
- "success": false,
192
- "error_message_regex": "merge_request_iid"
193
- }
194
- },
195
- {
196
- "name": "Merge Requests - Create",
197
- "tool": "manage_merge_requests",
198
- "arguments": {
199
- "action": "create",
200
- "project_id": "{{projectId}}",
201
- "source_branch": "feature/a",
202
- "target_branch": "main",
203
- "title": "New Feature"
204
- },
205
- "mocks": [
206
- {
207
- "operationId": "postApiV4ProjectsIdMergeRequests",
208
- "response": {
209
- "status": 201,
210
- "body": {
211
- "id": 2,
212
- "iid": 2,
213
- "title": "New Feature",
214
- "state": "opened"
215
- }
216
- }
217
- }
218
- ],
219
- "expect": {
220
- "success": true,
221
- "result": {
222
- "iid": 2,
223
- "title": "New Feature"
224
- }
225
- }
226
- },
227
- {
228
- "name": "Merge Requests - Update",
229
- "tool": "manage_merge_requests",
230
- "arguments": {
231
- "action": "update",
232
- "project_id": "{{projectId}}",
233
- "merge_request_iid": 1,
234
- "title": "Updated"
235
- },
236
- "mocks": [
237
- {
238
- "operationId": "putApiV4ProjectsIdMergeRequestsMergeRequestIid",
239
- "response": {
240
- "body": {
241
- "id": 1,
242
- "iid": 1,
243
- "title": "Updated"
244
- }
245
- }
246
- }
247
- ],
248
- "expect": {
249
- "success": true,
250
- "result": {
251
- "title": "Updated"
252
- }
253
- }
254
- },
255
- {
256
- "name": "Merge Requests - Delete",
257
- "tool": "manage_merge_requests",
258
- "arguments": {
259
- "action": "delete",
260
- "project_id": "{{projectId}}",
261
- "merge_request_iid": 1
262
- },
263
- "mocks": [
264
- {
265
- "operationId": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIid",
266
- "response": {
267
- "status": 204
268
- }
269
- }
270
- ],
271
- "expect": {
272
- "success": true,
273
- "request": {
274
- "method": "DELETE",
275
- "path": "/projects/{{projectId}}/merge_requests/1"
276
- }
277
- }
278
- },
279
- {
280
- "name": "Merge Requests - List Notes",
281
- "tool": "manage_merge_requests",
282
- "arguments": {
283
- "action": "list_notes",
284
- "project_id": "{{projectId}}",
285
- "merge_request_iid": 1
286
- },
287
- "mocks": [
288
- {
289
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidNotes",
290
- "response": {
291
- "body": [
292
- {
293
- "id": 101,
294
- "body": "Note"
295
- }
296
- ]
297
- }
298
- }
299
- ],
300
- "expect": {
301
- "success": true,
302
- "result": [
303
- {
304
- "id": 101
305
- }
306
- ]
307
- }
308
- },
309
- {
310
- "name": "Merge Requests - Create Note",
311
- "tool": "manage_merge_requests",
312
- "arguments": {
313
- "action": "create_note",
314
- "project_id": "{{projectId}}",
315
- "merge_request_iid": 1,
316
- "body": "New Note"
317
- },
318
- "mocks": [
319
- {
320
- "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidNotes",
321
- "response": {
322
- "status": 201,
323
- "body": {
324
- "id": 102,
325
- "body": "New Note"
326
- }
327
- }
328
- }
329
- ],
330
- "expect": {
331
- "success": true,
332
- "result": {
333
- "id": 102
334
- }
335
- }
336
- },
337
- {
338
- "name": "Merge Requests - Download Note Attachment",
339
- "tool": "manage_merge_requests",
340
- "arguments": {
341
- "action": "download_note_attachment",
342
- "project_id": "{{projectId}}",
343
- "merge_request_iid": 1,
344
- "note_id": 2
345
- },
346
- "mocks": [
347
- {
348
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteId",
349
- "response": {
350
- "body": {
351
- "id": 2,
352
- "attachment": "https://mock-api-gitlab-pat.com/uploads/note.txt"
353
- }
354
- }
355
- },
356
- {
357
- "path": "/uploads/note.txt",
358
- "method": "GET",
359
- "response": {
360
- "status": 200,
361
- "body": "Note Content",
362
- "headers": {
363
- "content-type": "text/plain"
364
- }
365
- }
366
- }
367
- ],
368
- "expect": {
369
- "success": true,
370
- "result": {
371
- "content": "Tm90ZSBDb250ZW50"
372
- }
373
- }
374
- },
375
- {
376
- "name": "Merge Requests - Composite Get With Details",
377
- "tool": "get_merge_request_with_details",
378
- "arguments": {
379
- "project_id": "{{projectId}}",
380
- "merge_request_iid": 1
381
- },
382
- "mocks": [
383
- {
384
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIid",
385
- "response": {
386
- "body": {
387
- "id": 1,
388
- "iid": 1,
389
- "title": "Composite MR"
390
- }
391
- }
392
- },
393
- {
394
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussions",
395
- "response": {
396
- "body": [
397
- {
398
- "id": "disc-1"
399
- }
400
- ]
401
- }
402
- },
403
- {
404
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji",
405
- "response": {
406
- "body": [
407
- {
408
- "id": 201,
409
- "name": "thumbsup"
410
- }
411
- ]
412
- }
413
- }
414
- ],
415
- "expect": {
416
- "success": true,
417
- "result": {
418
- "data": {
419
- "merge_request": {
420
- "id": 1,
421
- "discussions": [
422
- {
423
- "id": "disc-1"
424
- }
425
- ],
426
- "award_emoji": [
427
- {
428
- "id": 201,
429
- "name": "thumbsup"
430
- }
431
- ]
432
- }
433
- },
434
- "success": true
435
- },
436
- "request": {
437
- "method": "GET",
438
- "path": "/projects/{{projectId}}/merge_requests/1/discussions",
439
- "query": {
440
- "per_page": 50
441
- }
442
- }
443
- }
444
- },
445
- {
446
- "name": "Merge Requests - Composite With Partial Failure",
447
- "tool": "get_merge_request_with_details",
448
- "arguments": {
449
- "project_id": "{{projectId}}",
450
- "merge_request_iid": 1
451
- },
452
- "mocks": [
453
- {
454
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIid",
455
- "response": {
456
- "body": {
457
- "id": 1,
458
- "iid": 1,
459
- "title": "Composite MR"
460
- }
461
- }
462
- },
463
- {
464
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussions",
465
- "response": {
466
- "status": 500,
467
- "body": {
468
- "message": "discussions down"
469
- }
470
- }
471
- },
472
- {
473
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji",
474
- "response": {
475
- "body": [
476
- {
477
- "id": 201,
478
- "name": "thumbsup"
479
- }
480
- ]
481
- }
482
- }
483
- ],
484
- "expect": {
485
- "success": true,
486
- "result": {
487
- "data": {
488
- "merge_request": {
489
- "id": 1,
490
- "iid": 1,
491
- "title": "Composite MR",
492
- "discussions_error": {
493
- "step_index": 1,
494
- "step_call": "GET /projects/{id}/merge_requests/{merge_request_iid}/discussions",
495
- "error": "discussions down"
496
- },
497
- "award_emoji": [
498
- {
499
- "id": 201,
500
- "name": "thumbsup"
501
- }
502
- ]
503
- }
504
- },
505
- "completed_steps": 2,
506
- "errors": [
507
- {
508
- "step_index": 1,
509
- "step_call": "GET /projects/{id}/merge_requests/{merge_request_iid}/discussions",
510
- "error": "discussions down"
511
- }
512
- ],
513
- "success": false,
514
- "total_steps": 3
515
- },
516
- "requests": [
517
- {
518
- "method": "GET",
519
- "path": "/projects/12345/merge_requests/1"
520
- }
521
- ],
522
- "allow_additional_requests": true
523
- }
524
- },
525
- {
526
- "name": "Deploy Keys - List",
527
- "tool": "manage_deploy_keys",
528
- "arguments": {
529
- "action": "list"
530
- },
531
- "mocks": [
532
- {
533
- "operationId": "getApiV4DeployKeys",
534
- "response": {
535
- "body": [
536
- {
537
- "id": 1,
538
- "title": "CI key",
539
- "key": "ssh-rsa AAA",
540
- "created_at": "2024-01-01T00:00:00Z"
541
- }
542
- ]
543
- }
544
- }
545
- ],
546
- "expect": {
547
- "success": true,
548
- "result": [
549
- {
550
- "id": 1,
551
- "title": "CI key"
552
- }
553
- ]
554
- }
555
- },
556
- {
557
- "name": "Deploy Tokens - List",
558
- "tool": "manage_deploy_tokens",
559
- "arguments": {
560
- "action": "list"
561
- },
562
- "mocks": [
563
- {
564
- "operationId": "getApiV4DeployTokens",
565
- "response": {
566
- "body": [
567
- {
568
- "id": 2,
569
- "name": "deploy-token",
570
- "username": "gitlab+deploy-token-2",
571
- "expires_at": "2025-01-01"
572
- }
573
- ]
574
- }
575
- }
576
- ],
577
- "expect": {
578
- "success": true,
579
- "result": [
580
- {
581
- "id": 2,
582
- "name": "deploy-token"
583
- }
584
- ]
585
- }
586
- },
587
- {
588
- "name": "Group Deploy Tokens - List",
589
- "tool": "manage_group_deploy_tokens",
590
- "arguments": {
591
- "action": "list",
592
- "group_id": "{{groupId}}"
593
- },
594
- "mocks": [
595
- {
596
- "operationId": "getApiV4GroupsIdDeployTokens",
597
- "response": {
598
- "body": [
599
- {
600
- "id": 3,
601
- "name": "group-token",
602
- "username": "gitlab+deploy-token-3",
603
- "expires_at": "2025-06-01"
604
- }
605
- ]
606
- }
607
- }
608
- ],
609
- "expect": {
610
- "success": true,
611
- "result": [
612
- {
613
- "id": 3,
614
- "name": "group-token"
615
- }
616
- ]
617
- }
618
- },
619
- {
620
- "name": "Group Deploy Tokens - Create",
621
- "tool": "manage_group_deploy_tokens",
622
- "arguments": {
623
- "action": "create",
624
- "group_id": "{{groupId}}",
625
- "name": "ci-token",
626
- "scopes": ["read_repository"],
627
- "expires_at": "2025-12-31"
628
- },
629
- "mocks": [
630
- {
631
- "operationId": "postApiV4GroupsIdDeployTokens",
632
- "response": {
633
- "status": 201,
634
- "body": {
635
- "id": 4,
636
- "name": "ci-token",
637
- "username": "gitlab+deploy-token-4",
638
- "expires_at": "2025-12-31"
639
- }
640
- }
641
- }
642
- ],
643
- "expect": {
644
- "success": true,
645
- "result": {
646
- "id": 4,
647
- "name": "ci-token"
648
- }
649
- }
650
- },
651
- {
652
- "name": "Events - List",
653
- "tool": "manage_events",
654
- "arguments": {
655
- "action": "list"
656
- },
657
- "mocks": [
658
- {
659
- "operationId": "getApiV4Events",
660
- "response": {
661
- "body": [
662
- {
663
- "id": 1,
664
- "action_name": "pushed",
665
- "target_type": "project",
666
- "target_id": 12345,
667
- "created_at": "2024-01-01T00:00:00Z"
668
- }
669
- ]
670
- }
671
- }
672
- ],
673
- "expect": {
674
- "success": true,
675
- "result": [
676
- {
677
- "id": 1,
678
- "action_name": "pushed"
679
- }
680
- ]
681
- }
682
- },
683
- {
684
- "name": "Feature Flags - List",
685
- "tool": "manage_feature_flags",
686
- "arguments": {
687
- "action": "list"
688
- },
689
- "mocks": [
690
- {
691
- "operationId": "getApiV4Features",
692
- "response": {
693
- "body": [
694
- {
695
- "name": "new_navigation",
696
- "state": "on",
697
- "gates": []
698
- }
699
- ]
700
- }
701
- }
702
- ],
703
- "expect": {
704
- "success": true,
705
- "result": [
706
- {
707
- "name": "new_navigation",
708
- "state": "on"
709
- }
710
- ]
711
- }
712
- },
713
- {
714
- "name": "Feature Flags - List Definitions",
715
- "tool": "manage_feature_flags",
716
- "arguments": {
717
- "action": "list_definitions"
718
- },
719
- "mocks": [
720
- {
721
- "operationId": "getApiV4FeaturesDefinitions",
722
- "response": {
723
- "body": [
724
- {
725
- "name": "new_navigation",
726
- "description": "New UI"
727
- }
728
- ]
729
- }
730
- }
731
- ],
732
- "expect": {
733
- "success": true,
734
- "result": [
735
- {
736
- "name": "new_navigation",
737
- "description": "New UI"
738
- }
739
- ]
740
- }
741
- },
742
- {
743
- "name": "Feature Flags - Set",
744
- "tool": "manage_feature_flags",
745
- "arguments": {
746
- "action": "set",
747
- "name": "new_navigation",
748
- "state": "on"
749
- },
750
- "mocks": [
751
- {
752
- "operationId": "postApiV4Features",
753
- "response": {
754
- "status": 201,
755
- "body": {
756
- "name": "new_navigation",
757
- "state": "on"
758
- }
759
- }
760
- }
761
- ],
762
- "expect": {
763
- "success": true,
764
- "result": {
765
- "name": "new_navigation",
766
- "state": "on"
767
- }
768
- }
769
- },
770
- {
771
- "name": "Feature Flags - Get",
772
- "tool": "manage_feature_flags",
773
- "arguments": {
774
- "action": "get",
775
- "name": "new_navigation"
776
- },
777
- "mocks": [
778
- {
779
- "operationId": "getApiV4FeaturesName",
780
- "response": {
781
- "body": {
782
- "name": "new_navigation",
783
- "state": "on",
784
- "gates": []
785
- }
786
- }
787
- }
788
- ],
789
- "expect": {
790
- "success": true,
791
- "result": {
792
- "name": "new_navigation",
793
- "state": "on"
794
- }
795
- }
796
- },
797
- {
798
- "name": "Feature Flags - Update",
799
- "tool": "manage_feature_flags",
800
- "arguments": {
801
- "action": "update",
802
- "name": "new_navigation",
803
- "state": "off"
804
- },
805
- "mocks": [
806
- {
807
- "operationId": "postApiV4FeaturesName",
808
- "response": {
809
- "body": {
810
- "name": "new_navigation",
811
- "state": "off"
812
- }
813
- }
814
- }
815
- ],
816
- "expect": {
817
- "success": true,
818
- "result": {
819
- "name": "new_navigation",
820
- "state": "off"
821
- }
822
- }
823
- },
824
- {
825
- "name": "Feature Flags - Delete",
826
- "tool": "manage_feature_flags",
827
- "arguments": {
828
- "action": "delete",
829
- "name": "new_navigation"
830
- },
831
- "mocks": [
832
- {
833
- "operationId": "deleteApiV4FeaturesName",
834
- "response": {
835
- "status": 204
836
- }
837
- }
838
- ],
839
- "expect": {
840
- "success": true
841
- }
842
- },
843
- {
844
- "name": "Unleash Feature Flags - Get Config",
845
- "tool": "manage_unleash_feature_flags",
846
- "arguments": {
847
- "action": "get_config",
848
- "project_id": 12345
849
- },
850
- "mocks": [
851
- {
852
- "operationId": "getApiV4FeatureFlagsUnleashProjectId",
853
- "response": {
854
- "body": {
855
- "version": "1.0",
856
- "project": "mcp4openapi"
857
- }
858
- }
859
- }
860
- ],
861
- "expect": {
862
- "success": true,
863
- "result": {
864
- "version": "1.0",
865
- "project": "mcp4openapi"
866
- }
867
- }
868
- },
869
- {
870
- "name": "Unleash Feature Flags - List Features",
871
- "tool": "manage_unleash_feature_flags",
872
- "arguments": {
873
- "action": "list_features",
874
- "project_id": 12345
875
- },
876
- "mocks": [
877
- {
878
- "operationId": "getApiV4FeatureFlagsUnleashProjectIdFeatures",
879
- "response": {
880
- "body": {
881
- "features": []
882
- }
883
- }
884
- }
885
- ],
886
- "expect": {
887
- "success": true,
888
- "result": {
889
- "features": []
890
- }
891
- }
892
- },
893
- {
894
- "name": "Unleash Feature Flags - List Client Features",
895
- "tool": "manage_unleash_feature_flags",
896
- "arguments": {
897
- "action": "list_client_features",
898
- "project_id": 12345
899
- },
900
- "mocks": [
901
- {
902
- "operationId": "getApiV4FeatureFlagsUnleashProjectIdClientFeatures",
903
- "response": {
904
- "body": {
905
- "features": []
906
- }
907
- }
908
- }
909
- ],
910
- "expect": {
911
- "success": true,
912
- "result": {
913
- "features": []
914
- }
915
- }
916
- },
917
- {
918
- "name": "Unleash Feature Flags - Report Client Metrics",
919
- "tool": "manage_unleash_feature_flags",
920
- "arguments": {
921
- "action": "report_client_metrics",
922
- "project_id": 12345,
923
- "metrics": {
924
- "bucket": {
925
- "start": "2024-01-01T00:00:00Z",
926
- "stop": "2024-01-01T01:00:00Z"
927
- },
928
- "applications": []
929
- }
930
- },
931
- "mocks": [
932
- {
933
- "operationId": "postApiV4FeatureFlagsUnleashProjectIdClientMetrics",
934
- "response": {
935
- "status": 202,
936
- "body": {
937
- "status": "accepted"
938
- }
939
- }
940
- }
941
- ],
942
- "expect": {
943
- "success": true,
944
- "result": {
945
- "status": "accepted"
946
- }
947
- }
948
- },
949
- {
950
- "name": "Unleash Feature Flags - Register Client",
951
- "tool": "manage_unleash_feature_flags",
952
- "arguments": {
953
- "action": "register_client",
954
- "project_id": 12345,
955
- "client": {
956
- "appName": "web",
957
- "instanceId": "web-1"
958
- }
959
- },
960
- "mocks": [
961
- {
962
- "operationId": "postApiV4FeatureFlagsUnleashProjectIdClientRegister",
963
- "response": {
964
- "status": 202,
965
- "body": {
966
- "status": "ok"
967
- }
968
- }
969
- }
970
- ],
971
- "expect": {
972
- "success": true,
973
- "result": {
974
- "status": "ok"
975
- }
976
- }
977
- },
978
- {
979
- "name": "Dependency Proxy Cache - Purge",
980
- "tool": "manage_dependency_proxy_cache",
981
- "arguments": {
982
- "action": "purge",
983
- "group_id": "{{groupId}}"
984
- },
985
- "mocks": [
986
- {
987
- "operationId": "deleteApiV4GroupsIdDependencyProxyCache",
988
- "response": {
989
- "status": 204
990
- }
991
- }
992
- ],
993
- "expect": {
994
- "success": true
995
- }
996
- },
997
- {
998
- "name": "Group Custom Attributes - List",
999
- "tool": "manage_group_custom_attributes",
1000
- "arguments": {
1001
- "action": "list",
1002
- "group_id": "{{groupId}}"
1003
- },
1004
- "mocks": [
1005
- {
1006
- "operationId": "getApiV4GroupsIdCustomAttributes",
1007
- "response": {
1008
- "body": [
1009
- {
1010
- "key": "team",
1011
- "value": "core"
1012
- }
1013
- ]
1014
- }
1015
- }
1016
- ],
1017
- "expect": {
1018
- "success": true,
1019
- "result": [
1020
- {
1021
- "key": "team",
1022
- "value": "core"
1023
- }
1024
- ]
1025
- }
1026
- },
1027
- {
1028
- "name": "Group Custom Attributes - Get",
1029
- "tool": "manage_group_custom_attributes",
1030
- "arguments": {
1031
- "action": "get",
1032
- "group_id": "{{groupId}}",
1033
- "key": "team"
1034
- },
1035
- "mocks": [
1036
- {
1037
- "operationId": "getApiV4GroupsIdCustomAttributesKey",
1038
- "response": {
1039
- "body": {
1040
- "key": "team",
1041
- "value": "core"
1042
- }
1043
- }
1044
- }
1045
- ],
1046
- "expect": {
1047
- "success": true,
1048
- "result": {
1049
- "key": "team",
1050
- "value": "core"
1051
- }
1052
- }
1053
- },
1054
- {
1055
- "name": "Group Custom Attributes - Set",
1056
- "tool": "manage_group_custom_attributes",
1057
- "arguments": {
1058
- "action": "set",
1059
- "group_id": "{{groupId}}",
1060
- "key": "team",
1061
- "value": "core"
1062
- },
1063
- "mocks": [
1064
- {
1065
- "operationId": "putApiV4GroupsIdCustomAttributesKey",
1066
- "response": {
1067
- "body": {
1068
- "key": "team",
1069
- "value": "core"
1070
- }
1071
- }
1072
- }
1073
- ],
1074
- "expect": {
1075
- "success": true,
1076
- "result": {
1077
- "key": "team",
1078
- "value": "core"
1079
- }
1080
- }
1081
- },
1082
- {
1083
- "name": "Group Custom Attributes - Delete",
1084
- "tool": "manage_group_custom_attributes",
1085
- "arguments": {
1086
- "action": "delete",
1087
- "group_id": "{{groupId}}",
1088
- "key": "team"
1089
- },
1090
- "mocks": [
1091
- {
1092
- "operationId": "deleteApiV4GroupsIdCustomAttributesKey",
1093
- "response": {
1094
- "status": 204
1095
- }
1096
- }
1097
- ],
1098
- "expect": {
1099
- "success": true
1100
- }
1101
- },
1102
- {
1103
- "name": "GLQL - Query",
1104
- "tool": "run_glql",
1105
- "arguments": {
1106
- "action": "query",
1107
- "query": "{ projects { nodes { id name } } }"
1108
- },
1109
- "mocks": [
1110
- {
1111
- "operationId": "postApiV4Glql",
1112
- "response": {
1113
- "body": {
1114
- "data": {
1115
- "projects": {
1116
- "nodes": []
1117
- }
1118
- }
1119
- }
1120
- }
1121
- }
1122
- ],
1123
- "expect": {
1124
- "success": true,
1125
- "result": {
1126
- "data": {
1127
- "projects": {
1128
- "nodes": []
1129
- }
1130
- }
1131
- }
1132
- }
1133
- },
1134
- {
1135
- "name": "Issues - List",
1136
- "tool": "manage_issues",
1137
- "arguments": {
1138
- "action": "list",
1139
- "project_id": "{{projectId}}",
1140
- "state": ["opened", "closed"]
1141
- },
1142
- "mocks": [
1143
- {
1144
- "operationId": "getApiV4ProjectsIdIssues",
1145
- "response": {
1146
- "body": [
1147
- {
1148
- "id": 10,
1149
- "iid": 1,
1150
- "title": "Bug"
1151
- }
1152
- ]
1153
- }
1154
- }
1155
- ],
1156
- "expect": {
1157
- "success": true,
1158
- "result": [
1159
- {
1160
- "title": "Bug"
1161
- }
1162
- ],
1163
- "request": {
1164
- "method": "GET",
1165
- "path": "/projects/{{projectId}}/issues",
1166
- "query": {
1167
- "state[]": ["opened", "closed"]
1168
- }
1169
- }
1170
- }
1171
- },
1172
- {
1173
- "name": "Issues - Get",
1174
- "tool": "manage_issues",
1175
- "arguments": {
1176
- "action": "get",
1177
- "project_id": "{{projectId}}",
1178
- "issue_iid": 1
1179
- },
1180
- "mocks": [
1181
- {
1182
- "operationId": "getApiV4ProjectsIdIssuesIssueIid",
1183
- "response": {
1184
- "body": {
1185
- "id": 1,
1186
- "title": "Bug"
1187
- }
1188
- }
1189
- }
1190
- ],
1191
- "expect": {
1192
- "success": true,
1193
- "result": {
1194
- "title": "Bug"
1195
- }
1196
- }
1197
- },
1198
- {
1199
- "name": "Issues - List Notes",
1200
- "tool": "manage_issues",
1201
- "arguments": {
1202
- "action": "list_notes",
1203
- "project_id": "{{projectId}}",
1204
- "issue_iid": 1
1205
- },
1206
- "mocks": [
1207
- {
1208
- "operationId": "getApiV4ProjectsIdIssuesIssueIidNotes",
1209
- "response": {
1210
- "body": [
1211
- {
1212
- "id": 201,
1213
- "body": "Note"
1214
- }
1215
- ]
1216
- }
1217
- }
1218
- ],
1219
- "expect": {
1220
- "success": true,
1221
- "result": [
1222
- {
1223
- "id": 201
1224
- }
1225
- ]
1226
- }
1227
- },
1228
- {
1229
- "name": "Issues - Create Note",
1230
- "tool": "manage_issues",
1231
- "arguments": {
1232
- "action": "create_note",
1233
- "project_id": "{{projectId}}",
1234
- "issue_iid": 1,
1235
- "body": "New Note"
1236
- },
1237
- "mocks": [
1238
- {
1239
- "operationId": "postApiV4ProjectsIdIssuesIssueIidNotes",
1240
- "response": {
1241
- "status": 201,
1242
- "body": {
1243
- "id": 202,
1244
- "body": "New Note"
1245
- }
1246
- }
1247
- }
1248
- ],
1249
- "expect": {
1250
- "success": true,
1251
- "result": {
1252
- "id": 202
1253
- }
1254
- }
1255
- },
1256
- {
1257
- "name": "Issues - Get Note",
1258
- "tool": "manage_issues",
1259
- "arguments": {
1260
- "action": "get_note",
1261
- "project_id": "{{projectId}}",
1262
- "issue_iid": 1,
1263
- "note_id": 202
1264
- },
1265
- "mocks": [
1266
- {
1267
- "operationId": "getApiV4ProjectsIdIssuesIssueIidNotesNoteId",
1268
- "response": {
1269
- "body": {
1270
- "id": 202,
1271
- "body": "New Note"
1272
- }
1273
- }
1274
- }
1275
- ],
1276
- "expect": {
1277
- "success": true,
1278
- "result": {
1279
- "id": 202
1280
- }
1281
- }
1282
- },
1283
- {
1284
- "name": "Issues - Update Note",
1285
- "tool": "manage_issues",
1286
- "arguments": {
1287
- "action": "update_note",
1288
- "project_id": "{{projectId}}",
1289
- "issue_iid": 1,
1290
- "note_id": 202,
1291
- "body": "Updated Note"
1292
- },
1293
- "mocks": [
1294
- {
1295
- "operationId": "putApiV4ProjectsIdIssuesIssueIidNotesNoteId",
1296
- "response": {
1297
- "body": {
1298
- "id": 202,
1299
- "body": "Updated Note"
1300
- }
1301
- }
1302
- }
1303
- ],
1304
- "expect": {
1305
- "success": true,
1306
- "result": {
1307
- "id": 202
1308
- }
1309
- }
1310
- },
1311
- {
1312
- "name": "Issues - Delete Note",
1313
- "tool": "manage_issues",
1314
- "arguments": {
1315
- "action": "delete_note",
1316
- "project_id": "{{projectId}}",
1317
- "issue_iid": 1,
1318
- "note_id": 202
1319
- },
1320
- "mocks": [
1321
- {
1322
- "operationId": "deleteApiV4ProjectsIdIssuesIssueIidNotesNoteId",
1323
- "response": {
1324
- "status": 204
1325
- }
1326
- }
1327
- ],
1328
- "expect": {
1329
- "success": true
1330
- }
1331
- },
1332
- {
1333
- "name": "Issues - Create",
1334
- "tool": "manage_issues",
1335
- "arguments": {
1336
- "action": "create",
1337
- "project_id": "{{projectId}}",
1338
- "title": "New Bug"
1339
- },
1340
- "mocks": [
1341
- {
1342
- "operationId": "postApiV4ProjectsIdIssues",
1343
- "response": {
1344
- "status": 201,
1345
- "body": {
1346
- "id": 2,
1347
- "title": "New Bug"
1348
- }
1349
- }
1350
- }
1351
- ],
1352
- "expect": {
1353
- "success": true,
1354
- "result": {
1355
- "title": "New Bug"
1356
- }
1357
- }
1358
- },
1359
- {
1360
- "name": "Issues - Delete",
1361
- "tool": "manage_issues",
1362
- "arguments": {
1363
- "action": "delete",
1364
- "project_id": "{{projectId}}",
1365
- "issue_iid": 1
1366
- },
1367
- "mocks": [
1368
- {
1369
- "operationId": "deleteApiV4ProjectsIdIssuesIssueIid",
1370
- "response": {
1371
- "status": 204
1372
- }
1373
- }
1374
- ],
1375
- "expect": {
1376
- "success": true
1377
- }
1378
- },
1379
- {
1380
- "name": "Issues - Delete Forbidden",
1381
- "tool": "manage_issues",
1382
- "arguments": {
1383
- "action": "delete",
1384
- "project_id": "forbidden",
1385
- "issue_iid": 1
1386
- },
1387
- "mocks": [
1388
- {
1389
- "operationId": "deleteApiV4ProjectsIdIssuesIssueIid",
1390
- "response": {
1391
- "status": 403,
1392
- "body": {
1393
- "message": "Forbidden"
1394
- }
1395
- }
1396
- }
1397
- ],
1398
- "expect": {
1399
- "success": false,
1400
- "error_code": "-32002",
1401
- "error_message_regex": "Forbidden"
1402
- }
1403
- },
1404
- {
1405
- "name": "Badges - List",
1406
- "tool": "manage_project_badges",
1407
- "arguments": {
1408
- "action": "list",
1409
- "project_id": "{{projectId}}"
1410
- },
1411
- "mocks": [
1412
- {
1413
- "operationId": "getApiV4ProjectsIdBadges",
1414
- "response": {
1415
- "body": [
1416
- {
1417
- "id": 1,
1418
- "name": "Coverage"
1419
- }
1420
- ]
1421
- }
1422
- }
1423
- ],
1424
- "expect": {
1425
- "success": true,
1426
- "result": [
1427
- {
1428
- "name": "Coverage"
1429
- }
1430
- ]
1431
- }
1432
- },
1433
- {
1434
- "name": "Badges - Get",
1435
- "tool": "manage_project_badges",
1436
- "arguments": {
1437
- "action": "get",
1438
- "project_id": "{{projectId}}",
1439
- "badge_id": 1
1440
- },
1441
- "mocks": [
1442
- {
1443
- "operationId": "getApiV4ProjectsIdBadgesBadgeId",
1444
- "response": {
1445
- "body": {
1446
- "id": 1,
1447
- "name": "Coverage"
1448
- }
1449
- }
1450
- }
1451
- ],
1452
- "expect": {
1453
- "success": true,
1454
- "result": {
1455
- "name": "Coverage"
1456
- }
1457
- }
1458
- },
1459
- {
1460
- "name": "Badges - Create",
1461
- "tool": "manage_project_badges",
1462
- "arguments": {
1463
- "action": "create",
1464
- "project_id": "{{projectId}}",
1465
- "link_url": "http://link",
1466
- "image_url": "http://img",
1467
- "name": "New"
1468
- },
1469
- "mocks": [
1470
- {
1471
- "operationId": "postApiV4ProjectsIdBadges",
1472
- "response": {
1473
- "status": 201,
1474
- "body": {
1475
- "id": 3,
1476
- "name": "New"
1477
- }
1478
- }
1479
- }
1480
- ],
1481
- "expect": {
1482
- "success": true,
1483
- "result": {
1484
- "name": "New"
1485
- }
1486
- }
1487
- },
1488
- {
1489
- "name": "Badges - Update",
1490
- "tool": "manage_project_badges",
1491
- "arguments": {
1492
- "action": "update",
1493
- "project_id": "{{projectId}}",
1494
- "badge_id": 1,
1495
- "name": "Updated"
1496
- },
1497
- "mocks": [
1498
- {
1499
- "operationId": "putApiV4ProjectsIdBadgesBadgeId",
1500
- "response": {
1501
- "body": {
1502
- "id": 1,
1503
- "name": "Updated"
1504
- }
1505
- }
1506
- }
1507
- ],
1508
- "expect": {
1509
- "success": true,
1510
- "result": {
1511
- "name": "Updated"
1512
- }
1513
- }
1514
- },
1515
- {
1516
- "name": "Badges - Delete",
1517
- "tool": "manage_project_badges",
1518
- "arguments": {
1519
- "action": "delete",
1520
- "project_id": "{{projectId}}",
1521
- "badge_id": 1
1522
- },
1523
- "mocks": [
1524
- {
1525
- "operationId": "deleteApiV4ProjectsIdBadgesBadgeId",
1526
- "response": {
1527
- "status": 204
1528
- }
1529
- }
1530
- ],
1531
- "expect": {
1532
- "success": true
1533
- }
1534
- },
1535
- {
1536
- "name": "Pipelines - Run",
1537
- "tool": "manage_pipelines_jobs",
1538
- "arguments": {
1539
- "action": "run_pipeline",
1540
- "project_id": "{{projectId}}",
1541
- "ref": "main"
1542
- },
1543
- "mocks": [
1544
- {
1545
- "operationId": "postApiV4ProjectsIdPipeline",
1546
- "response": {
1547
- "status": 201,
1548
- "body": {
1549
- "id": 501,
1550
- "status": "pending"
1551
- }
1552
- }
1553
- }
1554
- ],
1555
- "expect": {
1556
- "success": true,
1557
- "result": {
1558
- "id": 501
1559
- }
1560
- }
1561
- },
1562
- {
1563
- "name": "Pipelines - Get",
1564
- "tool": "manage_pipelines_jobs",
1565
- "arguments": {
1566
- "action": "get_pipeline",
1567
- "project_id": "{{projectId}}",
1568
- "pipeline_id": 501
1569
- },
1570
- "mocks": [
1571
- {
1572
- "operationId": "getApiV4ProjectsIdPipelinesPipelineId",
1573
- "response": {
1574
- "body": {
1575
- "id": 501,
1576
- "status": "success"
1577
- }
1578
- }
1579
- }
1580
- ],
1581
- "expect": {
1582
- "success": true,
1583
- "result": {
1584
- "status": "success"
1585
- }
1586
- }
1587
- },
1588
- {
1589
- "name": "Jobs - Play",
1590
- "tool": "manage_pipelines_jobs",
1591
- "arguments": {
1592
- "action": "play_job",
1593
- "project_id": "{{projectId}}",
1594
- "job_id": 1234
1595
- },
1596
- "mocks": [
1597
- {
1598
- "operationId": "triggerManualJob",
1599
- "response": {
1600
- "body": {
1601
- "id": 1234,
1602
- "status": "pending"
1603
- }
1604
- }
1605
- }
1606
- ],
1607
- "expect": {
1608
- "success": true,
1609
- "result": {
1610
- "status": "pending"
1611
- }
1612
- }
1613
- },
1614
- {
1615
- "name": "Jobs - Download Artifacts",
1616
- "tool": "manage_pipelines_jobs",
1617
- "arguments": {
1618
- "action": "download_job_artifacts",
1619
- "project_id": "{{projectId}}",
1620
- "job_id": 1234
1621
- },
1622
- "mocks": [
1623
- {
1624
- "operationId": "getSingleJob",
1625
- "response": {
1626
- "body": {
1627
- "id": 1234,
1628
- "artifacts_file": {
1629
- "filename": "artifacts.zip"
1630
- }
1631
- }
1632
- }
1633
- },
1634
- {
1635
- "operationId": "getApiV4ProjectsIdJobsJobIdArtifacts",
1636
- "response": {
1637
- "status": 200,
1638
- "body": "PK...",
1639
- "headers": {
1640
- "content-type": "application/zip"
1641
- }
1642
- }
1643
- }
1644
- ],
1645
- "expect": {
1646
- "success": true,
1647
- "result": {
1648
- "fileName": "artifacts.zip"
1649
- }
1650
- }
1651
- },
1652
- {
1653
- "name": "Labels - List",
1654
- "tool": "manage_labels_milestones",
1655
- "arguments": {
1656
- "action": "list_labels",
1657
- "project_id": "{{projectId}}"
1658
- },
1659
- "mocks": [
1660
- {
1661
- "operationId": "getApiV4ProjectsIdLabels",
1662
- "response": {
1663
- "body": [
1664
- {
1665
- "id": 1,
1666
- "name": "bug",
1667
- "color": "#f00"
1668
- }
1669
- ]
1670
- }
1671
- }
1672
- ],
1673
- "expect": {
1674
- "success": true,
1675
- "result": [
1676
- {
1677
- "name": "bug"
1678
- }
1679
- ]
1680
- }
1681
- },
1682
- {
1683
- "name": "Releases - List",
1684
- "tool": "manage_releases_tags",
1685
- "arguments": {
1686
- "action": "list_releases",
1687
- "project_id": "{{projectId}}"
1688
- },
1689
- "mocks": [
1690
- {
1691
- "operationId": "getApiV4ProjectsIdReleases",
1692
- "response": {
1693
- "body": [
1694
- {
1695
- "name": "v1.0",
1696
- "tag_name": "v1.0"
1697
- }
1698
- ]
1699
- }
1700
- }
1701
- ],
1702
- "expect": {
1703
- "success": true,
1704
- "result": [
1705
- {
1706
- "tag_name": "v1.0"
1707
- }
1708
- ]
1709
- }
1710
- },
1711
- {
1712
- "name": "Members - List",
1713
- "tool": "manage_project_members",
1714
- "arguments": {
1715
- "action": "list_members",
1716
- "project_id": "{{projectId}}"
1717
- },
1718
- "mocks": [
1719
- {
1720
- "operationId": "getApiV4ProjectsIdMembers",
1721
- "response": {
1722
- "body": [
1723
- {
1724
- "id": 5,
1725
- "username": "user1",
1726
- "access_level": 30
1727
- }
1728
- ]
1729
- }
1730
- }
1731
- ],
1732
- "expect": {
1733
- "success": true,
1734
- "result": [
1735
- {
1736
- "username": "user1"
1737
- }
1738
- ]
1739
- }
1740
- },
1741
- {
1742
- "name": "Hooks - List",
1743
- "tool": "manage_project_hooks",
1744
- "arguments": {
1745
- "action": "list_hooks",
1746
- "project_id": "{{projectId}}"
1747
- },
1748
- "mocks": [
1749
- {
1750
- "operationId": "getApiV4ProjectsIdHooks",
1751
- "response": {
1752
- "body": [
1753
- {
1754
- "id": 1,
1755
- "url": "https://example.com"
1756
- }
1757
- ]
1758
- }
1759
- }
1760
- ],
1761
- "expect": {
1762
- "success": true,
1763
- "result": [
1764
- {
1765
- "url": "https://example.com"
1766
- }
1767
- ]
1768
- }
1769
- },
1770
- {
1771
- "name": "Snippets - List",
1772
- "tool": "manage_snippets",
1773
- "arguments": {
1774
- "action": "list_snippets",
1775
- "project_id": "{{projectId}}"
1776
- },
1777
- "mocks": [
1778
- {
1779
- "operationId": "getApiV4ProjectsIdSnippets",
1780
- "response": {
1781
- "body": [
1782
- {
1783
- "id": 1,
1784
- "title": "Snippet 1"
1785
- }
1786
- ]
1787
- }
1788
- }
1789
- ],
1790
- "expect": {
1791
- "success": true,
1792
- "result": [
1793
- {
1794
- "title": "Snippet 1"
1795
- }
1796
- ]
1797
- }
1798
- },
1799
- {
1800
- "name": "Snippets - Download",
1801
- "tool": "manage_snippets",
1802
- "arguments": {
1803
- "action": "download_snippet",
1804
- "project_id": "{{projectId}}",
1805
- "snippet_id": 1
1806
- },
1807
- "mocks": [
1808
- {
1809
- "operationId": "getApiV4ProjectsIdSnippetsSnippetId",
1810
- "response": {
1811
- "body": {
1812
- "id": 1
1813
- }
1814
- }
1815
- },
1816
- {
1817
- "operationId": "getApiV4ProjectsIdSnippetsSnippetIdRaw",
1818
- "response": {
1819
- "body": "Snippet Content",
1820
- "headers": {
1821
- "content-type": "text/plain"
1822
- }
1823
- }
1824
- }
1825
- ],
1826
- "expect": {
1827
- "success": true,
1828
- "result": {
1829
- "content": "U25pcHBldCBDb250ZW50"
1830
- },
1831
- "requests": [
1832
- {
1833
- "method": "GET",
1834
- "path": "/projects/12345/snippets/1",
1835
- "origin": "https://mock-api-gitlab-pat.com",
1836
- "headers": {
1837
- "authorization": "Bearer test-token"
1838
- }
1839
- },
1840
- {
1841
- "method": "GET",
1842
- "path": "/projects/12345/snippets/1/raw",
1843
- "origin": "https://mock-api-gitlab-pat.com",
1844
- "headers": {
1845
- "authorization": "Bearer test-token"
1846
- }
1847
- }
1848
- ],
1849
- "allow_additional_requests": false
1850
- }
1851
- },
1852
- {
1853
- "name": "Branches - List",
1854
- "tool": "manage_branches",
1855
- "arguments": {
1856
- "action": "list",
1857
- "project_id": "{{projectId}}"
1858
- },
1859
- "mocks": [
1860
- {
1861
- "operationId": "getApiV4ProjectsIdRepositoryBranches",
1862
- "response": {
1863
- "body": [
1864
- {
1865
- "name": "main",
1866
- "default": true
1867
- }
1868
- ]
1869
- }
1870
- }
1871
- ],
1872
- "expect": {
1873
- "success": true,
1874
- "result": [
1875
- {
1876
- "name": "main"
1877
- }
1878
- ]
1879
- }
1880
- },
1881
- {
1882
- "name": "Branches - Get",
1883
- "tool": "manage_branches",
1884
- "arguments": {
1885
- "action": "get",
1886
- "project_id": "{{projectId}}",
1887
- "branch": "main"
1888
- },
1889
- "mocks": [
1890
- {
1891
- "operationId": "getApiV4ProjectsIdRepositoryBranchesBranch",
1892
- "response": {
1893
- "body": {
1894
- "name": "main",
1895
- "protected": true
1896
- }
1897
- }
1898
- }
1899
- ],
1900
- "expect": {
1901
- "success": true,
1902
- "result": {
1903
- "protected": true
1904
- }
1905
- }
1906
- },
1907
- {
1908
- "name": "Branches - Create",
1909
- "tool": "manage_branches",
1910
- "arguments": {
1911
- "action": "create",
1912
- "project_id": "{{projectId}}",
1913
- "branch": "feature/b",
1914
- "ref": "main"
1915
- },
1916
- "mocks": [
1917
- {
1918
- "operationId": "postApiV4ProjectsIdRepositoryBranches",
1919
- "response": {
1920
- "status": 201,
1921
- "body": {
1922
- "name": "feature/b"
1923
- }
1924
- }
1925
- }
1926
- ],
1927
- "expect": {
1928
- "success": true,
1929
- "result": {
1930
- "name": "feature/b"
1931
- }
1932
- }
1933
- },
1934
- {
1935
- "name": "Branches - Protect",
1936
- "tool": "manage_branches",
1937
- "arguments": {
1938
- "action": "protect",
1939
- "project_id": "{{projectId}}",
1940
- "branch": "main",
1941
- "developers_can_push": true
1942
- },
1943
- "mocks": [
1944
- {
1945
- "operationId": "putApiV4ProjectsIdRepositoryBranchesBranchProtect",
1946
- "response": {
1947
- "body": {
1948
- "name": "main",
1949
- "protected": true
1950
- }
1951
- }
1952
- }
1953
- ],
1954
- "expect": {
1955
- "success": true,
1956
- "result": {
1957
- "protected": true
1958
- }
1959
- }
1960
- },
1961
- {
1962
- "name": "Branches - Delete",
1963
- "tool": "manage_branches",
1964
- "arguments": {
1965
- "action": "delete",
1966
- "project_id": "{{projectId}}",
1967
- "branch": "feature/old"
1968
- },
1969
- "mocks": [
1970
- {
1971
- "operationId": "deleteApiV4ProjectsIdRepositoryBranchesBranch",
1972
- "response": {
1973
- "status": 204
1974
- }
1975
- }
1976
- ],
1977
- "expect": {
1978
- "success": true
1979
- }
1980
- },
1981
- {
1982
- "name": "Access Requests - List",
1983
- "tool": "manage_access_requests",
1984
- "arguments": {
1985
- "action": "list",
1986
- "resource_type": "project",
1987
- "resource_id": "{{projectId}}"
1988
- },
1989
- "mocks": [
1990
- {
1991
- "operationId": "getApiV4ProjectsIdAccessRequests",
1992
- "response": {
1993
- "body": [
1994
- {
1995
- "id": 1,
1996
- "username": "requester"
1997
- }
1998
- ]
1999
- }
2000
- }
2001
- ],
2002
- "expect": {
2003
- "success": true,
2004
- "result": [
2005
- {
2006
- "username": "requester"
2007
- }
2008
- ]
2009
- }
2010
- },
2011
- {
2012
- "name": "Access Requests - Approve",
2013
- "tool": "manage_access_requests",
2014
- "arguments": {
2015
- "action": "approve",
2016
- "resource_type": "project",
2017
- "resource_id": "{{projectId}}",
2018
- "user_id": 1,
2019
- "access_level": 30
2020
- },
2021
- "mocks": [
2022
- {
2023
- "operationId": "putApiV4ProjectsIdAccessRequestsUserIdApprove",
2024
- "response": {
2025
- "body": {
2026
- "id": 1,
2027
- "access_level": 30
2028
- }
2029
- }
2030
- }
2031
- ],
2032
- "expect": {
2033
- "success": true,
2034
- "result": {
2035
- "access_level": 30
2036
- }
2037
- }
2038
- },
2039
- {
2040
- "name": "Jobs List - List",
2041
- "tool": "list_project_jobs",
2042
- "arguments": {
2043
- "project_id": "{{projectId}}"
2044
- },
2045
- "mocks": [
2046
- {
2047
- "operationId": "listProjectJobs",
2048
- "response": {
2049
- "body": [
2050
- {
2051
- "id": 999,
2052
- "status": "success",
2053
- "name": "build"
2054
- }
2055
- ]
2056
- }
2057
- }
2058
- ],
2059
- "expect": {
2060
- "success": true,
2061
- "result": [
2062
- {
2063
- "status": "success"
2064
- }
2065
- ]
2066
- }
2067
- },
2068
- {
2069
- "name": "Repository Commits - List",
2070
- "tool": "repository_commits",
2071
- "arguments": {
2072
- "action": "list",
2073
- "project_id": "{{projectId}}",
2074
- "path": "src%2Findex.js",
2075
- "ref_name": "main"
2076
- },
2077
- "mocks": [
2078
- {
2079
- "operationId": "getApiV4ProjectsIdRepositoryCommits",
2080
- "response": {
2081
- "body": [
2082
- {
2083
- "id": "abc123",
2084
- "short_id": "abc123",
2085
- "title": "Initial commit",
2086
- "author_name": "Dev",
2087
- "committed_date": "2025-01-01T00:00:00Z",
2088
- "web_url": "https://gitlab.example.com/commit/abc123"
2089
- }
2090
- ]
2091
- }
2092
- }
2093
- ],
2094
- "expect": {
2095
- "success": true,
2096
- "result": [
2097
- {
2098
- "short_id": "abc123",
2099
- "title": "Initial commit"
2100
- }
2101
- ]
2102
- }
2103
- },
2104
- {
2105
- "name": "Repository Files - Get File",
2106
- "tool": "repository_files",
2107
- "arguments": {
2108
- "action": "get_file",
2109
- "project_id": "{{projectId}}",
2110
- "file_path": "README.md",
2111
- "ref": "main"
2112
- },
2113
- "mocks": [
2114
- {
2115
- "operationId": "getApiV4ProjectsIdRepositoryFilesFilePath",
2116
- "response": {
2117
- "body": {
2118
- "file_name": "README.md",
2119
- "content": "SGVsbG8=",
2120
- "encoding": "base64"
2121
- }
2122
- }
2123
- }
2124
- ],
2125
- "expect": {
2126
- "success": true,
2127
- "result": {
2128
- "file_name": "README.md"
2129
- }
2130
- }
2131
- },
2132
- {
2133
- "name": "Repository Files - Get Raw",
2134
- "tool": "repository_files",
2135
- "arguments": {
2136
- "action": "get_raw",
2137
- "project_id": "{{projectId}}",
2138
- "file_path": "README.md",
2139
- "ref": "main"
2140
- },
2141
- "mocks": [
2142
- {
2143
- "operationId": "getApiV4ProjectsIdRepositoryFilesFilePathRaw",
2144
- "response": {
2145
- "status": 200,
2146
- "body": "Hello World",
2147
- "headers": {
2148
- "content-type": "text/plain"
2149
- }
2150
- }
2151
- }
2152
- ],
2153
- "expect": {
2154
- "success": true,
2155
- "result": "Hello World"
2156
- }
2157
- },
2158
- {
2159
- "name": "Groups - Get",
2160
- "tool": "manage_groups",
2161
- "arguments": {
2162
- "action": "get",
2163
- "group_id": "{{groupId}}"
2164
- },
2165
- "mocks": [
2166
- {
2167
- "operationId": "getApiV4GroupsId",
2168
- "response": {
2169
- "status": 200,
2170
- "body": {
2171
- "id": 1
2172
- }
2173
- }
2174
- }
2175
- ],
2176
- "expect": {
2177
- "success": true
2178
- }
2179
- },
2180
- {
2181
- "name": "Groups - List Subgroups",
2182
- "tool": "manage_groups",
2183
- "arguments": {
2184
- "action": "list_subgroups",
2185
- "group_id": "{{groupId}}"
2186
- },
2187
- "mocks": [
2188
- {
2189
- "operationId": "getApiV4GroupsIdSubgroups",
2190
- "response": {
2191
- "status": 200,
2192
- "body": []
2193
- }
2194
- }
2195
- ],
2196
- "expect": {
2197
- "success": true
2198
- }
2199
- },
2200
- {
2201
- "name": "Merge Requests - Get Note",
2202
- "tool": "manage_merge_requests",
2203
- "arguments": {
2204
- "action": "get_note",
2205
- "project_id": "{{projectId}}",
2206
- "merge_request_iid": 1,
2207
- "note_id": 2
2208
- },
2209
- "mocks": [
2210
- {
2211
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteId",
2212
- "response": {
2213
- "status": 200,
2214
- "body": {
2215
- "id": 1
2216
- }
2217
- }
2218
- }
2219
- ],
2220
- "expect": {
2221
- "success": true
2222
- }
2223
- },
2224
- {
2225
- "name": "Merge Requests - Update Note",
2226
- "tool": "manage_merge_requests",
2227
- "arguments": {
2228
- "action": "update_note",
2229
- "project_id": "{{projectId}}",
2230
- "merge_request_iid": 1,
2231
- "note_id": 2,
2232
- "body": "Test body"
2233
- },
2234
- "mocks": [
2235
- {
2236
- "operationId": "putApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteId",
2237
- "response": {
2238
- "status": 200,
2239
- "body": {
2240
- "id": 1
2241
- }
2242
- }
2243
- }
2244
- ],
2245
- "expect": {
2246
- "success": true
2247
- }
2248
- },
2249
- {
2250
- "name": "Merge Requests - Delete Note",
2251
- "tool": "manage_merge_requests",
2252
- "arguments": {
2253
- "action": "delete_note",
2254
- "project_id": "{{projectId}}",
2255
- "merge_request_iid": 1,
2256
- "note_id": 2
2257
- },
2258
- "mocks": [
2259
- {
2260
- "operationId": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteId",
2261
- "response": {
2262
- "status": 204
2263
- }
2264
- }
2265
- ],
2266
- "expect": {
2267
- "success": true
2268
- }
2269
- },
2270
- {
2271
- "name": "Merge Requests - List Award Emoji",
2272
- "tool": "manage_merge_requests",
2273
- "arguments": {
2274
- "action": "list_award_emoji",
2275
- "project_id": "{{projectId}}",
2276
- "merge_request_iid": 1
2277
- },
2278
- "mocks": [
2279
- {
2280
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji",
2281
- "response": {
2282
- "status": 200,
2283
- "body": [
2284
- {
2285
- "id": 1,
2286
- "name": "thumbsup",
2287
- "user": {
2288
- "id": 101,
2289
- "username": "reviewer"
2290
- },
2291
- "awardable_id": 1,
2292
- "awardable_type": "MergeRequest",
2293
- "created_at": "2025-01-01T10:00:00Z",
2294
- "updated_at": "2025-01-01T10:00:00Z"
2295
- }
2296
- ]
2297
- }
2298
- }
2299
- ],
2300
- "expect": {
2301
- "success": true,
2302
- "result": [
2303
- {
2304
- "id": 1,
2305
- "name": "thumbsup"
2306
- }
2307
- ]
2308
- }
2309
- },
2310
- {
2311
- "name": "Merge Requests - Create Award Emoji",
2312
- "tool": "manage_merge_requests",
2313
- "arguments": {
2314
- "action": "create_award_emoji",
2315
- "project_id": "{{projectId}}",
2316
- "merge_request_iid": 1,
2317
- "name": "thumbsup"
2318
- },
2319
- "mocks": [
2320
- {
2321
- "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmoji",
2322
- "response": {
2323
- "status": 201,
2324
- "body": {
2325
- "id": 2,
2326
- "name": "thumbsup",
2327
- "user": {
2328
- "id": 102,
2329
- "username": "author"
2330
- },
2331
- "awardable_id": 1,
2332
- "awardable_type": "MergeRequest",
2333
- "created_at": "2025-01-01T10:01:00Z",
2334
- "updated_at": "2025-01-01T10:01:00Z"
2335
- }
2336
- }
2337
- }
2338
- ],
2339
- "expect": {
2340
- "success": true,
2341
- "result": {
2342
- "id": 2,
2343
- "name": "thumbsup"
2344
- }
2345
- }
2346
- },
2347
- {
2348
- "name": "Merge Requests - Get Award Emoji",
2349
- "tool": "manage_merge_requests",
2350
- "arguments": {
2351
- "action": "get_award_emoji",
2352
- "project_id": "{{projectId}}",
2353
- "merge_request_iid": 1,
2354
- "award_id": "{{awardId}}"
2355
- },
2356
- "mocks": [
2357
- {
2358
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmojiAwardId",
2359
- "response": {
2360
- "status": 200,
2361
- "body": {
2362
- "id": 7,
2363
- "name": "eyes",
2364
- "user": {
2365
- "id": 103,
2366
- "username": "observer"
2367
- },
2368
- "awardable_id": 1,
2369
- "awardable_type": "MergeRequest",
2370
- "created_at": "2025-01-01T10:02:00Z",
2371
- "updated_at": "2025-01-01T10:02:00Z"
2372
- }
2373
- }
2374
- }
2375
- ],
2376
- "expect": {
2377
- "success": true,
2378
- "result": {
2379
- "id": 7,
2380
- "name": "eyes"
2381
- }
2382
- }
2383
- },
2384
- {
2385
- "name": "Merge Requests - Delete Award Emoji",
2386
- "tool": "manage_merge_requests",
2387
- "arguments": {
2388
- "action": "delete_award_emoji",
2389
- "project_id": "{{projectId}}",
2390
- "merge_request_iid": 1,
2391
- "award_id": "{{awardId}}"
2392
- },
2393
- "mocks": [
2394
- {
2395
- "operationId": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIidAwardEmojiAwardId",
2396
- "response": {
2397
- "status": 204
2398
- }
2399
- }
2400
- ],
2401
- "expect": {
2402
- "success": true
2403
- }
2404
- },
2405
- {
2406
- "name": "Merge Requests - List Note Award Emoji",
2407
- "tool": "manage_merge_requests",
2408
- "arguments": {
2409
- "action": "list_note_award_emoji",
2410
- "project_id": "{{projectId}}",
2411
- "merge_request_iid": 1,
2412
- "note_id": 2
2413
- },
2414
- "mocks": [
2415
- {
2416
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmoji",
2417
- "response": {
2418
- "status": 200,
2419
- "body": [
2420
- {
2421
- "id": 8,
2422
- "name": "rocket",
2423
- "user": {
2424
- "id": 104,
2425
- "username": "dev"
2426
- },
2427
- "awardable_id": 2,
2428
- "awardable_type": "Note",
2429
- "created_at": "2025-01-01T10:03:00Z",
2430
- "updated_at": "2025-01-01T10:03:00Z"
2431
- }
2432
- ]
2433
- }
2434
- }
2435
- ],
2436
- "expect": {
2437
- "success": true,
2438
- "result": [
2439
- {
2440
- "id": 8,
2441
- "name": "rocket"
2442
- }
2443
- ]
2444
- }
2445
- },
2446
- {
2447
- "name": "Merge Requests - Create Note Award Emoji",
2448
- "tool": "manage_merge_requests",
2449
- "arguments": {
2450
- "action": "create_note_award_emoji",
2451
- "project_id": "{{projectId}}",
2452
- "merge_request_iid": 1,
2453
- "note_id": 2,
2454
- "name": "rocket"
2455
- },
2456
- "mocks": [
2457
- {
2458
- "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmoji",
2459
- "response": {
2460
- "status": 201,
2461
- "body": {
2462
- "id": 9,
2463
- "name": "rocket",
2464
- "user": {
2465
- "id": 105,
2466
- "username": "dev"
2467
- },
2468
- "awardable_id": 2,
2469
- "awardable_type": "Note",
2470
- "created_at": "2025-01-01T10:04:00Z",
2471
- "updated_at": "2025-01-01T10:04:00Z"
2472
- }
2473
- }
2474
- }
2475
- ],
2476
- "expect": {
2477
- "success": true,
2478
- "result": {
2479
- "id": 9,
2480
- "name": "rocket"
2481
- }
2482
- }
2483
- },
2484
- {
2485
- "name": "Merge Requests - Get Note Award Emoji",
2486
- "tool": "manage_merge_requests",
2487
- "arguments": {
2488
- "action": "get_note_award_emoji",
2489
- "project_id": "{{projectId}}",
2490
- "merge_request_iid": 1,
2491
- "note_id": 2,
2492
- "award_id": "{{awardId}}"
2493
- },
2494
- "mocks": [
2495
- {
2496
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmojiAwardId",
2497
- "response": {
2498
- "status": 200,
2499
- "body": {
2500
- "id": 7,
2501
- "name": "eyes",
2502
- "user": {
2503
- "id": 106,
2504
- "username": "qa"
2505
- },
2506
- "awardable_id": 2,
2507
- "awardable_type": "Note",
2508
- "created_at": "2025-01-01T10:05:00Z",
2509
- "updated_at": "2025-01-01T10:05:00Z"
2510
- }
2511
- }
2512
- }
2513
- ],
2514
- "expect": {
2515
- "success": true,
2516
- "result": {
2517
- "id": 7,
2518
- "name": "eyes"
2519
- }
2520
- }
2521
- },
2522
- {
2523
- "name": "Merge Requests - Delete Note Award Emoji",
2524
- "tool": "manage_merge_requests",
2525
- "arguments": {
2526
- "action": "delete_note_award_emoji",
2527
- "project_id": "{{projectId}}",
2528
- "merge_request_iid": 1,
2529
- "note_id": 2,
2530
- "award_id": "{{awardId}}"
2531
- },
2532
- "mocks": [
2533
- {
2534
- "operationId": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIidNotesNoteIdAwardEmojiAwardId",
2535
- "response": {
2536
- "status": 204
2537
- }
2538
- }
2539
- ],
2540
- "expect": {
2541
- "success": true
2542
- }
2543
- },
2544
- {
2545
- "name": "Merge Requests - List Discussions",
2546
- "tool": "manage_merge_requests",
2547
- "arguments": {
2548
- "action": "list_discussions",
2549
- "project_id": "{{projectId}}",
2550
- "merge_request_iid": 1
2551
- },
2552
- "mocks": [
2553
- {
2554
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussions",
2555
- "response": {
2556
- "status": 200,
2557
- "body": []
2558
- }
2559
- }
2560
- ],
2561
- "expect": {
2562
- "success": true
2563
- }
2564
- },
2565
- {
2566
- "name": "Merge Requests - Create Discussion",
2567
- "tool": "manage_merge_requests",
2568
- "arguments": {
2569
- "action": "create_discussion",
2570
- "project_id": "{{projectId}}",
2571
- "merge_request_iid": 1,
2572
- "body": "Test body"
2573
- },
2574
- "mocks": [
2575
- {
2576
- "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussions",
2577
- "response": {
2578
- "status": 200,
2579
- "body": {
2580
- "id": 1
2581
- }
2582
- }
2583
- }
2584
- ],
2585
- "expect": {
2586
- "success": true
2587
- }
2588
- },
2589
- {
2590
- "name": "Merge Requests - Reply Discussion",
2591
- "tool": "manage_merge_requests",
2592
- "arguments": {
2593
- "action": "reply_discussion",
2594
- "project_id": "{{projectId}}",
2595
- "merge_request_iid": 1,
2596
- "discussion_id": "disc-1",
2597
- "body": "Reply body"
2598
- },
2599
- "mocks": [
2600
- {
2601
- "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussionsDiscussionIdNotes",
2602
- "response": {
2603
- "status": 201,
2604
- "body": {
2605
- "id": 1
2606
- }
2607
- }
2608
- }
2609
- ],
2610
- "expect": {
2611
- "success": true
2612
- }
2613
- },
2614
- {
2615
- "name": "Merge Requests - Get Discussion",
2616
- "tool": "manage_merge_requests",
2617
- "arguments": {
2618
- "action": "get_discussion",
2619
- "project_id": "{{projectId}}",
2620
- "merge_request_iid": 1,
2621
- "discussion_id": "disc-1"
2622
- },
2623
- "mocks": [
2624
- {
2625
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussionsDiscussionId",
2626
- "response": {
2627
- "status": 200,
2628
- "body": {
2629
- "id": 1
2630
- }
2631
- }
2632
- }
2633
- ],
2634
- "expect": {
2635
- "success": true
2636
- }
2637
- },
2638
- {
2639
- "name": "Merge Requests - Delete Discussion",
2640
- "tool": "manage_merge_requests",
2641
- "arguments": {
2642
- "action": "delete_discussion",
2643
- "project_id": "{{projectId}}",
2644
- "merge_request_iid": 1,
2645
- "discussion_id": "disc-1"
2646
- },
2647
- "mocks": [
2648
- {
2649
- "operationId": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussionsDiscussionId",
2650
- "response": {
2651
- "status": 204
2652
- }
2653
- }
2654
- ],
2655
- "expect": {
2656
- "success": true
2657
- }
2658
- },
2659
- {
2660
- "name": "Merge Requests - Set Discussion Resolved (true)",
2661
- "tool": "manage_merge_requests",
2662
- "arguments": {
2663
- "action": "set_discussion_resolved",
2664
- "project_id": "{{projectId}}",
2665
- "merge_request_iid": 1,
2666
- "discussion_id": "disc-1",
2667
- "resolved": true
2668
- },
2669
- "mocks": [
2670
- {
2671
- "operationId": "putApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussionsDiscussionId",
2672
- "response": {
2673
- "status": 200,
2674
- "body": {
2675
- "id": 1
2676
- }
2677
- }
2678
- }
2679
- ],
2680
- "expect": {
2681
- "success": true
2682
- }
2683
- },
2684
- {
2685
- "name": "Merge Requests - Set Discussion Resolved (false)",
2686
- "tool": "manage_merge_requests",
2687
- "arguments": {
2688
- "action": "set_discussion_resolved",
2689
- "project_id": "{{projectId}}",
2690
- "merge_request_iid": 1,
2691
- "discussion_id": "disc-1",
2692
- "resolved": false
2693
- },
2694
- "mocks": [
2695
- {
2696
- "operationId": "putApiV4ProjectsIdMergeRequestsMergeRequestIidDiscussionsDiscussionId",
2697
- "response": {
2698
- "status": 200,
2699
- "body": {
2700
- "id": 1
2701
- }
2702
- }
2703
- }
2704
- ],
2705
- "expect": {
2706
- "success": true
2707
- }
2708
- },
2709
- {
2710
- "name": "Merge Requests - Get Approvals",
2711
- "tool": "manage_merge_requests",
2712
- "arguments": {
2713
- "action": "get_approvals",
2714
- "project_id": "{{projectId}}",
2715
- "merge_request_iid": 1
2716
- },
2717
- "mocks": [
2718
- {
2719
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidApprovals",
2720
- "response": {
2721
- "status": 200,
2722
- "body": {
2723
- "id": 1
2724
- }
2725
- }
2726
- }
2727
- ],
2728
- "expect": {
2729
- "success": true
2730
- }
2731
- },
2732
- {
2733
- "name": "Merge Requests - Approve",
2734
- "tool": "manage_merge_requests",
2735
- "arguments": {
2736
- "action": "approve",
2737
- "project_id": "{{projectId}}",
2738
- "merge_request_iid": 1
2739
- },
2740
- "mocks": [
2741
- {
2742
- "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidApprove",
2743
- "response": {
2744
- "status": 200,
2745
- "body": {
2746
- "id": 1
2747
- }
2748
- }
2749
- }
2750
- ],
2751
- "expect": {
2752
- "success": true
2753
- }
2754
- },
2755
- {
2756
- "name": "Merge Requests - Unapprove",
2757
- "tool": "manage_merge_requests",
2758
- "arguments": {
2759
- "action": "unapprove",
2760
- "project_id": "{{projectId}}",
2761
- "merge_request_iid": 1
2762
- },
2763
- "mocks": [
2764
- {
2765
- "operationId": "postApiV4ProjectsIdMergeRequestsMergeRequestIidUnapprove",
2766
- "response": {
2767
- "status": 200,
2768
- "body": {
2769
- "id": 1
2770
- }
2771
- }
2772
- }
2773
- ],
2774
- "expect": {
2775
- "success": true
2776
- }
2777
- },
2778
- {
2779
- "name": "Merge Requests - Get Changes",
2780
- "tool": "manage_merge_requests",
2781
- "arguments": {
2782
- "action": "get_changes",
2783
- "project_id": "{{projectId}}",
2784
- "merge_request_iid": 1
2785
- },
2786
- "mocks": [
2787
- {
2788
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidChanges",
2789
- "response": {
2790
- "status": 200,
2791
- "body": {
2792
- "id": 1
2793
- }
2794
- }
2795
- }
2796
- ],
2797
- "expect": {
2798
- "success": true
2799
- }
2800
- },
2801
- {
2802
- "name": "Merge Requests - List Versions",
2803
- "tool": "manage_merge_requests",
2804
- "arguments": {
2805
- "action": "list_versions",
2806
- "project_id": "{{projectId}}",
2807
- "merge_request_iid": 1
2808
- },
2809
- "mocks": [
2810
- {
2811
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersions",
2812
- "response": {
2813
- "status": 200,
2814
- "body": []
2815
- }
2816
- }
2817
- ],
2818
- "expect": {
2819
- "success": true
2820
- }
2821
- },
2822
- {
2823
- "name": "Merge Requests - Get Version",
2824
- "tool": "manage_merge_requests",
2825
- "arguments": {
2826
- "action": "get_version",
2827
- "project_id": "{{projectId}}",
2828
- "merge_request_iid": 1,
2829
- "version_id": 1
2830
- },
2831
- "mocks": [
2832
- {
2833
- "operationId": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersionsVersionId",
2834
- "response": {
2835
- "status": 200,
2836
- "body": {
2837
- "id": 1
2838
- }
2839
- }
2840
- }
2841
- ],
2842
- "expect": {
2843
- "success": true
2844
- }
2845
- },
2846
- {
2847
- "name": "Jobs - Get Job",
2848
- "tool": "manage_pipelines_jobs",
2849
- "arguments": {
2850
- "action": "get_job",
2851
- "project_id": "{{projectId}}",
2852
- "job_id": 1234
2853
- },
2854
- "mocks": [
2855
- {
2856
- "operationId": "getSingleJob",
2857
- "response": {
2858
- "status": 200,
2859
- "body": {
2860
- "id": 1
2861
- }
2862
- }
2863
- }
2864
- ],
2865
- "expect": {
2866
- "success": true
2867
- }
2868
- },
2869
- {
2870
- "name": "Jobs - Retry Job",
2871
- "tool": "manage_pipelines_jobs",
2872
- "arguments": {
2873
- "action": "retry_job",
2874
- "project_id": "{{projectId}}",
2875
- "job_id": 1234
2876
- },
2877
- "mocks": [
2878
- {
2879
- "operationId": "postApiV4ProjectsIdJobsJobIdRetry",
2880
- "response": {
2881
- "status": 200,
2882
- "body": {
2883
- "id": 1
2884
- }
2885
- }
2886
- }
2887
- ],
2888
- "expect": {
2889
- "success": true
2890
- }
2891
- },
2892
- {
2893
- "name": "Jobs - Cancel Job",
2894
- "tool": "manage_pipelines_jobs",
2895
- "arguments": {
2896
- "action": "cancel_job",
2897
- "project_id": "{{projectId}}",
2898
- "job_id": 1234
2899
- },
2900
- "mocks": [
2901
- {
2902
- "operationId": "postApiV4ProjectsIdJobsJobIdCancel",
2903
- "response": {
2904
- "status": 200,
2905
- "body": {
2906
- "id": 1
2907
- }
2908
- }
2909
- }
2910
- ],
2911
- "expect": {
2912
- "success": true
2913
- }
2914
- },
2915
- {
2916
- "name": "Labels - Create Label",
2917
- "tool": "manage_labels_milestones",
2918
- "arguments": {
2919
- "action": "create_label",
2920
- "project_id": "{{projectId}}",
2921
- "name": "New",
2922
- "color": "#FF0000"
2923
- },
2924
- "mocks": [
2925
- {
2926
- "operationId": "postApiV4ProjectsIdLabels",
2927
- "response": {
2928
- "status": 200,
2929
- "body": {
2930
- "id": 1
2931
- }
2932
- }
2933
- }
2934
- ],
2935
- "expect": {
2936
- "success": true
2937
- }
2938
- },
2939
- {
2940
- "name": "Labels - Delete Label",
2941
- "tool": "manage_labels_milestones",
2942
- "arguments": {
2943
- "action": "delete_label",
2944
- "project_id": "{{projectId}}",
2945
- "name": "New"
2946
- },
2947
- "mocks": [
2948
- {
2949
- "operationId": "deleteApiV4ProjectsIdLabels",
2950
- "response": {
2951
- "status": 204
2952
- }
2953
- }
2954
- ],
2955
- "expect": {
2956
- "success": true
2957
- }
2958
- },
2959
- {
2960
- "name": "Milestones - List Milestones",
2961
- "tool": "manage_labels_milestones",
2962
- "arguments": {
2963
- "action": "list_milestones",
2964
- "project_id": "{{projectId}}"
2965
- },
2966
- "mocks": [
2967
- {
2968
- "operationId": "getApiV4ProjectsIdMilestones",
2969
- "response": {
2970
- "status": 200,
2971
- "body": []
2972
- }
2973
- }
2974
- ],
2975
- "expect": {
2976
- "success": true
2977
- }
2978
- },
2979
- {
2980
- "name": "Milestones - Create Milestone",
2981
- "tool": "manage_labels_milestones",
2982
- "arguments": {
2983
- "action": "create_milestone",
2984
- "project_id": "{{projectId}}",
2985
- "title": "New Title"
2986
- },
2987
- "mocks": [
2988
- {
2989
- "operationId": "postApiV4ProjectsIdMilestones",
2990
- "response": {
2991
- "status": 200,
2992
- "body": {
2993
- "id": 1
2994
- }
2995
- }
2996
- }
2997
- ],
2998
- "expect": {
2999
- "success": true
3000
- }
3001
- },
3002
- {
3003
- "name": "Milestones - Update Milestone",
3004
- "tool": "manage_labels_milestones",
3005
- "arguments": {
3006
- "action": "update_milestone",
3007
- "project_id": "{{projectId}}",
3008
- "title": "New Title",
3009
- "milestone_id": 1
3010
- },
3011
- "mocks": [
3012
- {
3013
- "operationId": "putApiV4ProjectsIdMilestonesMilestoneId",
3014
- "response": {
3015
- "status": 200,
3016
- "body": {
3017
- "id": 1
3018
- }
3019
- }
3020
- }
3021
- ],
3022
- "expect": {
3023
- "success": true
3024
- }
3025
- },
3026
- {
3027
- "name": "Releases - Create Release",
3028
- "tool": "manage_releases_tags",
3029
- "arguments": {
3030
- "action": "create_release",
3031
- "project_id": "{{projectId}}",
3032
- "tag_name": "v1.0",
3033
- "name": "New"
3034
- },
3035
- "mocks": [
3036
- {
3037
- "operationId": "postApiV4ProjectsIdReleases",
3038
- "response": {
3039
- "status": 200,
3040
- "body": {
3041
- "id": 1
3042
- }
3043
- }
3044
- }
3045
- ],
3046
- "expect": {
3047
- "success": true,
3048
- "request": {
3049
- "method": "POST",
3050
- "path": "/projects/{{projectId}}/releases",
3051
- "body_exact": {
3052
- "tag_name": "v1.0",
3053
- "name": "New"
3054
- }
3055
- }
3056
- }
3057
- },
3058
- {
3059
- "name": "Tags - List Tags",
3060
- "tool": "manage_releases_tags",
3061
- "arguments": {
3062
- "action": "list_tags",
3063
- "project_id": "{{projectId}}"
3064
- },
3065
- "mocks": [
3066
- {
3067
- "operationId": "getApiV4ProjectsIdRepositoryTags",
3068
- "response": {
3069
- "status": 200,
3070
- "body": []
3071
- }
3072
- }
3073
- ],
3074
- "expect": {
3075
- "success": true
3076
- }
3077
- },
3078
- {
3079
- "name": "Tags - Create Tag",
3080
- "tool": "manage_releases_tags",
3081
- "arguments": {
3082
- "action": "create_tag",
3083
- "project_id": "{{projectId}}",
3084
- "tag_name": "v1.0",
3085
- "ref": "main"
3086
- },
3087
- "mocks": [
3088
- {
3089
- "operationId": "postApiV4ProjectsIdRepositoryTags",
3090
- "response": {
3091
- "status": 200,
3092
- "body": {
3093
- "id": 1
3094
- }
3095
- }
3096
- }
3097
- ],
3098
- "expect": {
3099
- "success": true,
3100
- "request": {
3101
- "method": "POST",
3102
- "path": "/projects/{{projectId}}/repository/tags",
3103
- "body": {
3104
- "tag_name": "v1.0",
3105
- "ref": "main"
3106
- }
3107
- }
3108
- }
3109
- },
3110
- {
3111
- "name": "Tags - Delete Tag",
3112
- "tool": "manage_releases_tags",
3113
- "arguments": {
3114
- "action": "delete_tag",
3115
- "project_id": "{{projectId}}",
3116
- "tag_name": "v1.0"
3117
- },
3118
- "mocks": [
3119
- {
3120
- "operationId": "deleteApiV4ProjectsIdRepositoryTagsTagName",
3121
- "response": {
3122
- "status": 204
3123
- }
3124
- }
3125
- ],
3126
- "expect": {
3127
- "success": true
3128
- }
3129
- },
3130
- {
3131
- "name": "Members - Add Member",
3132
- "tool": "manage_project_members",
3133
- "arguments": {
3134
- "action": "add_member",
3135
- "project_id": "{{projectId}}",
3136
- "user_id": 1,
3137
- "access_level": 30
3138
- },
3139
- "mocks": [
3140
- {
3141
- "operationId": "postApiV4ProjectsIdMembers",
3142
- "response": {
3143
- "status": 200,
3144
- "body": {
3145
- "id": 1
3146
- }
3147
- }
3148
- }
3149
- ],
3150
- "expect": {
3151
- "success": true,
3152
- "request": {
3153
- "method": "POST",
3154
- "path": "/projects/{{projectId}}/members",
3155
- "body": {
3156
- "user_id": 1,
3157
- "access_level": 30
3158
- }
3159
- }
3160
- }
3161
- },
3162
- {
3163
- "name": "Members - Remove Member",
3164
- "tool": "manage_project_members",
3165
- "arguments": {
3166
- "action": "remove_member",
3167
- "project_id": "{{projectId}}",
3168
- "user_id": 1
3169
- },
3170
- "mocks": [
3171
- {
3172
- "operationId": "deleteApiV4ProjectsIdMembersUserId",
3173
- "response": {
3174
- "status": 204
3175
- }
3176
- }
3177
- ],
3178
- "expect": {
3179
- "success": true
3180
- }
3181
- },
3182
- {
3183
- "name": "Hooks - Create Hook",
3184
- "tool": "manage_project_hooks",
3185
- "arguments": {
3186
- "action": "create_hook",
3187
- "project_id": "{{projectId}}",
3188
- "url": "https://example.com/hook"
3189
- },
3190
- "mocks": [
3191
- {
3192
- "operationId": "postApiV4ProjectsIdHooks",
3193
- "response": {
3194
- "status": 200,
3195
- "body": {
3196
- "id": 1
3197
- }
3198
- }
3199
- }
3200
- ],
3201
- "expect": {
3202
- "success": true
3203
- }
3204
- },
3205
- {
3206
- "name": "Hooks - Delete Hook",
3207
- "tool": "manage_project_hooks",
3208
- "arguments": {
3209
- "action": "delete_hook",
3210
- "project_id": "{{projectId}}",
3211
- "hook_id": 1
3212
- },
3213
- "mocks": [
3214
- {
3215
- "operationId": "deleteApiV4ProjectsIdHooksHookId",
3216
- "response": {
3217
- "status": 204
3218
- }
3219
- }
3220
- ],
3221
- "expect": {
3222
- "success": true
3223
- }
3224
- },
3225
- {
3226
- "name": "Snippets - Get Snippet",
3227
- "tool": "manage_snippets",
3228
- "arguments": {
3229
- "action": "get_snippet",
3230
- "project_id": "{{projectId}}",
3231
- "snippet_id": 1
3232
- },
3233
- "mocks": [
3234
- {
3235
- "operationId": "getApiV4ProjectsIdSnippetsSnippetId",
3236
- "response": {
3237
- "status": 200,
3238
- "body": {
3239
- "id": 1
3240
- }
3241
- }
3242
- }
3243
- ],
3244
- "expect": {
3245
- "success": true
3246
- }
3247
- },
3248
- {
3249
- "name": "Branches - Unprotect",
3250
- "tool": "manage_branches",
3251
- "arguments": {
3252
- "action": "unprotect",
3253
- "project_id": "{{projectId}}",
3254
- "branch": "main"
3255
- },
3256
- "mocks": [
3257
- {
3258
- "operationId": "putApiV4ProjectsIdRepositoryBranchesBranchUnprotect",
3259
- "response": {
3260
- "status": 200,
3261
- "body": {
3262
- "id": 1
3263
- }
3264
- }
3265
- }
3266
- ],
3267
- "expect": {
3268
- "success": true
3269
- }
3270
- },
3271
- {
3272
- "name": "Branches - Exists",
3273
- "tool": "manage_branches",
3274
- "arguments": {
3275
- "action": "exists",
3276
- "project_id": "{{projectId}}",
3277
- "branch": "main"
3278
- },
3279
- "mocks": [
3280
- {
3281
- "operationId": "headApiV4ProjectsIdRepositoryBranchesBranch",
3282
- "response": {
3283
- "status": 200,
3284
- "body": {
3285
- "id": 1
3286
- }
3287
- }
3288
- }
3289
- ],
3290
- "expect": {
3291
- "success": true
3292
- }
3293
- },
3294
- {
3295
- "name": "Access Requests - List Group",
3296
- "tool": "manage_access_requests",
3297
- "arguments": {
3298
- "action": "list",
3299
- "resource_type": "group",
3300
- "resource_id": "{{groupId}}"
3301
- },
3302
- "mocks": [
3303
- {
3304
- "operationId": "getApiV4GroupsIdAccessRequests",
3305
- "response": {
3306
- "status": 200,
3307
- "body": []
3308
- }
3309
- }
3310
- ],
3311
- "expect": {
3312
- "success": true
3313
- }
3314
- },
3315
- {
3316
- "name": "Access Requests - Approve Group",
3317
- "tool": "manage_access_requests",
3318
- "arguments": {
3319
- "action": "approve",
3320
- "resource_type": "group",
3321
- "resource_id": "{{groupId}}",
3322
- "user_id": 1
3323
- },
3324
- "mocks": [
3325
- {
3326
- "operationId": "putApiV4GroupsIdAccessRequestsUserIdApprove",
3327
- "response": {
3328
- "status": 200,
3329
- "body": {
3330
- "id": 1
3331
- }
3332
- }
3333
- }
3334
- ],
3335
- "expect": {
3336
- "success": true
3337
- }
3338
- },
3339
- {
3340
- "name": "Access Requests - Deny Project",
3341
- "tool": "manage_access_requests",
3342
- "arguments": {
3343
- "action": "deny",
3344
- "resource_type": "project",
3345
- "resource_id": "{{projectId}}",
3346
- "user_id": 1
3347
- },
3348
- "mocks": [
3349
- {
3350
- "operationId": "deleteApiV4ProjectsIdAccessRequestsUserId",
3351
- "response": {
3352
- "status": 204
3353
- }
3354
- }
3355
- ],
3356
- "expect": {
3357
- "success": true
3358
- }
3359
- },
3360
- {
3361
- "name": "Access Requests - Deny Group",
3362
- "tool": "manage_access_requests",
3363
- "arguments": {
3364
- "action": "deny",
3365
- "resource_type": "group",
3366
- "resource_id": "{{groupId}}",
3367
- "user_id": 1
3368
- },
3369
- "mocks": [
3370
- {
3371
- "operationId": "deleteApiV4GroupsIdAccessRequestsUserId",
3372
- "response": {
3373
- "status": 204
3374
- }
3375
- }
3376
- ],
3377
- "expect": {
3378
- "success": true
3379
- }
3380
- },
3381
- {
3382
- "name": "Access Requests - Request Project",
3383
- "tool": "manage_access_requests",
3384
- "arguments": {
3385
- "action": "request",
3386
- "resource_type": "project",
3387
- "resource_id": "{{projectId}}"
3388
- },
3389
- "mocks": [
3390
- {
3391
- "operationId": "postApiV4ProjectsIdAccessRequests",
3392
- "response": {
3393
- "status": 200,
3394
- "body": {
3395
- "id": 1
3396
- }
3397
- }
3398
- }
3399
- ],
3400
- "expect": {
3401
- "success": true
3402
- }
3403
- },
3404
- {
3405
- "name": "Access Requests - Request Group",
3406
- "tool": "manage_access_requests",
3407
- "arguments": {
3408
- "action": "request",
3409
- "resource_type": "group",
3410
- "resource_id": "{{groupId}}"
3411
- },
3412
- "mocks": [
3413
- {
3414
- "operationId": "postApiV4GroupsIdAccessRequests",
3415
- "response": {
3416
- "status": 200,
3417
- "body": {
3418
- "id": 1
3419
- }
3420
- }
3421
- }
3422
- ],
3423
- "expect": {
3424
- "success": true
3425
- }
3426
- }
3427
- ],
3428
- "coverage": {
3429
- "require_all_actions": true,
3430
- "skip_actions": {}
3431
- }
3432
- }