@smartbear/mcp 0.10.0 → 0.11.0

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 (35) hide show
  1. package/README.md +10 -8
  2. package/dist/bugsnag/client/api/index.js +2 -0
  3. package/dist/bugsnag/client/filters.js +0 -6
  4. package/dist/bugsnag/client.js +234 -376
  5. package/dist/bugsnag/input-schemas.js +51 -0
  6. package/dist/collaborator/client.js +18 -5
  7. package/dist/common/cache.js +63 -0
  8. package/dist/common/client-registry.js +128 -0
  9. package/dist/common/register-clients.js +31 -0
  10. package/dist/common/server.js +30 -9
  11. package/dist/common/transport-http.js +377 -0
  12. package/dist/common/transport-stdio.js +43 -0
  13. package/dist/index.js +20 -70
  14. package/dist/pactflow/client.js +39 -19
  15. package/dist/qmetry/client.js +24 -9
  16. package/dist/reflect/client.js +10 -4
  17. package/dist/{api-hub → swagger}/client/api.js +2 -2
  18. package/dist/{api-hub → swagger}/client/configuration.js +1 -1
  19. package/dist/{api-hub → swagger}/client/index.js +2 -2
  20. package/dist/{api-hub → swagger}/client/tools.js +4 -4
  21. package/dist/{api-hub → swagger}/client.js +47 -35
  22. package/dist/swagger/config-utils.js +18 -0
  23. package/dist/zephyr/client.js +40 -8
  24. package/dist/zephyr/common/rest-api-schemas.js +79 -78
  25. package/dist/zephyr/tool/priority/get-priorities.js +43 -0
  26. package/dist/zephyr/tool/status/get-statuses.js +49 -0
  27. package/dist/zephyr/tool/test-case/get-test-case.js +39 -0
  28. package/dist/zephyr/tool/test-case/get-test-cases.js +64 -0
  29. package/dist/zephyr/tool/test-cycle/get-test-cycle.js +39 -0
  30. package/dist/zephyr/tool/test-cycle/get-test-cycles.js +2 -2
  31. package/dist/zephyr/tool/test-execution/get-test-execution.js +39 -0
  32. package/package.json +2 -2
  33. /package/dist/{api-hub → swagger}/client/portal-types.js +0 -0
  34. /package/dist/{api-hub → swagger}/client/registry-types.js +0 -0
  35. /package/dist/{api-hub → swagger}/client/user-management-types.js +0 -0
@@ -142,16 +142,16 @@ export const listTestCasesResponse = zod
142
142
  .describe("Data and time test case was created. Format: yyyy-MM-dd'T'HH:mm:ss'Z'. This field is read-only, cannot be updated.\n"),
143
143
  objective: zod
144
144
  .string()
145
- .optional()
145
+ .nullish()
146
146
  .describe("A description of the objective."),
147
147
  precondition: zod
148
148
  .string()
149
- .optional()
149
+ .nullish()
150
150
  .describe("Any conditions that need to be met."),
151
151
  estimatedTime: zod
152
152
  .number()
153
153
  .min(listTestCasesResponseValuesItemEstimatedTimeMin)
154
- .optional()
154
+ .nullish()
155
155
  .describe("Estimated duration in milliseconds."),
156
156
  labels: zod
157
157
  .array(zod.string())
@@ -169,7 +169,7 @@ export const listTestCasesResponse = zod
169
169
  .optional()
170
170
  .describe("The REST API endpoint to get more resource details."),
171
171
  }))
172
- .optional(),
172
+ .nullish(),
173
173
  priority: zod
174
174
  .object({
175
175
  id: zod.number().min(1),
@@ -212,6 +212,7 @@ export const listTestCasesResponse = zod
212
212
  accountId: zod
213
213
  .string()
214
214
  .regex(listTestCasesResponseValuesItemOwnerAccountIdRegExp)
215
+ .nullable()
215
216
  .describe("Atlassian Account ID of the Jira user."),
216
217
  self: zod
217
218
  .string()
@@ -320,13 +321,10 @@ export const createTestCaseBody = zod.object({
320
321
  .regex(createTestCaseBodyProjectKeyRegExp)
321
322
  .describe("Jira project key."),
322
323
  name: zod.string().regex(createTestCaseBodyNameRegExp),
323
- objective: zod
324
- .string()
325
- .optional()
326
- .describe("A description of the objective."),
324
+ objective: zod.string().nullish().describe("A description of the objective."),
327
325
  precondition: zod
328
326
  .string()
329
- .optional()
327
+ .nullish()
330
328
  .describe("Any conditions that need to be met."),
331
329
  estimatedTime: zod
332
330
  .number()
@@ -358,7 +356,7 @@ export const createTestCaseBody = zod.object({
358
356
  ownerId: zod
359
357
  .string()
360
358
  .regex(createTestCaseBodyOwnerIdRegExp)
361
- .optional()
359
+ .nullish()
362
360
  .describe("Atlassian Account ID of the Jira user."),
363
361
  labels: zod
364
362
  .array(zod.string())
@@ -452,16 +450,16 @@ export const listTestCasesCursorPaginatedResponse = zod
452
450
  .describe("Data and time test case was created. Format: yyyy-MM-dd'T'HH:mm:ss'Z'. This field is read-only, cannot be updated.\n"),
453
451
  objective: zod
454
452
  .string()
455
- .optional()
453
+ .nullish()
456
454
  .describe("A description of the objective."),
457
455
  precondition: zod
458
456
  .string()
459
- .optional()
457
+ .nullish()
460
458
  .describe("Any conditions that need to be met."),
461
459
  estimatedTime: zod
462
460
  .number()
463
461
  .min(listTestCasesCursorPaginatedResponseValuesItemEstimatedTimeMin)
464
- .optional()
462
+ .nullish()
465
463
  .describe("Estimated duration in milliseconds."),
466
464
  labels: zod
467
465
  .array(zod.string())
@@ -479,7 +477,7 @@ export const listTestCasesCursorPaginatedResponse = zod
479
477
  .optional()
480
478
  .describe("The REST API endpoint to get more resource details."),
481
479
  }))
482
- .optional(),
480
+ .nullish(),
483
481
  priority: zod
484
482
  .object({
485
483
  id: zod.number().min(1),
@@ -522,6 +520,7 @@ export const listTestCasesCursorPaginatedResponse = zod
522
520
  accountId: zod
523
521
  .string()
524
522
  .regex(listTestCasesCursorPaginatedResponseValuesItemOwnerAccountIdRegExp)
523
+ .nullable()
525
524
  .describe("Atlassian Account ID of the Jira user."),
526
525
  self: zod
527
526
  .string()
@@ -652,18 +651,15 @@ export const getTestCaseResponse = zod.object({
652
651
  .datetime({})
653
652
  .optional()
654
653
  .describe("Data and time test case was created. Format: yyyy-MM-dd'T'HH:mm:ss'Z'. This field is read-only, cannot be updated.\n"),
655
- objective: zod
656
- .string()
657
- .optional()
658
- .describe("A description of the objective."),
654
+ objective: zod.string().nullish().describe("A description of the objective."),
659
655
  precondition: zod
660
656
  .string()
661
- .optional()
657
+ .nullish()
662
658
  .describe("Any conditions that need to be met."),
663
659
  estimatedTime: zod
664
660
  .number()
665
661
  .min(getTestCaseResponseEstimatedTimeMin)
666
- .optional()
662
+ .nullish()
667
663
  .describe("Estimated duration in milliseconds."),
668
664
  labels: zod
669
665
  .array(zod.string())
@@ -681,7 +677,7 @@ export const getTestCaseResponse = zod.object({
681
677
  .optional()
682
678
  .describe("The REST API endpoint to get more resource details."),
683
679
  }))
684
- .optional(),
680
+ .nullish(),
685
681
  priority: zod
686
682
  .object({
687
683
  id: zod.number().min(1),
@@ -724,6 +720,7 @@ export const getTestCaseResponse = zod.object({
724
720
  accountId: zod
725
721
  .string()
726
722
  .regex(getTestCaseResponseOwnerAccountIdRegExp)
723
+ .nullable()
727
724
  .describe("Atlassian Account ID of the Jira user."),
728
725
  self: zod
729
726
  .string()
@@ -850,18 +847,15 @@ export const updateTestCaseBody = zod.object({
850
847
  .datetime({})
851
848
  .optional()
852
849
  .describe("Data and time test case was created. Format: yyyy-MM-dd'T'HH:mm:ss'Z'. This field is read-only, cannot be updated.\n"),
853
- objective: zod
854
- .string()
855
- .optional()
856
- .describe("A description of the objective."),
850
+ objective: zod.string().nullish().describe("A description of the objective."),
857
851
  precondition: zod
858
852
  .string()
859
- .optional()
853
+ .nullish()
860
854
  .describe("Any conditions that need to be met."),
861
855
  estimatedTime: zod
862
856
  .number()
863
857
  .min(updateTestCaseBodyEstimatedTimeMin)
864
- .optional()
858
+ .nullish()
865
859
  .describe("Estimated duration in milliseconds."),
866
860
  labels: zod
867
861
  .array(zod.string())
@@ -879,7 +873,7 @@ export const updateTestCaseBody = zod.object({
879
873
  .optional()
880
874
  .describe("The REST API endpoint to get more resource details."),
881
875
  }))
882
- .optional(),
876
+ .nullish(),
883
877
  priority: zod
884
878
  .object({
885
879
  id: zod.number().min(1),
@@ -922,6 +916,7 @@ export const updateTestCaseBody = zod.object({
922
916
  accountId: zod
923
917
  .string()
924
918
  .regex(updateTestCaseBodyOwnerAccountIdRegExp)
919
+ .nullable()
925
920
  .describe("Atlassian Account ID of the Jira user."),
926
921
  self: zod
927
922
  .string()
@@ -1221,18 +1216,15 @@ export const getTestCaseVersionResponse = zod.object({
1221
1216
  .datetime({})
1222
1217
  .optional()
1223
1218
  .describe("Data and time test case was created. Format: yyyy-MM-dd'T'HH:mm:ss'Z'. This field is read-only, cannot be updated.\n"),
1224
- objective: zod
1225
- .string()
1226
- .optional()
1227
- .describe("A description of the objective."),
1219
+ objective: zod.string().nullish().describe("A description of the objective."),
1228
1220
  precondition: zod
1229
1221
  .string()
1230
- .optional()
1222
+ .nullish()
1231
1223
  .describe("Any conditions that need to be met."),
1232
1224
  estimatedTime: zod
1233
1225
  .number()
1234
1226
  .min(getTestCaseVersionResponseEstimatedTimeMin)
1235
- .optional()
1227
+ .nullish()
1236
1228
  .describe("Estimated duration in milliseconds."),
1237
1229
  labels: zod
1238
1230
  .array(zod.string())
@@ -1250,7 +1242,7 @@ export const getTestCaseVersionResponse = zod.object({
1250
1242
  .optional()
1251
1243
  .describe("The REST API endpoint to get more resource details."),
1252
1244
  }))
1253
- .optional(),
1245
+ .nullish(),
1254
1246
  priority: zod
1255
1247
  .object({
1256
1248
  id: zod.number().min(1),
@@ -1293,6 +1285,7 @@ export const getTestCaseVersionResponse = zod.object({
1293
1285
  accountId: zod
1294
1286
  .string()
1295
1287
  .regex(getTestCaseVersionResponseOwnerAccountIdRegExp)
1288
+ .nullable()
1296
1289
  .describe("Atlassian Account ID of the Jira user."),
1297
1290
  self: zod
1298
1291
  .string()
@@ -1773,6 +1766,7 @@ export const listTestCyclesResponse = zod
1773
1766
  accountId: zod
1774
1767
  .string()
1775
1768
  .regex(listTestCyclesResponseValuesItemOwnerAccountIdRegExp)
1769
+ .nullable()
1776
1770
  .describe("Atlassian Account ID of the Jira user."),
1777
1771
  self: zod
1778
1772
  .string()
@@ -1933,7 +1927,7 @@ export const createTestCycleBody = zod.object({
1933
1927
  ownerId: zod
1934
1928
  .string()
1935
1929
  .regex(createTestCycleBodyOwnerIdRegExp)
1936
- .optional()
1930
+ .nullish()
1937
1931
  .describe("Atlassian Account ID of the Jira user."),
1938
1932
  customFields: zod
1939
1933
  .record(zod.string(), zod.unknown())
@@ -2036,6 +2030,7 @@ export const getTestCycleResponse = zod
2036
2030
  accountId: zod
2037
2031
  .string()
2038
2032
  .regex(getTestCycleResponseOwnerAccountIdRegExp)
2033
+ .nullable()
2039
2034
  .describe("Atlassian Account ID of the Jira user."),
2040
2035
  self: zod
2041
2036
  .string()
@@ -2238,6 +2233,7 @@ export const updateTestCycleBody = zod
2238
2233
  accountId: zod
2239
2234
  .string()
2240
2235
  .regex(updateTestCycleBodyOwnerAccountIdRegExp)
2236
+ .nullable()
2241
2237
  .describe("Atlassian Account ID of the Jira user."),
2242
2238
  self: zod
2243
2239
  .string()
@@ -2541,7 +2537,7 @@ export const listTestPlansResponse = zod
2541
2537
  name: zod.string().regex(listTestPlansResponseValuesItemNameRegExp),
2542
2538
  objective: zod
2543
2539
  .string()
2544
- .optional()
2540
+ .nullish()
2545
2541
  .describe("A description of the objective."),
2546
2542
  project: zod
2547
2543
  .object({
@@ -2586,6 +2582,7 @@ export const listTestPlansResponse = zod
2586
2582
  accountId: zod
2587
2583
  .string()
2588
2584
  .regex(listTestPlansResponseValuesItemOwnerAccountIdRegExp)
2585
+ .nullable()
2589
2586
  .describe("Atlassian Account ID of the Jira user."),
2590
2587
  self: zod
2591
2588
  .string()
@@ -2703,10 +2700,7 @@ export const createTestPlanBody = zod.object({
2703
2700
  .regex(createTestPlanBodyProjectKeyRegExp)
2704
2701
  .describe("Jira project key."),
2705
2702
  name: zod.string().regex(createTestPlanBodyNameRegExp),
2706
- objective: zod
2707
- .string()
2708
- .optional()
2709
- .describe("A description of the objective."),
2703
+ objective: zod.string().nullish().describe("A description of the objective."),
2710
2704
  folderId: zod
2711
2705
  .number()
2712
2706
  .min(1)
@@ -2721,7 +2715,7 @@ export const createTestPlanBody = zod.object({
2721
2715
  ownerId: zod
2722
2716
  .string()
2723
2717
  .regex(createTestPlanBodyOwnerIdRegExp)
2724
- .optional()
2718
+ .nullish()
2725
2719
  .describe("Atlassian Account ID of the Jira user."),
2726
2720
  labels: zod
2727
2721
  .array(zod.string())
@@ -2753,10 +2747,7 @@ export const getTestPlanResponse = zod.object({
2753
2747
  .regex(getTestPlanResponseKeyRegExp)
2754
2748
  .describe("Key of the test plan"),
2755
2749
  name: zod.string().regex(getTestPlanResponseNameRegExp),
2756
- objective: zod
2757
- .string()
2758
- .optional()
2759
- .describe("A description of the objective."),
2750
+ objective: zod.string().nullish().describe("A description of the objective."),
2760
2751
  project: zod
2761
2752
  .object({
2762
2753
  id: zod.number().min(1),
@@ -2800,6 +2791,7 @@ export const getTestPlanResponse = zod.object({
2800
2791
  accountId: zod
2801
2792
  .string()
2802
2793
  .regex(getTestPlanResponseOwnerAccountIdRegExp)
2794
+ .nullable()
2803
2795
  .describe("Atlassian Account ID of the Jira user."),
2804
2796
  self: zod
2805
2797
  .string()
@@ -3088,7 +3080,7 @@ export const listTestExecutionsResponse = zod
3088
3080
  .optional()
3089
3081
  .describe("The REST API endpoint to get more resource details."),
3090
3082
  }))
3091
- .optional(),
3083
+ .nullish(),
3092
3084
  jiraProjectVersion: zod
3093
3085
  .object({
3094
3086
  id: zod.number().min(1),
@@ -3123,26 +3115,26 @@ export const listTestExecutionsResponse = zod
3123
3115
  estimatedTime: zod
3124
3116
  .number()
3125
3117
  .min(listTestExecutionsResponseValuesItemEstimatedTimeMin)
3126
- .optional()
3118
+ .nullish()
3127
3119
  .describe("Estimated duration in milliseconds."),
3128
3120
  executionTime: zod
3129
3121
  .number()
3130
3122
  .min(listTestExecutionsResponseValuesItemExecutionTimeMin)
3131
- .optional()
3123
+ .nullish()
3132
3124
  .describe("Actual test execution time in milliseconds."),
3133
3125
  executedById: zod
3134
3126
  .string()
3135
3127
  .regex(listTestExecutionsResponseValuesItemExecutedByIdRegExp)
3136
- .optional()
3128
+ .nullish()
3137
3129
  .describe("Atlassian Account ID of the Jira user."),
3138
3130
  assignedToId: zod
3139
3131
  .string()
3140
3132
  .regex(listTestExecutionsResponseValuesItemAssignedToIdRegExp)
3141
- .optional()
3133
+ .nullish()
3142
3134
  .describe("Atlassian Account ID of the Jira user."),
3143
3135
  comment: zod
3144
3136
  .string()
3145
- .optional()
3137
+ .nullish()
3146
3138
  .describe("Comment added against overall test case execution."),
3147
3139
  automated: zod
3148
3140
  .boolean()
@@ -3159,7 +3151,7 @@ export const listTestExecutionsResponse = zod
3159
3151
  .and(zod.object({
3160
3152
  id: zod.number().min(1).optional(),
3161
3153
  }))
3162
- .optional(),
3154
+ .nullish(),
3163
3155
  customFields: zod
3164
3156
  .record(zod.string(), zod.unknown())
3165
3157
  .optional()
@@ -3274,16 +3266,16 @@ export const createTestExecutionBody = zod.object({
3274
3266
  executedById: zod
3275
3267
  .string()
3276
3268
  .regex(createTestExecutionBodyExecutedByIdRegExp)
3277
- .optional()
3269
+ .nullish()
3278
3270
  .describe("Atlassian Account ID of the Jira user."),
3279
3271
  assignedToId: zod
3280
3272
  .string()
3281
3273
  .regex(createTestExecutionBodyAssignedToIdRegExp)
3282
- .optional()
3274
+ .nullish()
3283
3275
  .describe("Atlassian Account ID of the Jira user."),
3284
3276
  comment: zod
3285
3277
  .string()
3286
- .optional()
3278
+ .nullish()
3287
3279
  .describe("Comment added against overall test case execution."),
3288
3280
  customFields: zod
3289
3281
  .record(zod.string(), zod.unknown())
@@ -3424,7 +3416,7 @@ export const listTestExecutionsNextgenResponse = zod
3424
3416
  .optional()
3425
3417
  .describe("The REST API endpoint to get more resource details."),
3426
3418
  }))
3427
- .optional(),
3419
+ .nullish(),
3428
3420
  jiraProjectVersion: zod
3429
3421
  .object({
3430
3422
  id: zod.number().min(1),
@@ -3459,26 +3451,26 @@ export const listTestExecutionsNextgenResponse = zod
3459
3451
  estimatedTime: zod
3460
3452
  .number()
3461
3453
  .min(listTestExecutionsNextgenResponseValuesItemEstimatedTimeMin)
3462
- .optional()
3454
+ .nullish()
3463
3455
  .describe("Estimated duration in milliseconds."),
3464
3456
  executionTime: zod
3465
3457
  .number()
3466
3458
  .min(listTestExecutionsNextgenResponseValuesItemExecutionTimeMin)
3467
- .optional()
3459
+ .nullish()
3468
3460
  .describe("Actual test execution time in milliseconds."),
3469
3461
  executedById: zod
3470
3462
  .string()
3471
3463
  .regex(listTestExecutionsNextgenResponseValuesItemExecutedByIdRegExp)
3472
- .optional()
3464
+ .nullish()
3473
3465
  .describe("Atlassian Account ID of the Jira user."),
3474
3466
  assignedToId: zod
3475
3467
  .string()
3476
3468
  .regex(listTestExecutionsNextgenResponseValuesItemAssignedToIdRegExp)
3477
- .optional()
3469
+ .nullish()
3478
3470
  .describe("Atlassian Account ID of the Jira user."),
3479
3471
  comment: zod
3480
3472
  .string()
3481
- .optional()
3473
+ .nullish()
3482
3474
  .describe("Comment added against overall test case execution."),
3483
3475
  automated: zod
3484
3476
  .boolean()
@@ -3495,7 +3487,7 @@ export const listTestExecutionsNextgenResponse = zod
3495
3487
  .and(zod.object({
3496
3488
  id: zod.number().min(1).optional(),
3497
3489
  }))
3498
- .optional(),
3490
+ .nullish(),
3499
3491
  customFields: zod
3500
3492
  .record(zod.string(), zod.unknown())
3501
3493
  .optional()
@@ -3611,7 +3603,7 @@ export const getTestExecutionResponse = zod.object({
3611
3603
  .optional()
3612
3604
  .describe("The REST API endpoint to get more resource details."),
3613
3605
  }))
3614
- .optional(),
3606
+ .nullish(),
3615
3607
  jiraProjectVersion: zod
3616
3608
  .object({
3617
3609
  id: zod.number().min(1),
@@ -3646,26 +3638,26 @@ export const getTestExecutionResponse = zod.object({
3646
3638
  estimatedTime: zod
3647
3639
  .number()
3648
3640
  .min(getTestExecutionResponseEstimatedTimeMin)
3649
- .optional()
3641
+ .nullish()
3650
3642
  .describe("Estimated duration in milliseconds."),
3651
3643
  executionTime: zod
3652
3644
  .number()
3653
3645
  .min(getTestExecutionResponseExecutionTimeMin)
3654
- .optional()
3646
+ .nullish()
3655
3647
  .describe("Actual test execution time in milliseconds."),
3656
3648
  executedById: zod
3657
3649
  .string()
3658
3650
  .regex(getTestExecutionResponseExecutedByIdRegExp)
3659
- .optional()
3651
+ .nullish()
3660
3652
  .describe("Atlassian Account ID of the Jira user."),
3661
3653
  assignedToId: zod
3662
3654
  .string()
3663
3655
  .regex(getTestExecutionResponseAssignedToIdRegExp)
3664
- .optional()
3656
+ .nullish()
3665
3657
  .describe("Atlassian Account ID of the Jira user."),
3666
3658
  comment: zod
3667
3659
  .string()
3668
- .optional()
3660
+ .nullish()
3669
3661
  .describe("Comment added against overall test case execution."),
3670
3662
  automated: zod
3671
3663
  .boolean()
@@ -3682,7 +3674,7 @@ export const getTestExecutionResponse = zod.object({
3682
3674
  .and(zod.object({
3683
3675
  id: zod.number().min(1).optional(),
3684
3676
  }))
3685
- .optional(),
3677
+ .nullish(),
3686
3678
  customFields: zod
3687
3679
  .record(zod.string(), zod.unknown())
3688
3680
  .optional()
@@ -3766,16 +3758,16 @@ export const updateTestExecutionBody = zod.object({
3766
3758
  executedById: zod
3767
3759
  .string()
3768
3760
  .regex(updateTestExecutionBodyExecutedByIdRegExp)
3769
- .optional()
3761
+ .nullish()
3770
3762
  .describe("Atlassian Account ID of the Jira user."),
3771
3763
  assignedToId: zod
3772
3764
  .string()
3773
3765
  .regex(updateTestExecutionBodyAssignedToIdRegExp)
3774
- .optional()
3766
+ .nullish()
3775
3767
  .describe("Atlassian Account ID of the Jira user."),
3776
3768
  comment: zod
3777
3769
  .string()
3778
- .optional()
3770
+ .nullish()
3779
3771
  .describe("Comment added against overall test case execution."),
3780
3772
  });
3781
3773
  /**
@@ -4460,7 +4452,10 @@ export const listStatusesQueryParams = zod.object({
4460
4452
  .regex(listStatusesQueryProjectKeyRegExp)
4461
4453
  .optional()
4462
4454
  .describe("Jira project key filter"),
4463
- statusType: zod.string().optional(),
4455
+ statusType: zod
4456
+ .enum(["TEST_CASE", "TEST_PLAN", "TEST_CYCLE", "TEST_EXECUTION"])
4457
+ .optional()
4458
+ .describe("Determines which type of entity the status belongs to."),
4464
4459
  });
4465
4460
  export const listStatusesResponseStartAtMin = 0;
4466
4461
  export const listStatusesResponseTotalMin = 0;
@@ -4522,7 +4517,10 @@ export const listStatusesResponse = zod
4522
4517
  })
4523
4518
  .and(zod.object({
4524
4519
  color: zod.string().optional(),
4525
- archived: zod.boolean().optional(),
4520
+ archived: zod
4521
+ .boolean()
4522
+ .optional()
4523
+ .describe("Determines whether the status is archived. Archived statuses are read-only and cannot be assigned to entities."),
4526
4524
  default: zod.boolean().optional(),
4527
4525
  })))
4528
4526
  .optional(),
@@ -4546,8 +4544,8 @@ export const createStatusBody = zod.object({
4546
4544
  .max(createStatusBodyNameMax)
4547
4545
  .describe("The status name."),
4548
4546
  type: zod
4549
- .string()
4550
- .describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`, `"TEST_EXECUTION"`'),
4547
+ .enum(["TEST_CASE", "TEST_PLAN", "TEST_CYCLE", "TEST_EXECUTION"])
4548
+ .describe("Determines which type of entity the status belongs to."),
4551
4549
  description: zod
4552
4550
  .string()
4553
4551
  .min(1)
@@ -4596,7 +4594,10 @@ export const getStatusResponse = zod
4596
4594
  })
4597
4595
  .and(zod.object({
4598
4596
  color: zod.string().optional(),
4599
- archived: zod.boolean().optional(),
4597
+ archived: zod
4598
+ .boolean()
4599
+ .optional()
4600
+ .describe("Determines whether the status is archived. Archived statuses are read-only and cannot be assigned to entities."),
4600
4601
  default: zod.boolean().optional(),
4601
4602
  }));
4602
4603
  /**
@@ -0,0 +1,43 @@
1
+ import { listPrioritiesQueryParams, listPrioritiesResponse, } from "../../common/rest-api-schemas.js";
2
+ export class GetPriorities {
3
+ apiClient;
4
+ constructor(apiClient) {
5
+ this.apiClient = apiClient;
6
+ }
7
+ specification = {
8
+ title: "Get priorities",
9
+ summary: "Get Zephyr Test Case priorities with optional filters",
10
+ readOnly: true,
11
+ idempotent: true,
12
+ inputSchema: listPrioritiesQueryParams,
13
+ outputSchema: listPrioritiesResponse,
14
+ examples: [
15
+ {
16
+ description: "Get the first 10 priorities",
17
+ parameters: {
18
+ maxResults: 10,
19
+ startAt: 0,
20
+ },
21
+ expectedOutput: "The first 10 priorities with their details",
22
+ },
23
+ {
24
+ description: "Get priorities for a specific project",
25
+ parameters: { projectKey: "PROJ" },
26
+ expectedOutput: "The priorities for project PROJ",
27
+ },
28
+ {
29
+ description: "Get all priorities",
30
+ parameters: {},
31
+ expectedOutput: "All priorities",
32
+ },
33
+ ],
34
+ };
35
+ handle = async (args) => {
36
+ const getPrioritiesInput = listPrioritiesQueryParams.parse(args);
37
+ const response = await this.apiClient.get("/priorities", getPrioritiesInput);
38
+ return {
39
+ structuredContent: response,
40
+ content: [],
41
+ };
42
+ };
43
+ }
@@ -0,0 +1,49 @@
1
+ import { listStatusesQueryParams, listStatusesResponse, } from "../../common/rest-api-schemas.js";
2
+ export class GetStatuses {
3
+ apiClient;
4
+ constructor(apiClient) {
5
+ this.apiClient = apiClient;
6
+ }
7
+ specification = {
8
+ title: "Get Statuses",
9
+ summary: "Get statuses of different types of test artifacts in Zephyr",
10
+ readOnly: true,
11
+ idempotent: true,
12
+ inputSchema: listStatusesQueryParams,
13
+ outputSchema: listStatusesResponse,
14
+ examples: [
15
+ {
16
+ description: "Get the first 10 statuses",
17
+ parameters: {
18
+ maxResults: 10,
19
+ startAt: 0,
20
+ },
21
+ expectedOutput: "The first 10 statuses with their details from different projects and test artifact types",
22
+ },
23
+ {
24
+ description: "Get 10 test case statuses",
25
+ parameters: {
26
+ maxResults: 10,
27
+ statusType: "TEST_CASE",
28
+ },
29
+ expectedOutput: "A list of statuses related to test cases with their details",
30
+ },
31
+ {
32
+ description: "Get five statuses from the project PROJ",
33
+ parameters: {
34
+ maxResults: 5,
35
+ projectKey: "PROJ",
36
+ },
37
+ expectedOutput: "The first five statuses from the project PROJ with their details",
38
+ },
39
+ ],
40
+ };
41
+ handle = async (args) => {
42
+ const getStatusesInput = listStatusesQueryParams.parse(args);
43
+ const response = await this.apiClient.get("/statuses", getStatusesInput);
44
+ return {
45
+ structuredContent: response,
46
+ content: [],
47
+ };
48
+ };
49
+ }
@@ -0,0 +1,39 @@
1
+ import { getTestCaseParams, getTestCaseResponse, } from "../../common/rest-api-schemas.js";
2
+ export class GetTestCase {
3
+ apiClient;
4
+ constructor(apiClient) {
5
+ this.apiClient = apiClient;
6
+ }
7
+ specification = {
8
+ title: "Get Test Case",
9
+ summary: "Get details of test case specified by key in Zephyr",
10
+ readOnly: true,
11
+ idempotent: true,
12
+ inputSchema: getTestCaseParams,
13
+ outputSchema: getTestCaseResponse,
14
+ examples: [
15
+ {
16
+ description: "Get the test case with key 'SA-T10'",
17
+ parameters: {
18
+ testCaseKey: "SA-T10",
19
+ },
20
+ expectedOutput: "The test case with its details",
21
+ },
22
+ {
23
+ description: "Get the test case with key 'MM2-T1'",
24
+ parameters: {
25
+ testCaseKey: "MM2-T1",
26
+ },
27
+ expectedOutput: "The test case with its details",
28
+ },
29
+ ],
30
+ };
31
+ handle = async (args) => {
32
+ const { testCaseKey } = getTestCaseParams.parse(args);
33
+ const response = await this.apiClient.get(`/testcases/${testCaseKey}`);
34
+ return {
35
+ structuredContent: response,
36
+ content: [],
37
+ };
38
+ };
39
+ }