@smartbear/mcp 0.14.1 → 0.15.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 (37) hide show
  1. package/README.md +1 -1
  2. package/dist/bugsnag/client.js +5 -30
  3. package/dist/package.json.js +1 -1
  4. package/dist/qmetry/client/api/client-api.js +2 -1
  5. package/dist/qmetry/client/automation.js +2 -1
  6. package/dist/qmetry/client/tools/testcase-tools.js +269 -1
  7. package/dist/qmetry/client/tools/testsuite-tools.js +1 -1
  8. package/dist/reflect/client.js +25 -263
  9. package/dist/reflect/config/constants.js +6 -0
  10. package/dist/reflect/tool/suites/cancel-suite-execution.js +50 -0
  11. package/dist/reflect/tool/suites/execute-suite.js +40 -0
  12. package/dist/reflect/tool/suites/get-suite-execution-status.js +50 -0
  13. package/dist/reflect/tool/suites/list-suite-executions.js +40 -0
  14. package/dist/reflect/tool/suites/list-suites.js +27 -0
  15. package/dist/reflect/tool/tests/get-test-status.js +42 -0
  16. package/dist/reflect/tool/tests/list-tests.js +27 -0
  17. package/dist/reflect/tool/tests/run-test.js +40 -0
  18. package/dist/zephyr/client.js +35 -1
  19. package/dist/zephyr/common/rest-api-schemas.js +282 -237
  20. package/dist/zephyr/tool/folder/create-folder.js +55 -0
  21. package/dist/zephyr/tool/issue-link/get-test-cases.js +33 -0
  22. package/dist/zephyr/tool/issue-link/get-test-cycles.js +32 -0
  23. package/dist/zephyr/tool/issue-link/get-test-executions.js +32 -0
  24. package/dist/zephyr/tool/test-case/create-issue-link.js +36 -0
  25. package/dist/zephyr/tool/test-case/create-test-script.js +55 -0
  26. package/dist/zephyr/tool/test-case/create-test-steps.js +89 -0
  27. package/dist/zephyr/tool/test-case/get-links.js +32 -0
  28. package/dist/zephyr/tool/test-case/get-test-script.js +46 -0
  29. package/dist/zephyr/tool/test-case/get-test-steps.js +54 -0
  30. package/dist/zephyr/tool/test-cycle/create-issue-link.js +43 -0
  31. package/dist/zephyr/tool/test-cycle/create-web-link.js +54 -0
  32. package/dist/zephyr/tool/test-cycle/get-links.js +39 -0
  33. package/dist/zephyr/tool/test-execution/create-issue-link.js +43 -0
  34. package/dist/zephyr/tool/test-execution/get-test-execution-links.js +39 -0
  35. package/dist/zephyr/tool/test-execution/get-test-steps.js +73 -0
  36. package/dist/zephyr/tool/test-execution/update-test-execution.js +70 -0
  37. package/package.json +1 -1
@@ -38,11 +38,11 @@ zod.object({
38
38
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
39
39
  values: zod.array(
40
40
  zod.object({
41
- id: zod.number().min(1),
41
+ id: zod.number().min(1).describe("The ID of the entity"),
42
42
  key: zod.string().regex(listTestCases200ResponseTwoValuesItemKeyRegExp).describe("The test case key"),
43
43
  name: zod.string().min(1).max(listTestCases200ResponseTwoValuesItemNameMax).regex(listTestCases200ResponseTwoValuesItemNameRegExp),
44
44
  project: zod.object({
45
- id: zod.number().min(1),
45
+ id: zod.number().min(1).describe("The ID of the entity"),
46
46
  self: zod.string().url().optional().describe(
47
47
  "The REST API endpoint to get more resource details."
48
48
  )
@@ -55,29 +55,29 @@ zod.object({
55
55
  estimatedTime: zod.number().min(listTestCases200ResponseTwoValuesItemEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
56
56
  labels: zod.array(zod.string()).max(listTestCases200ResponseTwoValuesItemLabelsMax).optional().describe("Array of labels associated to this entity."),
57
57
  component: zod.object({
58
- id: zod.number().min(1),
58
+ id: zod.number().min(1).describe("The ID of the entity"),
59
59
  self: zod.string().url().optional().describe(
60
60
  "The REST API endpoint to get more resource details."
61
61
  )
62
- }).strict().nullish(),
62
+ }).strict().nullish().describe("ID and link to the Jira component resource."),
63
63
  priority: zod.object({
64
- id: zod.number().min(1),
64
+ id: zod.number().min(1).describe("The ID of the entity"),
65
65
  self: zod.string().url().optional().describe(
66
66
  "The REST API endpoint to get more resource details."
67
67
  )
68
- }).strict(),
68
+ }).strict().describe("ID and link to the priority resource."),
69
69
  status: zod.object({
70
- id: zod.number().min(1),
70
+ id: zod.number().min(1).describe("The ID of the entity"),
71
71
  self: zod.string().url().optional().describe(
72
72
  "The REST API endpoint to get more resource details."
73
73
  )
74
- }).strict(),
74
+ }).strict().describe("ID and link to the status resource."),
75
75
  folder: zod.object({
76
- id: zod.number().min(1),
76
+ id: zod.number().min(1).describe("The ID of the entity"),
77
77
  self: zod.string().url().optional().describe(
78
78
  "The REST API endpoint to get more resource details."
79
79
  )
80
- }).strict().nullish(),
80
+ }).strict().nullish().describe("ID and link to the folder resource."),
81
81
  owner: zod.object({
82
82
  accountId: zod.string().regex(
83
83
  listTestCases200ResponseTwoValuesItemOwnerAccountIdRegExp
@@ -120,7 +120,7 @@ zod.object({
120
120
  self: zod.string().url().optional().describe(
121
121
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
122
122
  ),
123
- id: zod.number().min(1).optional(),
123
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
124
124
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
125
125
  }).strict()
126
126
  ).optional().describe("A list of web links for this entity")
@@ -158,7 +158,7 @@ const CreateTestCaseBody = zod.object({
158
158
  )
159
159
  });
160
160
  const CreateTestCase201Response = zod.object({
161
- id: zod.number().min(1).optional(),
161
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
162
162
  self: zod.string().optional(),
163
163
  key: zod.string().optional()
164
164
  }).strict();
@@ -193,7 +193,7 @@ const ListTestCasesCursorPaginated200Response = zod.object({
193
193
  limit: zod.number().min(listTestCasesCursorPaginated200ResponseOneLimitMin),
194
194
  values: zod.array(
195
195
  zod.object({
196
- id: zod.number().min(1),
196
+ id: zod.number().min(1).describe("The ID of the entity"),
197
197
  key: zod.string().regex(
198
198
  listTestCasesCursorPaginated200ResponseTwoValuesItemKeyRegExp
199
199
  ).describe("The test case key"),
@@ -201,7 +201,7 @@ const ListTestCasesCursorPaginated200Response = zod.object({
201
201
  listTestCasesCursorPaginated200ResponseTwoValuesItemNameRegExp
202
202
  ),
203
203
  project: zod.object({
204
- id: zod.number().min(1),
204
+ id: zod.number().min(1).describe("The ID of the entity"),
205
205
  self: zod.string().url().optional().describe(
206
206
  "The REST API endpoint to get more resource details."
207
207
  )
@@ -218,29 +218,29 @@ const ListTestCasesCursorPaginated200Response = zod.object({
218
218
  listTestCasesCursorPaginated200ResponseTwoValuesItemLabelsMax
219
219
  ).optional().describe("Array of labels associated to this entity."),
220
220
  component: zod.object({
221
- id: zod.number().min(1),
221
+ id: zod.number().min(1).describe("The ID of the entity"),
222
222
  self: zod.string().url().optional().describe(
223
223
  "The REST API endpoint to get more resource details."
224
224
  )
225
- }).strict().nullish(),
225
+ }).strict().nullish().describe("ID and link to the Jira component resource."),
226
226
  priority: zod.object({
227
- id: zod.number().min(1),
227
+ id: zod.number().min(1).describe("The ID of the entity"),
228
228
  self: zod.string().url().optional().describe(
229
229
  "The REST API endpoint to get more resource details."
230
230
  )
231
- }).strict(),
231
+ }).strict().describe("ID and link to the priority resource."),
232
232
  status: zod.object({
233
- id: zod.number().min(1),
233
+ id: zod.number().min(1).describe("The ID of the entity"),
234
234
  self: zod.string().url().optional().describe(
235
235
  "The REST API endpoint to get more resource details."
236
236
  )
237
- }).strict(),
237
+ }).strict().describe("ID and link to the status resource."),
238
238
  folder: zod.object({
239
- id: zod.number().min(1),
239
+ id: zod.number().min(1).describe("The ID of the entity"),
240
240
  self: zod.string().url().optional().describe(
241
241
  "The REST API endpoint to get more resource details."
242
242
  )
243
- }).strict().nullish(),
243
+ }).strict().nullish().describe("ID and link to the folder resource."),
244
244
  owner: zod.object({
245
245
  accountId: zod.string().regex(
246
246
  listTestCasesCursorPaginated200ResponseTwoValuesItemOwnerAccountIdRegExp
@@ -283,7 +283,7 @@ const ListTestCasesCursorPaginated200Response = zod.object({
283
283
  self: zod.string().url().optional().describe(
284
284
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
285
285
  ),
286
- id: zod.number().min(1).optional(),
286
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
287
287
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
288
288
  }).strict()
289
289
  ).optional().describe("A list of web links for this entity")
@@ -308,11 +308,11 @@ const getTestCase200ResponseEstimatedTimeMin = 0;
308
308
  const getTestCase200ResponseLabelsMax = 50;
309
309
  const getTestCase200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
310
310
  const GetTestCase200Response = zod.object({
311
- id: zod.number().min(1),
311
+ id: zod.number().min(1).describe("The ID of the entity"),
312
312
  key: zod.string().regex(getTestCase200ResponseKeyRegExp).describe("The test case key"),
313
313
  name: zod.string().min(1).max(getTestCase200ResponseNameMax).regex(getTestCase200ResponseNameRegExp),
314
314
  project: zod.object({
315
- id: zod.number().min(1),
315
+ id: zod.number().min(1).describe("The ID of the entity"),
316
316
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
317
317
  }).strict().describe("ID and link relative to Zephyr project."),
318
318
  createdOn: zod.string().datetime({}).optional().describe(
@@ -323,21 +323,21 @@ const GetTestCase200Response = zod.object({
323
323
  estimatedTime: zod.number().min(getTestCase200ResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
324
324
  labels: zod.array(zod.string()).max(getTestCase200ResponseLabelsMax).optional().describe("Array of labels associated to this entity."),
325
325
  component: zod.object({
326
- id: zod.number().min(1),
326
+ id: zod.number().min(1).describe("The ID of the entity"),
327
327
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
328
- }).strict().nullish(),
328
+ }).strict().nullish().describe("ID and link to the Jira component resource."),
329
329
  priority: zod.object({
330
- id: zod.number().min(1),
330
+ id: zod.number().min(1).describe("The ID of the entity"),
331
331
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
332
- }).strict(),
332
+ }).strict().describe("ID and link to the priority resource."),
333
333
  status: zod.object({
334
- id: zod.number().min(1),
334
+ id: zod.number().min(1).describe("The ID of the entity"),
335
335
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
336
- }).strict(),
336
+ }).strict().describe("ID and link to the status resource."),
337
337
  folder: zod.object({
338
- id: zod.number().min(1),
338
+ id: zod.number().min(1).describe("The ID of the entity"),
339
339
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
340
- }).strict().nullish(),
340
+ }).strict().nullish().describe("ID and link to the folder resource."),
341
341
  owner: zod.object({
342
342
  accountId: zod.string().regex(getTestCase200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
343
343
  self: zod.string().url().optional().describe(
@@ -374,7 +374,7 @@ const GetTestCase200Response = zod.object({
374
374
  self: zod.string().url().optional().describe(
375
375
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
376
376
  ),
377
- id: zod.number().min(1).optional(),
377
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
378
378
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
379
379
  }).strict()
380
380
  ).optional().describe("A list of web links for this entity")
@@ -397,12 +397,12 @@ const updateTestCaseBodyEstimatedTimeMin = 0;
397
397
  const updateTestCaseBodyLabelsMax = 50;
398
398
  const updateTestCaseBodyOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
399
399
  const UpdateTestCaseBody = zod.object({
400
- id: zod.number().min(1),
400
+ id: zod.number().min(1).describe("The ID of the entity"),
401
401
  key: zod.string().regex(updateTestCaseBodyKeyRegExp).describe("The test case key"),
402
402
  name: zod.string().min(1).max(updateTestCaseBodyNameMax).regex(updateTestCaseBodyNameRegExp),
403
403
  project: zod.object({
404
- id: zod.number().min(1)
405
- }).describe("The ID of the resource").and(
404
+ id: zod.number().min(1).describe("The ID of the entity")
405
+ }).and(
406
406
  zod.object({
407
407
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
408
408
  })
@@ -415,33 +415,33 @@ const UpdateTestCaseBody = zod.object({
415
415
  estimatedTime: zod.number().min(updateTestCaseBodyEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
416
416
  labels: zod.array(zod.string()).max(updateTestCaseBodyLabelsMax).optional().describe("Array of labels associated to this entity."),
417
417
  component: zod.object({
418
- id: zod.number().min(1)
419
- }).describe("The ID of the resource").and(
418
+ id: zod.number().min(1).describe("The ID of the entity")
419
+ }).and(
420
420
  zod.object({
421
421
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
422
422
  })
423
- ).nullish(),
423
+ ).nullish().describe("ID and link to the Jira component resource."),
424
424
  priority: zod.object({
425
- id: zod.number().min(1)
426
- }).describe("The ID of the resource").and(
425
+ id: zod.number().min(1).describe("The ID of the entity")
426
+ }).and(
427
427
  zod.object({
428
428
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
429
429
  })
430
- ),
430
+ ).describe("ID and link to the priority resource."),
431
431
  status: zod.object({
432
- id: zod.number().min(1)
433
- }).describe("The ID of the resource").and(
432
+ id: zod.number().min(1).describe("The ID of the entity")
433
+ }).and(
434
434
  zod.object({
435
435
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
436
436
  })
437
- ),
437
+ ).describe("ID and link to the status resource."),
438
438
  folder: zod.object({
439
- id: zod.number().min(1)
440
- }).describe("The ID of the resource").and(
439
+ id: zod.number().min(1).describe("The ID of the entity")
440
+ }).and(
441
441
  zod.object({
442
442
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
443
443
  })
444
- ).nullish(),
444
+ ).nullish().describe("ID and link to the folder resource."),
445
445
  owner: zod.object({
446
446
  accountId: zod.string().regex(updateTestCaseBodyOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
447
447
  self: zod.string().url().optional().describe(
@@ -485,7 +485,7 @@ const UpdateTestCaseBody = zod.object({
485
485
  self: zod.string().url().optional().describe(
486
486
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
487
487
  ),
488
- id: zod.number().min(1).optional(),
488
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
489
489
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
490
490
  })
491
491
  )
@@ -498,12 +498,12 @@ zod.object({
498
498
  message: zod.string()
499
499
  }).strict();
500
500
  const getTestCaseLinksPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
501
- zod.object({
501
+ const GetTestCaseLinksParams = zod.object({
502
502
  testCaseKey: zod.string().regex(getTestCaseLinksPathTestCaseKeyRegExp).describe(
503
503
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
504
504
  )
505
505
  });
506
- zod.object({
506
+ const GetTestCaseLinks200Response = zod.object({
507
507
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
508
508
  issues: zod.array(
509
509
  zod.object({
@@ -527,7 +527,7 @@ zod.object({
527
527
  self: zod.string().url().optional().describe(
528
528
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
529
529
  ),
530
- id: zod.number().min(1).optional(),
530
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
531
531
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
532
532
  }).strict()
533
533
  ).optional().describe("A list of web links for this entity")
@@ -537,16 +537,16 @@ zod.object({
537
537
  message: zod.string()
538
538
  }).strict();
539
539
  const createTestCaseIssueLinkPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
540
- zod.object({
540
+ const CreateTestCaseIssueLinkParams = zod.object({
541
541
  testCaseKey: zod.string().regex(createTestCaseIssueLinkPathTestCaseKeyRegExp).describe(
542
542
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
543
543
  )
544
544
  });
545
- zod.object({
545
+ const CreateTestCaseIssueLinkBody = zod.object({
546
546
  issueId: zod.number().min(1).describe("The Jira issue ID")
547
547
  });
548
- zod.object({
549
- id: zod.number().min(1).optional(),
548
+ const CreateTestCaseIssueLink201Response = zod.object({
549
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
550
550
  self: zod.string().optional()
551
551
  }).strict();
552
552
  zod.object({
@@ -564,7 +564,7 @@ const CreateTestCaseWebLinkBody = zod.object({
564
564
  url: zod.string().url().describe("The web link URL")
565
565
  });
566
566
  const CreateTestCaseWebLink201Response = zod.object({
567
- id: zod.number().min(1).optional(),
567
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
568
568
  self: zod.string().optional()
569
569
  }).strict();
570
570
  zod.object({
@@ -608,7 +608,7 @@ zod.object({
608
608
  values: zod.array(
609
609
  zod.object({
610
610
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
611
- id: zod.number().min(1).optional()
611
+ id: zod.number().min(1).optional().describe("The ID of the entity")
612
612
  }).strict()
613
613
  ).optional().describe("A list of versions for a test case")
614
614
  }).strict();
@@ -630,11 +630,11 @@ const getTestCaseVersion200ResponseEstimatedTimeMin = 0;
630
630
  const getTestCaseVersion200ResponseLabelsMax = 50;
631
631
  const getTestCaseVersion200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
632
632
  zod.object({
633
- id: zod.number().min(1),
633
+ id: zod.number().min(1).describe("The ID of the entity"),
634
634
  key: zod.string().regex(getTestCaseVersion200ResponseKeyRegExp).describe("The test case key"),
635
635
  name: zod.string().min(1).max(getTestCaseVersion200ResponseNameMax).regex(getTestCaseVersion200ResponseNameRegExp),
636
636
  project: zod.object({
637
- id: zod.number().min(1),
637
+ id: zod.number().min(1).describe("The ID of the entity"),
638
638
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
639
639
  }).strict().describe("ID and link relative to Zephyr project."),
640
640
  createdOn: zod.string().datetime({}).optional().describe(
@@ -645,21 +645,21 @@ zod.object({
645
645
  estimatedTime: zod.number().min(getTestCaseVersion200ResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
646
646
  labels: zod.array(zod.string()).max(getTestCaseVersion200ResponseLabelsMax).optional().describe("Array of labels associated to this entity."),
647
647
  component: zod.object({
648
- id: zod.number().min(1),
648
+ id: zod.number().min(1).describe("The ID of the entity"),
649
649
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
650
- }).strict().nullish(),
650
+ }).strict().nullish().describe("ID and link to the Jira component resource."),
651
651
  priority: zod.object({
652
- id: zod.number().min(1),
652
+ id: zod.number().min(1).describe("The ID of the entity"),
653
653
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
654
- }).strict(),
654
+ }).strict().describe("ID and link to the priority resource."),
655
655
  status: zod.object({
656
- id: zod.number().min(1),
656
+ id: zod.number().min(1).describe("The ID of the entity"),
657
657
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
658
- }).strict(),
658
+ }).strict().describe("ID and link to the status resource."),
659
659
  folder: zod.object({
660
- id: zod.number().min(1),
660
+ id: zod.number().min(1).describe("The ID of the entity"),
661
661
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
662
- }).strict().nullish(),
662
+ }).strict().nullish().describe("ID and link to the folder resource."),
663
663
  owner: zod.object({
664
664
  accountId: zod.string().regex(getTestCaseVersion200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
665
665
  self: zod.string().url().optional().describe(
@@ -696,7 +696,7 @@ zod.object({
696
696
  self: zod.string().url().optional().describe(
697
697
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
698
698
  ),
699
- id: zod.number().min(1).optional(),
699
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
700
700
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
701
701
  }).strict()
702
702
  ).optional().describe("A list of web links for this entity")
@@ -707,36 +707,36 @@ zod.object({
707
707
  message: zod.string()
708
708
  }).strict();
709
709
  const getTestCaseTestScriptPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
710
- zod.object({
710
+ const GetTestCaseTestScriptParams = zod.object({
711
711
  testCaseKey: zod.string().regex(getTestCaseTestScriptPathTestCaseKeyRegExp).describe(
712
712
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
713
713
  )
714
714
  });
715
- zod.object({
715
+ const GetTestCaseTestScript200Response = zod.object({
716
716
  type: zod.enum(["plain", "bdd"]).describe(
717
- "Test scripts can be in plain text or bdd format. BDD type can support remote execution on a build system via API plugin. To create a step-by-step test script, you should first create a plain text test script then use the POST /testcases/{testCaseKey}/teststeps endpoint."
717
+ "Test scripts can be written in plain text or BDD format. The BDD type supports\nremote execution on a build system via API plugin.\n\nSupported Keywords for BDD:\nGiven, When, Then, And, But.\n\nFor more information about BDD and Gherkin syntax, see:\nhttps://support.smartbear.com/zephyr/docs/en/test-cases/gherkin-behavior-driven-development--bdd-.html\n\nFor Plain Text scripts, we support HTML fragments.\nTo create a step-by-step test script, you should use the POST /testcases/{testCaseKey}/teststeps endpoint.\n"
718
718
  ),
719
719
  text: zod.string().min(1),
720
- id: zod.number().min(1).optional()
720
+ id: zod.number().min(1).optional().describe("The ID of the entity")
721
721
  }).strict().describe("Response body when retrieving test scripts");
722
722
  zod.object({
723
723
  errorCode: zod.number(),
724
724
  message: zod.string()
725
725
  }).strict();
726
726
  const createTestCaseTestScriptPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
727
- zod.object({
727
+ const CreateTestCaseTestScriptParams = zod.object({
728
728
  testCaseKey: zod.string().regex(createTestCaseTestScriptPathTestCaseKeyRegExp).describe(
729
729
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
730
730
  )
731
731
  });
732
- zod.object({
732
+ const CreateTestCaseTestScriptBody = zod.object({
733
733
  type: zod.enum(["plain", "bdd"]).describe(
734
- "Test scripts can be in plain text or bdd format. BDD type can support remote execution on a build system via API plugin. To create a step-by-step test script, you should first create a plain text test script then use the POST /testcases/{testCaseKey}/teststeps endpoint."
734
+ "Test scripts can be written in plain text or BDD format. The BDD type supports\nremote execution on a build system via API plugin.\n\nSupported Keywords for BDD:\nGiven, When, Then, And, But.\n\nFor more information about BDD and Gherkin syntax, see:\nhttps://support.smartbear.com/zephyr/docs/en/test-cases/gherkin-behavior-driven-development--bdd-.html\n\nFor Plain Text scripts, we support HTML fragments.\nTo create a step-by-step test script, you should use the POST /testcases/{testCaseKey}/teststeps endpoint.\n"
735
735
  ),
736
736
  text: zod.string().min(1)
737
737
  }).describe("Request body for creating test scripts");
738
- zod.object({
739
- id: zod.number().min(1).optional(),
738
+ const CreateTestCaseTestScript201Response = zod.object({
739
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
740
740
  self: zod.string().optional()
741
741
  }).strict();
742
742
  zod.object({
@@ -744,7 +744,7 @@ zod.object({
744
744
  message: zod.string()
745
745
  }).strict();
746
746
  const getTestCaseTestStepsPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
747
- zod.object({
747
+ const GetTestCaseTestStepsParams = zod.object({
748
748
  testCaseKey: zod.string().regex(getTestCaseTestStepsPathTestCaseKeyRegExp).describe(
749
749
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
750
750
  )
@@ -753,7 +753,7 @@ const getTestCaseTestStepsQueryMaxResultsDefault = 10;
753
753
  const getTestCaseTestStepsQueryStartAtDefault = 0;
754
754
  const getTestCaseTestStepsQueryStartAtMin = 0;
755
755
  const getTestCaseTestStepsQueryStartAtMax = 1e6;
756
- zod.object({
756
+ const GetTestCaseTestStepsQueryParams = zod.object({
757
757
  maxResults: zod.number().min(1).default(getTestCaseTestStepsQueryMaxResultsDefault).describe(
758
758
  "Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.\n\nNote that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.\n"
759
759
  ),
@@ -764,7 +764,7 @@ zod.object({
764
764
  const getTestCaseTestSteps200ResponseOneStartAtMin = 0;
765
765
  const getTestCaseTestSteps200ResponseOneTotalMin = 0;
766
766
  const getTestCaseTestSteps200ResponseTwoValuesItemTestCaseTwoTestCaseKeyRegExp = /(.+-T[0-9]+)/;
767
- zod.object({
767
+ const GetTestCaseTestSteps200Response = zod.object({
768
768
  next: zod.string().url().nullish().describe(
769
769
  "URL to the next page of results, or null if there are no more results."
770
770
  ),
@@ -822,13 +822,13 @@ zod.object({
822
822
  message: zod.string()
823
823
  }).strict();
824
824
  const createTestCaseTestStepsPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
825
- zod.object({
825
+ const CreateTestCaseTestStepsParams = zod.object({
826
826
  testCaseKey: zod.string().regex(createTestCaseTestStepsPathTestCaseKeyRegExp).describe(
827
827
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
828
828
  )
829
829
  });
830
830
  const createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp = /(.+-T[0-9]+)/;
831
- zod.object({
831
+ const CreateTestCaseTestStepsBody = zod.object({
832
832
  mode: zod.string().describe(
833
833
  'Valid values: `"APPEND"`, `"OVERWRITE"`. <br> `OVERWRITE` deletes and recreates the test steps and associated custom field values using the provided input. Attachments for existing steps are kept, but those for missing steps are deleted permanently <br> `APPEND` only adds extra steps to your test steps.\n'
834
834
  ),
@@ -880,8 +880,8 @@ zod.object({
880
880
  }).describe(
881
881
  "Request body for creating test steps. A maximum of 100 test steps can be added in one request. To add more than 100 steps, you can submit multiple requests. The mode property allows you to specify whether you want to delete the current test steps and create a new list, or append more items to the end of the current list."
882
882
  );
883
- zod.object({
884
- id: zod.number().min(1).optional(),
883
+ const CreateTestCaseTestSteps201Response = zod.object({
884
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
885
885
  self: zod.string().optional()
886
886
  }).strict();
887
887
  zod.object({
@@ -927,17 +927,17 @@ const ListTestCycles200Response = zod.object({
927
927
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
928
928
  values: zod.array(
929
929
  zod.object({
930
- id: zod.number().min(1),
930
+ id: zod.number().min(1).describe("The ID of the entity"),
931
931
  key: zod.string().regex(listTestCycles200ResponseTwoValuesItemKeyRegExp).describe("Unique key of the test cycle"),
932
932
  name: zod.string().regex(listTestCycles200ResponseTwoValuesItemNameRegExp).describe("Name of the Test Cycle"),
933
933
  project: zod.object({
934
- id: zod.number().min(1),
934
+ id: zod.number().min(1).describe("The ID of the entity"),
935
935
  self: zod.string().url().optional().describe(
936
936
  "The REST API endpoint to get more resource details."
937
937
  )
938
938
  }).strict().describe("ID and link relative to Zephyr project."),
939
939
  jiraProjectVersion: zod.object({
940
- id: zod.number().min(1),
940
+ id: zod.number().min(1).describe("The ID of the entity"),
941
941
  self: zod.string().url().optional().describe(
942
942
  "The REST API endpoint to get more resource details."
943
943
  )
@@ -945,17 +945,17 @@ const ListTestCycles200Response = zod.object({
945
945
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
946
946
  ),
947
947
  status: zod.object({
948
- id: zod.number().min(1),
948
+ id: zod.number().min(1).describe("The ID of the entity"),
949
949
  self: zod.string().url().optional().describe(
950
950
  "The REST API endpoint to get more resource details."
951
951
  )
952
- }).strict(),
952
+ }).strict().describe("ID and link to the status resource."),
953
953
  folder: zod.object({
954
- id: zod.number().min(1),
954
+ id: zod.number().min(1).describe("The ID of the entity"),
955
955
  self: zod.string().url().optional().describe(
956
956
  "The REST API endpoint to get more resource details."
957
957
  )
958
- }).strict().nullish(),
958
+ }).strict().nullish().describe("ID and link to the folder resource."),
959
959
  description: zod.string().nullish().describe("Description outlining the scope."),
960
960
  plannedStartDate: zod.string().datetime({}).nullish().describe(
961
961
  "Planned start date of the test cycle. This field cannot be blank. Setting it as null or excluding it from the request will leave the field values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
@@ -1000,7 +1000,7 @@ const ListTestCycles200Response = zod.object({
1000
1000
  self: zod.string().url().optional().describe(
1001
1001
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1002
1002
  ),
1003
- id: zod.number().min(1).optional(),
1003
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1004
1004
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1005
1005
  }).strict()
1006
1006
  ).optional().describe("A list of web links for this entity"),
@@ -1055,7 +1055,7 @@ const CreateTestCycleBody = zod.object({
1055
1055
  )
1056
1056
  });
1057
1057
  const CreateTestCycle201Response = zod.object({
1058
- id: zod.number().min(1).optional(),
1058
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1059
1059
  self: zod.string().optional(),
1060
1060
  key: zod.string().optional()
1061
1061
  }).strict();
@@ -1071,27 +1071,27 @@ const getTestCycle200ResponseKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1071
1071
  const getTestCycle200ResponseNameRegExp = /^(?!\s*$).+/;
1072
1072
  const getTestCycle200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1073
1073
  const GetTestCycle200Response = zod.object({
1074
- id: zod.number().min(1),
1074
+ id: zod.number().min(1).describe("The ID of the entity"),
1075
1075
  key: zod.string().regex(getTestCycle200ResponseKeyRegExp).describe("Unique key of the test cycle"),
1076
1076
  name: zod.string().regex(getTestCycle200ResponseNameRegExp).describe("Name of the Test Cycle"),
1077
1077
  project: zod.object({
1078
- id: zod.number().min(1),
1078
+ id: zod.number().min(1).describe("The ID of the entity"),
1079
1079
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1080
1080
  }).strict().describe("ID and link relative to Zephyr project."),
1081
1081
  jiraProjectVersion: zod.object({
1082
- id: zod.number().min(1),
1082
+ id: zod.number().min(1).describe("The ID of the entity"),
1083
1083
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1084
1084
  }).strict().nullish().describe(
1085
1085
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1086
1086
  ),
1087
1087
  status: zod.object({
1088
- id: zod.number().min(1),
1088
+ id: zod.number().min(1).describe("The ID of the entity"),
1089
1089
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1090
- }).strict(),
1090
+ }).strict().describe("ID and link to the status resource."),
1091
1091
  folder: zod.object({
1092
- id: zod.number().min(1),
1092
+ id: zod.number().min(1).describe("The ID of the entity"),
1093
1093
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1094
- }).strict().nullish(),
1094
+ }).strict().nullish().describe("ID and link to the folder resource."),
1095
1095
  description: zod.string().nullish().describe("Description outlining the scope."),
1096
1096
  plannedStartDate: zod.string().datetime({}).nullish().describe(
1097
1097
  "Planned start date of the test cycle. This field cannot be blank. Setting it as null or excluding it from the request will leave the field values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
@@ -1132,7 +1132,7 @@ const GetTestCycle200Response = zod.object({
1132
1132
  self: zod.string().url().optional().describe(
1133
1133
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1134
1134
  ),
1135
- id: zod.number().min(1).optional(),
1135
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1136
1136
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1137
1137
  }).strict()
1138
1138
  ).optional().describe("A list of web links for this entity"),
@@ -1167,19 +1167,19 @@ const updateTestCycleBodyKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1167
1167
  const updateTestCycleBodyNameRegExp = /^(?!\s*$).+/;
1168
1168
  const updateTestCycleBodyOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1169
1169
  const UpdateTestCycleBody = zod.object({
1170
- id: zod.number().min(1),
1170
+ id: zod.number().min(1).describe("The ID of the entity"),
1171
1171
  key: zod.string().regex(updateTestCycleBodyKeyRegExp).describe("Unique key of the test cycle"),
1172
1172
  name: zod.string().regex(updateTestCycleBodyNameRegExp).describe("Name of the Test Cycle"),
1173
1173
  project: zod.object({
1174
- id: zod.number().min(1)
1175
- }).describe("The ID of the resource").and(
1174
+ id: zod.number().min(1).describe("The ID of the entity")
1175
+ }).and(
1176
1176
  zod.object({
1177
1177
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1178
1178
  })
1179
1179
  ).describe("ID and link relative to Zephyr project."),
1180
1180
  jiraProjectVersion: zod.object({
1181
- id: zod.number().min(1)
1182
- }).describe("The ID of the resource").and(
1181
+ id: zod.number().min(1).describe("The ID of the entity")
1182
+ }).and(
1183
1183
  zod.object({
1184
1184
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1185
1185
  })
@@ -1187,19 +1187,19 @@ const UpdateTestCycleBody = zod.object({
1187
1187
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1188
1188
  ),
1189
1189
  status: zod.object({
1190
- id: zod.number().min(1)
1191
- }).describe("The ID of the resource").and(
1190
+ id: zod.number().min(1).describe("The ID of the entity")
1191
+ }).and(
1192
1192
  zod.object({
1193
1193
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1194
1194
  })
1195
- ),
1195
+ ).describe("ID and link to the status resource."),
1196
1196
  folder: zod.object({
1197
- id: zod.number().min(1)
1198
- }).describe("The ID of the resource").and(
1197
+ id: zod.number().min(1).describe("The ID of the entity")
1198
+ }).and(
1199
1199
  zod.object({
1200
1200
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1201
1201
  })
1202
- ).nullish(),
1202
+ ).nullish().describe("ID and link to the folder resource."),
1203
1203
  description: zod.string().nullish().describe("Description outlining the scope."),
1204
1204
  plannedStartDate: zod.string().datetime({}).nullish().describe(
1205
1205
  "Planned start date of the test cycle. This field cannot be blank. Setting it as null or excluding it from the request will leave the field values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
@@ -1247,7 +1247,7 @@ const UpdateTestCycleBody = zod.object({
1247
1247
  self: zod.string().url().optional().describe(
1248
1248
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1249
1249
  ),
1250
- id: zod.number().min(1).optional(),
1250
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1251
1251
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1252
1252
  })
1253
1253
  )
@@ -1277,10 +1277,10 @@ zod.object({
1277
1277
  message: zod.string()
1278
1278
  }).strict();
1279
1279
  const getTestCycleLinksPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1280
- zod.object({
1280
+ const GetTestCycleLinksParams = zod.object({
1281
1281
  testCycleIdOrKey: zod.string().regex(getTestCycleLinksPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1282
1282
  });
1283
- zod.object({
1283
+ const GetTestCycleLinks200Response = zod.object({
1284
1284
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1285
1285
  issues: zod.array(
1286
1286
  zod.object({
@@ -1304,7 +1304,7 @@ zod.object({
1304
1304
  self: zod.string().url().optional().describe(
1305
1305
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1306
1306
  ),
1307
- id: zod.number().min(1).optional(),
1307
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1308
1308
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1309
1309
  }).strict()
1310
1310
  ).optional().describe("A list of web links for this entity"),
@@ -1331,10 +1331,10 @@ zod.object({
1331
1331
  message: zod.string()
1332
1332
  }).strict();
1333
1333
  const createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1334
- zod.object({
1334
+ const CreateTestCycleIssueLinkParams = zod.object({
1335
1335
  testCycleIdOrKey: zod.string().regex(createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1336
1336
  });
1337
- zod.object({
1337
+ const CreateTestCycleIssueLinkBody = zod.object({
1338
1338
  issueId: zod.number().min(1).describe("The Jira issue ID")
1339
1339
  });
1340
1340
  zod.object({
@@ -1342,10 +1342,10 @@ zod.object({
1342
1342
  message: zod.string()
1343
1343
  }).strict();
1344
1344
  const createTestCycleWebLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1345
- zod.object({
1345
+ const CreateTestCycleWebLinkParams = zod.object({
1346
1346
  testCycleIdOrKey: zod.string().regex(createTestCycleWebLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1347
1347
  });
1348
- zod.object({
1348
+ const CreateTestCycleWebLinkBody = zod.object({
1349
1349
  description: zod.string().optional().describe("The web link description"),
1350
1350
  url: zod.string().url().describe("The web link URL")
1351
1351
  });
@@ -1390,28 +1390,28 @@ zod.object({
1390
1390
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
1391
1391
  values: zod.array(
1392
1392
  zod.object({
1393
- id: zod.number().min(1),
1393
+ id: zod.number().min(1).describe("The ID of the entity"),
1394
1394
  key: zod.string().regex(listTestPlans200ResponseTwoValuesItemKeyRegExp).describe("Key of the test plan"),
1395
1395
  name: zod.string().min(1).max(listTestPlans200ResponseTwoValuesItemNameMax).regex(listTestPlans200ResponseTwoValuesItemNameRegExp),
1396
1396
  objective: zod.string().nullish().describe("A description of the objective."),
1397
1397
  project: zod.object({
1398
- id: zod.number().min(1),
1398
+ id: zod.number().min(1).describe("The ID of the entity"),
1399
1399
  self: zod.string().url().optional().describe(
1400
1400
  "The REST API endpoint to get more resource details."
1401
1401
  )
1402
1402
  }).strict().describe("ID and link relative to Zephyr project."),
1403
1403
  status: zod.object({
1404
- id: zod.number().min(1),
1404
+ id: zod.number().min(1).describe("The ID of the entity"),
1405
1405
  self: zod.string().url().optional().describe(
1406
1406
  "The REST API endpoint to get more resource details."
1407
1407
  )
1408
- }).strict(),
1408
+ }).strict().describe("ID and link to the status resource."),
1409
1409
  folder: zod.object({
1410
- id: zod.number().min(1),
1410
+ id: zod.number().min(1).describe("The ID of the entity"),
1411
1411
  self: zod.string().url().optional().describe(
1412
1412
  "The REST API endpoint to get more resource details."
1413
1413
  )
1414
- }).strict().nullish(),
1414
+ }).strict().nullish().describe("ID and link to the folder resource."),
1415
1415
  owner: zod.object({
1416
1416
  accountId: zod.string().regex(
1417
1417
  listTestPlans200ResponseTwoValuesItemOwnerAccountIdRegExp
@@ -1432,7 +1432,7 @@ zod.object({
1432
1432
  self: zod.string().url().optional().describe(
1433
1433
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1434
1434
  ),
1435
- id: zod.number().min(1).optional(),
1435
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1436
1436
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1437
1437
  }).strict()
1438
1438
  ).optional().describe("A list of web links for this entity"),
@@ -1453,14 +1453,16 @@ zod.object({
1453
1453
  ).optional().describe("A list of Jira issues linked to this entity"),
1454
1454
  testCycles: zod.array(
1455
1455
  zod.object({
1456
- id: zod.number().min(1),
1456
+ id: zod.number().min(1).describe("The ID of the entity"),
1457
1457
  self: zod.string().url().optional().describe(
1458
1458
  "The REST API endpoint to get more resource details."
1459
1459
  ),
1460
- testCycleId: zod.number().min(1).optional(),
1460
+ testCycleId: zod.number().min(1).optional().describe("The ID of the entity"),
1461
1461
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1462
1462
  target: zod.string().optional().describe("The test cycle resource")
1463
- }).strict()
1463
+ }).strict().describe(
1464
+ "ID and link to a test cycle associated with a test plan."
1465
+ )
1464
1466
  ).optional().describe("A list of test cycle links for a test plan")
1465
1467
  }).strict().optional()
1466
1468
  }).strict()
@@ -1489,7 +1491,7 @@ zod.object({
1489
1491
  )
1490
1492
  });
1491
1493
  zod.object({
1492
- id: zod.number().min(1).optional(),
1494
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1493
1495
  self: zod.string().optional(),
1494
1496
  key: zod.string().optional()
1495
1497
  }).strict();
@@ -1509,22 +1511,22 @@ const getTestPlan200ResponseNameRegExp = /^(?!\\s*$).+/;
1509
1511
  const getTestPlan200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1510
1512
  const getTestPlan200ResponseLabelsMax = 50;
1511
1513
  zod.object({
1512
- id: zod.number().min(1),
1514
+ id: zod.number().min(1).describe("The ID of the entity"),
1513
1515
  key: zod.string().regex(getTestPlan200ResponseKeyRegExp).describe("Key of the test plan"),
1514
1516
  name: zod.string().min(1).max(getTestPlan200ResponseNameMax).regex(getTestPlan200ResponseNameRegExp),
1515
1517
  objective: zod.string().nullish().describe("A description of the objective."),
1516
1518
  project: zod.object({
1517
- id: zod.number().min(1),
1519
+ id: zod.number().min(1).describe("The ID of the entity"),
1518
1520
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1519
1521
  }).strict().describe("ID and link relative to Zephyr project."),
1520
1522
  status: zod.object({
1521
- id: zod.number().min(1),
1523
+ id: zod.number().min(1).describe("The ID of the entity"),
1522
1524
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1523
- }).strict(),
1525
+ }).strict().describe("ID and link to the status resource."),
1524
1526
  folder: zod.object({
1525
- id: zod.number().min(1),
1527
+ id: zod.number().min(1).describe("The ID of the entity"),
1526
1528
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1527
- }).strict().nullish(),
1529
+ }).strict().nullish().describe("ID and link to the folder resource."),
1528
1530
  owner: zod.object({
1529
1531
  accountId: zod.string().regex(getTestPlan200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1530
1532
  self: zod.string().url().optional().describe(
@@ -1543,7 +1545,7 @@ zod.object({
1543
1545
  self: zod.string().url().optional().describe(
1544
1546
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1545
1547
  ),
1546
- id: zod.number().min(1).optional(),
1548
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1547
1549
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1548
1550
  }).strict()
1549
1551
  ).optional().describe("A list of web links for this entity"),
@@ -1564,14 +1566,16 @@ zod.object({
1564
1566
  ).optional().describe("A list of Jira issues linked to this entity"),
1565
1567
  testCycles: zod.array(
1566
1568
  zod.object({
1567
- id: zod.number().min(1),
1569
+ id: zod.number().min(1).describe("The ID of the entity"),
1568
1570
  self: zod.string().url().optional().describe(
1569
1571
  "The REST API endpoint to get more resource details."
1570
1572
  ),
1571
- testCycleId: zod.number().min(1).optional(),
1573
+ testCycleId: zod.number().min(1).optional().describe("The ID of the entity"),
1572
1574
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1573
1575
  target: zod.string().optional().describe("The test cycle resource")
1574
- }).strict()
1576
+ }).strict().describe(
1577
+ "ID and link to a test cycle associated with a test plan."
1578
+ )
1575
1579
  ).optional().describe("A list of test cycle links for a test plan")
1576
1580
  }).strict().optional()
1577
1581
  }).strict();
@@ -1590,7 +1594,7 @@ zod.object({
1590
1594
  url: zod.string().url().describe("The web link URL")
1591
1595
  }).and(zod.unknown());
1592
1596
  zod.object({
1593
- id: zod.number().min(1).optional(),
1597
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1594
1598
  self: zod.string().optional()
1595
1599
  }).strict();
1596
1600
  zod.object({
@@ -1607,7 +1611,7 @@ zod.object({
1607
1611
  issueId: zod.number().min(1).describe("The Jira issue ID")
1608
1612
  });
1609
1613
  zod.object({
1610
- id: zod.number().min(1).optional(),
1614
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1611
1615
  self: zod.string().optional()
1612
1616
  }).strict();
1613
1617
  zod.object({
@@ -1625,7 +1629,7 @@ zod.object({
1625
1629
  testCycleIdOrKey: zod.string().regex(createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1626
1630
  });
1627
1631
  zod.object({
1628
- id: zod.number().min(1).optional(),
1632
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1629
1633
  self: zod.string().optional()
1630
1634
  }).strict();
1631
1635
  zod.object({
@@ -1690,10 +1694,10 @@ zod.object({
1690
1694
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
1691
1695
  values: zod.array(
1692
1696
  zod.object({
1693
- id: zod.number().min(1),
1697
+ id: zod.number().min(1).describe("The ID of the entity"),
1694
1698
  key: zod.string().regex(listTestExecutions200ResponseTwoValuesItemKeyRegExp).optional().describe("Test execution key"),
1695
1699
  project: zod.object({
1696
- id: zod.number().min(1),
1700
+ id: zod.number().min(1).describe("The ID of the entity"),
1697
1701
  self: zod.string().url().optional().describe(
1698
1702
  "The REST API endpoint to get more resource details."
1699
1703
  )
@@ -1702,16 +1706,16 @@ zod.object({
1702
1706
  self: zod.string().url().optional().describe(
1703
1707
  "The REST API endpoint to get more resource details."
1704
1708
  ),
1705
- id: zod.number().min(1).optional()
1709
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1706
1710
  }).strict(),
1707
1711
  environment: zod.object({
1708
- id: zod.number().min(1),
1712
+ id: zod.number().min(1).describe("The ID of the entity"),
1709
1713
  self: zod.string().url().optional().describe(
1710
1714
  "The REST API endpoint to get more resource details."
1711
1715
  )
1712
- }).strict().nullish(),
1716
+ }).strict().nullish().describe("ID and link to the environment resource."),
1713
1717
  jiraProjectVersion: zod.object({
1714
- id: zod.number().min(1),
1718
+ id: zod.number().min(1).describe("The ID of the entity"),
1715
1719
  self: zod.string().url().optional().describe(
1716
1720
  "The REST API endpoint to get more resource details."
1717
1721
  )
@@ -1719,11 +1723,11 @@ zod.object({
1719
1723
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1720
1724
  ),
1721
1725
  testExecutionStatus: zod.object({
1722
- id: zod.number().min(1),
1726
+ id: zod.number().min(1).describe("The ID of the entity"),
1723
1727
  self: zod.string().url().optional().describe(
1724
1728
  "The REST API endpoint to get more resource details."
1725
1729
  )
1726
- }).strict(),
1730
+ }).strict().describe("ID and link to the status resource."),
1727
1731
  actualEndDate: zod.string().datetime({}).optional().describe(
1728
1732
  "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1729
1733
  ),
@@ -1743,7 +1747,7 @@ zod.object({
1743
1747
  self: zod.string().url().optional().describe(
1744
1748
  "The REST API endpoint to get more resource details."
1745
1749
  ),
1746
- id: zod.number().min(1).optional()
1750
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1747
1751
  }).strict().nullish(),
1748
1752
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1749
1753
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
@@ -1814,7 +1818,7 @@ const CreateTestExecutionBody = zod.object({
1814
1818
  )
1815
1819
  });
1816
1820
  const CreateTestExecution201Response = zod.object({
1817
- id: zod.number().min(1).optional(),
1821
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1818
1822
  self: zod.string().optional()
1819
1823
  }).strict();
1820
1824
  zod.object({
@@ -1867,10 +1871,10 @@ const ListTestExecutionsNextgen200Response = zod.object({
1867
1871
  limit: zod.number().min(listTestExecutionsNextgen200ResponseOneLimitMin),
1868
1872
  values: zod.array(
1869
1873
  zod.object({
1870
- id: zod.number().min(1),
1874
+ id: zod.number().min(1).describe("The ID of the entity"),
1871
1875
  key: zod.string().regex(listTestExecutionsNextgen200ResponseTwoValuesItemKeyRegExp).optional().describe("Test execution key"),
1872
1876
  project: zod.object({
1873
- id: zod.number().min(1),
1877
+ id: zod.number().min(1).describe("The ID of the entity"),
1874
1878
  self: zod.string().url().optional().describe(
1875
1879
  "The REST API endpoint to get more resource details."
1876
1880
  )
@@ -1879,16 +1883,16 @@ const ListTestExecutionsNextgen200Response = zod.object({
1879
1883
  self: zod.string().url().optional().describe(
1880
1884
  "The REST API endpoint to get more resource details."
1881
1885
  ),
1882
- id: zod.number().min(1).optional()
1886
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1883
1887
  }).strict(),
1884
1888
  environment: zod.object({
1885
- id: zod.number().min(1),
1889
+ id: zod.number().min(1).describe("The ID of the entity"),
1886
1890
  self: zod.string().url().optional().describe(
1887
1891
  "The REST API endpoint to get more resource details."
1888
1892
  )
1889
- }).strict().nullish(),
1893
+ }).strict().nullish().describe("ID and link to the environment resource."),
1890
1894
  jiraProjectVersion: zod.object({
1891
- id: zod.number().min(1),
1895
+ id: zod.number().min(1).describe("The ID of the entity"),
1892
1896
  self: zod.string().url().optional().describe(
1893
1897
  "The REST API endpoint to get more resource details."
1894
1898
  )
@@ -1896,11 +1900,11 @@ const ListTestExecutionsNextgen200Response = zod.object({
1896
1900
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1897
1901
  ),
1898
1902
  testExecutionStatus: zod.object({
1899
- id: zod.number().min(1),
1903
+ id: zod.number().min(1).describe("The ID of the entity"),
1900
1904
  self: zod.string().url().optional().describe(
1901
1905
  "The REST API endpoint to get more resource details."
1902
1906
  )
1903
- }).strict(),
1907
+ }).strict().describe("ID and link to the status resource."),
1904
1908
  actualEndDate: zod.string().datetime({}).optional().describe(
1905
1909
  "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1906
1910
  ),
@@ -1924,7 +1928,7 @@ const ListTestExecutionsNextgen200Response = zod.object({
1924
1928
  self: zod.string().url().optional().describe(
1925
1929
  "The REST API endpoint to get more resource details."
1926
1930
  ),
1927
- id: zod.number().min(1).optional()
1931
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1928
1932
  }).strict().nullish(),
1929
1933
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1930
1934
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
@@ -1974,30 +1978,30 @@ const getTestExecution200ResponseExecutionTimeMin = 0;
1974
1978
  const getTestExecution200ResponseExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1975
1979
  const getTestExecution200ResponseAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1976
1980
  const GetTestExecution200Response = zod.object({
1977
- id: zod.number().min(1),
1981
+ id: zod.number().min(1).describe("The ID of the entity"),
1978
1982
  key: zod.string().regex(getTestExecution200ResponseKeyRegExp).optional().describe("Test execution key"),
1979
1983
  project: zod.object({
1980
- id: zod.number().min(1),
1984
+ id: zod.number().min(1).describe("The ID of the entity"),
1981
1985
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1982
1986
  }).strict().describe("ID and link relative to Zephyr project."),
1983
1987
  testCase: zod.object({
1984
1988
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1985
- id: zod.number().min(1).optional()
1989
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1986
1990
  }).strict(),
1987
1991
  environment: zod.object({
1988
- id: zod.number().min(1),
1992
+ id: zod.number().min(1).describe("The ID of the entity"),
1989
1993
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1990
- }).strict().nullish(),
1994
+ }).strict().nullish().describe("ID and link to the environment resource."),
1991
1995
  jiraProjectVersion: zod.object({
1992
- id: zod.number().min(1),
1996
+ id: zod.number().min(1).describe("The ID of the entity"),
1993
1997
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1994
1998
  }).strict().nullish().describe(
1995
1999
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1996
2000
  ),
1997
2001
  testExecutionStatus: zod.object({
1998
- id: zod.number().min(1),
2002
+ id: zod.number().min(1).describe("The ID of the entity"),
1999
2003
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2000
- }).strict(),
2004
+ }).strict().describe("ID and link to the status resource."),
2001
2005
  actualEndDate: zod.string().datetime({}).optional().describe(
2002
2006
  "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
2003
2007
  ),
@@ -2009,7 +2013,7 @@ const GetTestExecution200Response = zod.object({
2009
2013
  automated: zod.boolean().optional().describe("Indicates if the test execution was done manually or not."),
2010
2014
  testCycle: zod.object({
2011
2015
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2012
- id: zod.number().min(1).optional()
2016
+ id: zod.number().min(1).optional().describe("The ID of the entity")
2013
2017
  }).strict().nullish(),
2014
2018
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2015
2019
  "Multi-line text fields support HTML and should denote new lines with the \\<br\\> tag.\nDates should be in the format 'yyyy-MM-dd'.\nUsers should have values of Jira User Account IDs.\n"
@@ -2038,7 +2042,7 @@ zod.object({
2038
2042
  message: zod.string()
2039
2043
  }).strict();
2040
2044
  const updateTestExecutionPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2041
- zod.object({
2045
+ const UpdateTestExecutionParams = zod.object({
2042
2046
  testExecutionIdOrKey: zod.string().regex(updateTestExecutionPathTestExecutionIdOrKeyRegExp).describe(
2043
2047
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2044
2048
  )
@@ -2047,7 +2051,7 @@ const updateTestExecutionBodyStatusNameMax = 255;
2047
2051
  const updateTestExecutionBodyExecutionTimeMin = 0;
2048
2052
  const updateTestExecutionBodyExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
2049
2053
  const updateTestExecutionBodyAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
2050
- zod.object({
2054
+ const UpdateTestExecutionBody = zod.object({
2051
2055
  statusName: zod.string().min(1).max(updateTestExecutionBodyStatusNameMax).optional().describe("The status name."),
2052
2056
  environmentName: zod.string().optional().describe("Environment assigned to the test case."),
2053
2057
  actualEndDate: zod.string().datetime({}).optional().describe(
@@ -2063,7 +2067,7 @@ zod.object({
2063
2067
  message: zod.string()
2064
2068
  }).strict();
2065
2069
  const getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2066
- zod.object({
2070
+ const GetTestExecutionTestStepsParams = zod.object({
2067
2071
  testExecutionIdOrKey: zod.string().regex(getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp).describe(
2068
2072
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2069
2073
  )
@@ -2073,7 +2077,7 @@ const getTestExecutionTestStepsQueryStartAtDefault = 0;
2073
2077
  const getTestExecutionTestStepsQueryStartAtMin = 0;
2074
2078
  const getTestExecutionTestStepsQueryStartAtMax = 1e6;
2075
2079
  const getTestExecutionTestStepsQueryTestDataRowNumberMin = 0;
2076
- zod.object({
2080
+ const GetTestExecutionTestStepsQueryParams = zod.object({
2077
2081
  maxResults: zod.number().min(1).default(getTestExecutionTestStepsQueryMaxResultsDefault).describe(
2078
2082
  "Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.\n\nNote that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.\n"
2079
2083
  ),
@@ -2084,7 +2088,7 @@ zod.object({
2084
2088
  });
2085
2089
  const getTestExecutionTestSteps200ResponseOneStartAtMin = 0;
2086
2090
  const getTestExecutionTestSteps200ResponseOneTotalMin = 0;
2087
- zod.object({
2091
+ const GetTestExecutionTestSteps200Response = zod.object({
2088
2092
  next: zod.string().url().nullish().describe(
2089
2093
  "URL to the next page of results, or null if there are no more results."
2090
2094
  ),
@@ -2101,22 +2105,22 @@ zod.object({
2101
2105
  values: zod.array(
2102
2106
  zod.object({
2103
2107
  inline: zod.object({
2104
- description: zod.string().optional().describe("The instruction to be followed"),
2105
- testData: zod.string().optional().describe(
2108
+ description: zod.string().nullish().describe("The instruction to be followed"),
2109
+ testData: zod.string().nullish().describe(
2106
2110
  "Any test data required to perform the instruction (optional). The fields values provided can be interpolated into the description."
2107
2111
  ),
2108
- expectedResult: zod.string().optional().describe(
2112
+ expectedResult: zod.string().nullish().describe(
2109
2113
  "The expected outcome of executing the instruction"
2110
2114
  ),
2111
- actualResult: zod.string().optional().describe("The actual outcome of executing the instruction"),
2112
- testDataRowNumber: zod.number().optional().describe("The id of the test data row"),
2113
- reflectRef: zod.string().optional().describe("The AI reference. Zephyr only feature"),
2115
+ actualResult: zod.string().nullish().describe("The actual outcome of executing the instruction"),
2116
+ testDataRowNumber: zod.number().nullish().describe("The id of the test data row"),
2117
+ reflectRef: zod.string().nullish().describe("The AI reference. Zephyr only feature"),
2114
2118
  status: zod.object({
2115
- id: zod.number().min(1),
2119
+ id: zod.number().min(1).describe("The ID of the entity"),
2116
2120
  self: zod.string().url().optional().describe(
2117
2121
  "The REST API endpoint to get more resource details."
2118
2122
  )
2119
- }).strict().optional()
2123
+ }).strict().optional().describe("ID and link to the status resource.")
2120
2124
  }).strict().optional()
2121
2125
  }).strict().describe("Inline test step")
2122
2126
  ).optional().describe("The list of test steps")
@@ -2180,12 +2184,12 @@ zod.object({
2180
2184
  message: zod.string()
2181
2185
  }).strict();
2182
2186
  const listTestExecutionLinksPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2183
- zod.object({
2187
+ const ListTestExecutionLinksParams = zod.object({
2184
2188
  testExecutionIdOrKey: zod.string().regex(listTestExecutionLinksPathTestExecutionIdOrKeyRegExp).describe(
2185
2189
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2186
2190
  )
2187
2191
  });
2188
- zod.object({
2192
+ const ListTestExecutionLinks200Response = zod.object({
2189
2193
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2190
2194
  issues: zod.array(
2191
2195
  zod.object({
@@ -2208,12 +2212,12 @@ zod.object({
2208
2212
  message: zod.string()
2209
2213
  }).strict();
2210
2214
  const createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2211
- zod.object({
2215
+ const CreateTestExecutionIssueLinkParams = zod.object({
2212
2216
  testExecutionIdOrKey: zod.string().regex(createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp).describe(
2213
2217
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2214
2218
  )
2215
2219
  });
2216
- zod.object({
2220
+ const CreateTestExecutionIssueLinkBody = zod.object({
2217
2221
  issueId: zod.number().min(1).describe("The Jira issue ID")
2218
2222
  });
2219
2223
  zod.object({
@@ -2315,15 +2319,15 @@ zod.object({
2315
2319
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2316
2320
  values: zod.array(
2317
2321
  zod.object({
2318
- id: zod.number().min(1),
2319
- parentId: zod.number().min(1),
2322
+ id: zod.number().min(1).describe("The ID of the entity"),
2323
+ parentId: zod.number().min(1).describe("The ID of the entity"),
2320
2324
  name: zod.string().min(1).max(listFolders200ResponseTwoValuesItemNameMax).regex(listFolders200ResponseTwoValuesItemNameRegExp),
2321
2325
  index: zod.number().min(listFolders200ResponseTwoValuesItemIndexMin),
2322
2326
  folderType: zod.string().describe(
2323
2327
  'Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`'
2324
2328
  ),
2325
2329
  project: zod.object({
2326
- id: zod.number().min(1),
2330
+ id: zod.number().min(1).describe("The ID of the entity"),
2327
2331
  self: zod.string().url().optional().describe(
2328
2332
  "The REST API endpoint to get more resource details."
2329
2333
  )
@@ -2337,16 +2341,18 @@ zod.object({
2337
2341
  }).strict();
2338
2342
  const createFolderBodyNameMax = 255;
2339
2343
  const createFolderBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2340
- zod.object({
2344
+ const CreateFolderBody = zod.object({
2341
2345
  parentId: zod.number().min(1).optional().describe(
2342
2346
  "Folder ID of the parent folder. Must be `null` for root folders."
2343
2347
  ),
2344
- name: zod.string().min(1).max(createFolderBodyNameMax).describe("Folder name."),
2348
+ name: zod.string().min(1).max(createFolderBodyNameMax).describe(
2349
+ "Folder name. Folder name must not contain `/` and `\\` characters."
2350
+ ),
2345
2351
  projectKey: zod.string().regex(createFolderBodyProjectKeyRegExp).describe("Jira project key."),
2346
2352
  folderType: zod.string().describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`')
2347
2353
  });
2348
- zod.object({
2349
- id: zod.number().min(1).optional(),
2354
+ const CreateFolder201Response = zod.object({
2355
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2350
2356
  self: zod.string().optional()
2351
2357
  }).strict();
2352
2358
  zod.object({
@@ -2360,13 +2366,13 @@ const getFolder200ResponseNameMax = 255;
2360
2366
  const getFolder200ResponseNameRegExp = /^(?!\\s*$).+/;
2361
2367
  const getFolder200ResponseIndexMin = 0;
2362
2368
  zod.object({
2363
- id: zod.number().min(1),
2364
- parentId: zod.number().min(1),
2369
+ id: zod.number().min(1).describe("The ID of the entity"),
2370
+ parentId: zod.number().min(1).describe("The ID of the entity"),
2365
2371
  name: zod.string().min(1).max(getFolder200ResponseNameMax).regex(getFolder200ResponseNameRegExp),
2366
2372
  index: zod.number().min(getFolder200ResponseIndexMin),
2367
2373
  folderType: zod.string().describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`'),
2368
2374
  project: zod.object({
2369
- id: zod.number().min(1),
2375
+ id: zod.number().min(1).describe("The ID of the entity"),
2370
2376
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2371
2377
  }).strict().optional().describe("ID and link relative to Zephyr project.")
2372
2378
  }).strict();
@@ -2411,9 +2417,9 @@ const ListPriorities200Response = zod.object({
2411
2417
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2412
2418
  values: zod.array(
2413
2419
  zod.object({
2414
- id: zod.number().min(1),
2420
+ id: zod.number().min(1).describe("The ID of the entity"),
2415
2421
  project: zod.object({
2416
- id: zod.number().min(1),
2422
+ id: zod.number().min(1).describe("The ID of the entity"),
2417
2423
  self: zod.string().url().optional().describe(
2418
2424
  "The REST API endpoint to get more resource details."
2419
2425
  )
@@ -2441,7 +2447,7 @@ zod.object({
2441
2447
  color: zod.string().regex(createPriorityBodyColorRegExp).optional().describe("A color in hexadecimal format")
2442
2448
  });
2443
2449
  zod.object({
2444
- id: zod.number().min(1).optional(),
2450
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2445
2451
  self: zod.string().optional()
2446
2452
  }).strict();
2447
2453
  zod.object({
@@ -2457,9 +2463,9 @@ const getPriority200ResponseOneIndexMin = 0;
2457
2463
  const getPriority200ResponseTwoColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2458
2464
  const getPriority200ResponseTwoDefaultDefault = false;
2459
2465
  zod.object({
2460
- id: zod.number().min(1),
2466
+ id: zod.number().min(1).describe("The ID of the entity"),
2461
2467
  project: zod.object({
2462
- id: zod.number().min(1),
2468
+ id: zod.number().min(1).describe("The ID of the entity"),
2463
2469
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2464
2470
  }).strict().describe("ID and link relative to Zephyr project."),
2465
2471
  name: zod.string().min(1).max(getPriority200ResponseOneNameMax).regex(getPriority200ResponseOneNameRegExp),
@@ -2484,10 +2490,10 @@ const updatePriorityBodyDescriptionMax = 255;
2484
2490
  const updatePriorityBodyIndexMin = 0;
2485
2491
  const updatePriorityBodyColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2486
2492
  zod.object({
2487
- id: zod.number().min(1),
2493
+ id: zod.number().min(1).describe("The ID of the entity"),
2488
2494
  project: zod.object({
2489
- id: zod.number().min(1)
2490
- }).describe("The ID of the resource").and(
2495
+ id: zod.number().min(1).describe("The ID of the entity")
2496
+ }).and(
2491
2497
  zod.object({
2492
2498
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2493
2499
  })
@@ -2540,9 +2546,9 @@ const ListStatuses200Response = zod.object({
2540
2546
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2541
2547
  values: zod.array(
2542
2548
  zod.object({
2543
- id: zod.number().min(1),
2549
+ id: zod.number().min(1).describe("The ID of the entity"),
2544
2550
  project: zod.object({
2545
- id: zod.number().min(1),
2551
+ id: zod.number().min(1).describe("The ID of the entity"),
2546
2552
  self: zod.string().url().optional().describe(
2547
2553
  "The REST API endpoint to get more resource details."
2548
2554
  )
@@ -2574,7 +2580,7 @@ zod.object({
2574
2580
  color: zod.string().regex(createStatusBodyColorRegExp).optional().describe("A color in hexadecimal format")
2575
2581
  });
2576
2582
  zod.object({
2577
- id: zod.number().min(1).optional(),
2583
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2578
2584
  self: zod.string().optional()
2579
2585
  }).strict();
2580
2586
  zod.object({
@@ -2590,9 +2596,9 @@ const getStatus200ResponseOneIndexMin = 0;
2590
2596
  const getStatus200ResponseTwoArchivedDefault = false;
2591
2597
  const getStatus200ResponseTwoDefaultDefault = false;
2592
2598
  zod.object({
2593
- id: zod.number().min(1),
2599
+ id: zod.number().min(1).describe("The ID of the entity"),
2594
2600
  project: zod.object({
2595
- id: zod.number().min(1),
2601
+ id: zod.number().min(1).describe("The ID of the entity"),
2596
2602
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2597
2603
  }).strict().describe("ID and link relative to Zephyr project."),
2598
2604
  name: zod.string().min(1).max(getStatus200ResponseOneNameMax).regex(getStatus200ResponseOneNameRegExp),
@@ -2620,10 +2626,10 @@ const updateStatusBodyDescriptionMax = 255;
2620
2626
  const updateStatusBodyIndexMin = 0;
2621
2627
  const updateStatusBodyColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2622
2628
  zod.object({
2623
- id: zod.number().min(1),
2629
+ id: zod.number().min(1).describe("The ID of the entity"),
2624
2630
  project: zod.object({
2625
- id: zod.number().min(1)
2626
- }).describe("The ID of the resource").and(
2631
+ id: zod.number().min(1).describe("The ID of the entity")
2632
+ }).and(
2627
2633
  zod.object({
2628
2634
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2629
2635
  })
@@ -2675,9 +2681,9 @@ const ListEnvironments200Response = zod.object({
2675
2681
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2676
2682
  values: zod.array(
2677
2683
  zod.object({
2678
- id: zod.number().min(1),
2684
+ id: zod.number().min(1).describe("The ID of the entity"),
2679
2685
  project: zod.object({
2680
- id: zod.number().min(1),
2686
+ id: zod.number().min(1).describe("The ID of the entity"),
2681
2687
  self: zod.string().url().optional().describe(
2682
2688
  "The REST API endpoint to get more resource details."
2683
2689
  )
@@ -2704,7 +2710,7 @@ zod.object({
2704
2710
  description: zod.string().min(1).max(createEnvironmentBodyDescriptionMax).optional().describe("The environment description.")
2705
2711
  });
2706
2712
  zod.object({
2707
- id: zod.number().min(1).optional(),
2713
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2708
2714
  self: zod.string().optional()
2709
2715
  }).strict();
2710
2716
  zod.union([
@@ -2737,9 +2743,9 @@ const getEnvironment200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2737
2743
  const getEnvironment200ResponseOneIndexMin = 0;
2738
2744
  const getEnvironment200ResponseTwoArchivedDefault = false;
2739
2745
  zod.object({
2740
- id: zod.number().min(1),
2746
+ id: zod.number().min(1).describe("The ID of the entity"),
2741
2747
  project: zod.object({
2742
- id: zod.number().min(1),
2748
+ id: zod.number().min(1).describe("The ID of the entity"),
2743
2749
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2744
2750
  }).strict().describe("ID and link relative to Zephyr project."),
2745
2751
  name: zod.string().min(1).max(getEnvironment200ResponseOneNameMax).regex(getEnvironment200ResponseOneNameRegExp),
@@ -2762,10 +2768,10 @@ const updateEnvironmentBodyNameMax = 255;
2762
2768
  const updateEnvironmentBodyDescriptionMax = 255;
2763
2769
  const updateEnvironmentBodyIndexMin = 0;
2764
2770
  zod.object({
2765
- id: zod.number().min(1),
2771
+ id: zod.number().min(1).describe("The ID of the entity"),
2766
2772
  project: zod.object({
2767
- id: zod.number().min(1)
2768
- }).describe("The ID of the resource").and(
2773
+ id: zod.number().min(1).describe("The ID of the entity")
2774
+ }).and(
2769
2775
  zod.object({
2770
2776
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2771
2777
  })
@@ -2808,7 +2814,7 @@ zod.object({
2808
2814
  message: zod.string()
2809
2815
  }).strict();
2810
2816
  const getIssueLinkTestCasesPathIssueKeyRegExp = /.+-[0-9]+/;
2811
- zod.object({
2817
+ const GetIssueLinkTestCasesParams = zod.object({
2812
2818
  issueKey: zod.string().regex(getIssueLinkTestCasesPathIssueKeyRegExp).describe("The key of the Jira issue")
2813
2819
  });
2814
2820
  const GetIssueLinkTestCases200ResponseItem = zod.object({
@@ -2816,7 +2822,7 @@ const GetIssueLinkTestCases200ResponseItem = zod.object({
2816
2822
  version: zod.number().optional(),
2817
2823
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2818
2824
  }).strict();
2819
- zod.array(
2825
+ const GetIssueLinkTestCases200Response = zod.array(
2820
2826
  GetIssueLinkTestCases200ResponseItem
2821
2827
  );
2822
2828
  zod.object({
@@ -2824,14 +2830,14 @@ zod.object({
2824
2830
  message: zod.string()
2825
2831
  }).strict();
2826
2832
  const getIssueLinkTestCyclesPathIssueKeyRegExp = /.+-[0-9]+/;
2827
- zod.object({
2833
+ const GetIssueLinkTestCyclesParams = zod.object({
2828
2834
  issueKey: zod.string().regex(getIssueLinkTestCyclesPathIssueKeyRegExp).describe("The key of the Jira issue")
2829
2835
  });
2830
2836
  const GetIssueLinkTestCycles200ResponseItem = zod.object({
2831
- id: zod.number().min(1),
2837
+ id: zod.number().min(1).describe("The ID of the entity"),
2832
2838
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2833
- }).strict();
2834
- zod.array(
2839
+ }).strict().describe("ID and link to the test cycle resource.");
2840
+ const GetIssueLinkTestCycles200Response = zod.array(
2835
2841
  GetIssueLinkTestCycles200ResponseItem
2836
2842
  );
2837
2843
  zod.object({
@@ -2843,9 +2849,9 @@ zod.object({
2843
2849
  issueKey: zod.string().regex(getIssueLinkTestPlansPathIssueKeyRegExp).describe("The key of the Jira issue")
2844
2850
  });
2845
2851
  const GetIssueLinkTestPlans200ResponseItem = zod.object({
2846
- id: zod.number().min(1),
2852
+ id: zod.number().min(1).describe("The ID of the entity"),
2847
2853
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2848
- }).strict();
2854
+ }).strict().describe("ID and link to the test plan resource.");
2849
2855
  zod.array(
2850
2856
  GetIssueLinkTestPlans200ResponseItem
2851
2857
  );
@@ -2854,14 +2860,14 @@ zod.object({
2854
2860
  message: zod.string()
2855
2861
  }).strict();
2856
2862
  const getIssueLinkTestExecutionsPathIssueKeyRegExp = /.+-[0-9]+/;
2857
- zod.object({
2863
+ const GetIssueLinkTestExecutionsParams = zod.object({
2858
2864
  issueKey: zod.string().regex(getIssueLinkTestExecutionsPathIssueKeyRegExp).describe("The key of the Jira issue")
2859
2865
  });
2860
2866
  const GetIssueLinkTestExecutions200ResponseItem = zod.object({
2861
- id: zod.number().min(1),
2867
+ id: zod.number().min(1).describe("The ID of the entity"),
2862
2868
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2863
- }).strict();
2864
- zod.array(
2869
+ }).strict().describe("ID and link to the test execution resource.");
2870
+ const GetIssueLinkTestExecutions200Response = zod.array(
2865
2871
  GetIssueLinkTestExecutions200ResponseItem
2866
2872
  );
2867
2873
  zod.object({
@@ -3007,27 +3013,62 @@ zod.object({
3007
3013
  message: zod.string()
3008
3014
  }).strict();
3009
3015
  export {
3016
+ CreateFolder201Response,
3017
+ CreateFolderBody,
3010
3018
  CreateTestCase201Response,
3011
3019
  CreateTestCaseBody,
3020
+ CreateTestCaseIssueLink201Response,
3021
+ CreateTestCaseIssueLinkBody,
3022
+ CreateTestCaseIssueLinkParams,
3023
+ CreateTestCaseTestScript201Response,
3024
+ CreateTestCaseTestScriptBody,
3025
+ CreateTestCaseTestScriptParams,
3026
+ CreateTestCaseTestSteps201Response,
3027
+ CreateTestCaseTestStepsBody,
3028
+ CreateTestCaseTestStepsParams,
3012
3029
  CreateTestCaseWebLink201Response,
3013
3030
  CreateTestCaseWebLinkBody,
3014
3031
  CreateTestCaseWebLinkParams,
3015
3032
  CreateTestCycle201Response,
3016
3033
  CreateTestCycleBody,
3034
+ CreateTestCycleIssueLinkBody,
3035
+ CreateTestCycleIssueLinkParams,
3036
+ CreateTestCycleWebLinkBody,
3037
+ CreateTestCycleWebLinkParams,
3017
3038
  CreateTestExecution201Response,
3018
3039
  CreateTestExecutionBody,
3040
+ CreateTestExecutionIssueLinkBody,
3041
+ CreateTestExecutionIssueLinkParams,
3042
+ GetIssueLinkTestCases200Response,
3019
3043
  GetIssueLinkTestCases200ResponseItem,
3044
+ GetIssueLinkTestCasesParams,
3045
+ GetIssueLinkTestCycles200Response,
3020
3046
  GetIssueLinkTestCycles200ResponseItem,
3047
+ GetIssueLinkTestCyclesParams,
3048
+ GetIssueLinkTestExecutions200Response,
3021
3049
  GetIssueLinkTestExecutions200ResponseItem,
3050
+ GetIssueLinkTestExecutionsParams,
3022
3051
  GetIssueLinkTestPlans200ResponseItem,
3023
3052
  GetProject200Response,
3024
3053
  GetProjectParams,
3025
3054
  GetTestCase200Response,
3055
+ GetTestCaseLinks200Response,
3056
+ GetTestCaseLinksParams,
3026
3057
  GetTestCaseParams,
3058
+ GetTestCaseTestScript200Response,
3059
+ GetTestCaseTestScriptParams,
3060
+ GetTestCaseTestSteps200Response,
3061
+ GetTestCaseTestStepsParams,
3062
+ GetTestCaseTestStepsQueryParams,
3027
3063
  GetTestCycle200Response,
3064
+ GetTestCycleLinks200Response,
3065
+ GetTestCycleLinksParams,
3028
3066
  GetTestCycleParams,
3029
3067
  GetTestExecution200Response,
3030
3068
  GetTestExecutionParams,
3069
+ GetTestExecutionTestSteps200Response,
3070
+ GetTestExecutionTestStepsParams,
3071
+ GetTestExecutionTestStepsQueryParams,
3031
3072
  ListEnvironments200Response,
3032
3073
  ListEnvironmentsQueryParams,
3033
3074
  ListPriorities200Response,
@@ -3040,12 +3081,16 @@ export {
3040
3081
  ListTestCasesCursorPaginatedQueryParams,
3041
3082
  ListTestCycles200Response,
3042
3083
  ListTestCyclesQueryParams,
3084
+ ListTestExecutionLinks200Response,
3085
+ ListTestExecutionLinksParams,
3043
3086
  ListTestExecutionsNextgen200Response,
3044
3087
  ListTestExecutionsNextgenQueryParams,
3045
3088
  UpdateTestCaseBody,
3046
3089
  UpdateTestCaseParams,
3047
3090
  UpdateTestCycleBody,
3048
3091
  UpdateTestCycleParams,
3092
+ UpdateTestExecutionBody,
3093
+ UpdateTestExecutionParams,
3049
3094
  createCucumberExecutions200ResponseTestCycleKeyRegExp,
3050
3095
  createCucumberExecutionsBodyTestCycleNameMax,
3051
3096
  createCucumberExecutionsBodyTestCycleNameRegExp,