@smartbear/mcp 0.14.1 → 0.16.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 (68) hide show
  1. package/README.md +1 -1
  2. package/dist/bugsnag/client.js +47 -1340
  3. package/dist/bugsnag/input-schemas.js +18 -18
  4. package/dist/bugsnag/tool/error/get-error.js +98 -0
  5. package/dist/bugsnag/tool/error/list-project-errors.js +102 -0
  6. package/dist/bugsnag/tool/error/update-error.js +256 -0
  7. package/dist/bugsnag/tool/event/get-event-details-from-dashboard-url.js +55 -0
  8. package/dist/bugsnag/tool/event/get-event.js +38 -0
  9. package/dist/bugsnag/tool/performance/get-network-endpoint-groupings.js +46 -0
  10. package/dist/bugsnag/tool/performance/get-span-group.js +73 -0
  11. package/dist/bugsnag/tool/performance/get-trace.js +83 -0
  12. package/dist/bugsnag/tool/performance/list-span-groups.js +111 -0
  13. package/dist/bugsnag/tool/performance/list-spans.js +97 -0
  14. package/dist/bugsnag/tool/performance/list-trace-fields.js +41 -0
  15. package/dist/bugsnag/tool/performance/set-network-endpoint-groupings.js +90 -0
  16. package/dist/bugsnag/tool/project/get-current-project.js +31 -0
  17. package/dist/bugsnag/tool/project/list-project-event-filters.js +42 -0
  18. package/dist/bugsnag/tool/project/list-projects.js +43 -0
  19. package/dist/bugsnag/tool/release/get-build.js +50 -0
  20. package/dist/bugsnag/tool/release/get-release.js +68 -0
  21. package/dist/bugsnag/tool/release/list-releases.js +88 -0
  22. package/dist/common/prompts.js +9 -0
  23. package/dist/common/server.js +16 -0
  24. package/dist/common/transport-http.js +2 -0
  25. package/dist/package.json.js +1 -1
  26. package/dist/qmetry/client/api/client-api.js +2 -1
  27. package/dist/qmetry/client/automation.js +2 -1
  28. package/dist/qmetry/client/tools/testcase-tools.js +269 -1
  29. package/dist/qmetry/client/tools/testsuite-tools.js +1 -1
  30. package/dist/reflect/client.js +82 -255
  31. package/dist/reflect/config/constants.js +8 -0
  32. package/dist/reflect/prompt/sap-test.js +29 -0
  33. package/dist/reflect/tool/recording/add-prompt-step.js +60 -0
  34. package/dist/reflect/tool/recording/add-segment.js +56 -0
  35. package/dist/reflect/tool/recording/connect-to-session.js +89 -0
  36. package/dist/reflect/tool/recording/delete-previous-step.js +47 -0
  37. package/dist/reflect/tool/recording/get-screenshot.js +55 -0
  38. package/dist/reflect/tool/suites/cancel-suite-execution.js +50 -0
  39. package/dist/reflect/tool/suites/execute-suite.js +40 -0
  40. package/dist/reflect/tool/suites/get-suite-execution-status.js +50 -0
  41. package/dist/reflect/tool/suites/list-suite-executions.js +40 -0
  42. package/dist/reflect/tool/suites/list-suites.js +27 -0
  43. package/dist/reflect/tool/tests/get-test-status.js +42 -0
  44. package/dist/reflect/tool/tests/list-segments.js +68 -0
  45. package/dist/reflect/tool/tests/list-tests.js +27 -0
  46. package/dist/reflect/tool/tests/run-test.js +40 -0
  47. package/dist/reflect/websocket-manager.js +92 -0
  48. package/dist/zephyr/client.js +35 -1
  49. package/dist/zephyr/common/rest-api-schemas.js +463 -477
  50. package/dist/zephyr/tool/folder/create-folder.js +55 -0
  51. package/dist/zephyr/tool/issue-link/get-test-cases.js +33 -0
  52. package/dist/zephyr/tool/issue-link/get-test-cycles.js +32 -0
  53. package/dist/zephyr/tool/issue-link/get-test-executions.js +32 -0
  54. package/dist/zephyr/tool/test-case/create-issue-link.js +38 -0
  55. package/dist/zephyr/tool/test-case/create-test-script.js +57 -0
  56. package/dist/zephyr/tool/test-case/create-test-steps.js +91 -0
  57. package/dist/zephyr/tool/test-case/create-web-link.js +5 -2
  58. package/dist/zephyr/tool/test-case/get-links.js +32 -0
  59. package/dist/zephyr/tool/test-case/get-test-script.js +46 -0
  60. package/dist/zephyr/tool/test-case/get-test-steps.js +56 -0
  61. package/dist/zephyr/tool/test-cycle/create-issue-link.js +45 -0
  62. package/dist/zephyr/tool/test-cycle/create-web-link.js +56 -0
  63. package/dist/zephyr/tool/test-cycle/get-links.js +39 -0
  64. package/dist/zephyr/tool/test-execution/create-issue-link.js +45 -0
  65. package/dist/zephyr/tool/test-execution/get-test-execution-links.js +39 -0
  66. package/dist/zephyr/tool/test-execution/get-test-steps.js +75 -0
  67. package/dist/zephyr/tool/test-execution/update-test-execution.js +73 -0
  68. package/package.json +11 -9
@@ -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
@@ -116,11 +116,11 @@ zod.object({
116
116
  webLinks: zod.array(
117
117
  zod.object({
118
118
  description: zod.string().optional().describe("The web link description"),
119
- url: zod.string().url().describe("The web link URL"),
119
+ url: zod.string().describe("The web link URL"),
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")
@@ -156,9 +156,9 @@ const CreateTestCaseBody = zod.object({
156
156
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
157
157
  "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"
158
158
  )
159
- });
159
+ }).strict();
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
@@ -279,11 +279,11 @@ const ListTestCasesCursorPaginated200Response = zod.object({
279
279
  webLinks: zod.array(
280
280
  zod.object({
281
281
  description: zod.string().optional().describe("The web link description"),
282
- url: zod.string().url().describe("The web link URL"),
282
+ url: zod.string().describe("The web link URL"),
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")
@@ -300,7 +300,7 @@ const GetTestCaseParams = zod.object({
300
300
  testCaseKey: zod.string().regex(getTestCasePathTestCaseKeyRegExp).describe(
301
301
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
302
302
  )
303
- });
303
+ }).strict();
304
304
  const getTestCase200ResponseKeyRegExp = /.+-T[0-9]+/;
305
305
  const getTestCase200ResponseNameMax = 255;
306
306
  const getTestCase200ResponseNameRegExp = /^(?!\\s*$).+/;
@@ -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(
@@ -370,11 +370,11 @@ const GetTestCase200Response = zod.object({
370
370
  webLinks: zod.array(
371
371
  zod.object({
372
372
  description: zod.string().optional().describe("The web link description"),
373
- url: zod.string().url().describe("The web link URL"),
373
+ url: zod.string().describe("The web link URL"),
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")
@@ -389,7 +389,7 @@ const UpdateTestCaseParams = zod.object({
389
389
  testCaseKey: zod.string().regex(updateTestCasePathTestCaseKeyRegExp).describe(
390
390
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
391
391
  )
392
- });
392
+ }).strict();
393
393
  const updateTestCaseBodyKeyRegExp = /.+-T[0-9]+/;
394
394
  const updateTestCaseBodyNameMax = 255;
395
395
  const updateTestCaseBodyNameRegExp = /^(?!\\s*$).+/;
@@ -397,16 +397,13 @@ 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(
406
- zod.object({
407
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
408
- })
409
- ).describe("ID and link relative to Zephyr project."),
404
+ id: zod.number().min(1).describe("The ID of the entity"),
405
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
406
+ }).strict().describe("ID and link relative to Zephyr project."),
410
407
  createdOn: zod.string().datetime({}).optional().describe(
411
408
  "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"
412
409
  ),
@@ -415,95 +412,74 @@ const UpdateTestCaseBody = zod.object({
415
412
  estimatedTime: zod.number().min(updateTestCaseBodyEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
416
413
  labels: zod.array(zod.string()).max(updateTestCaseBodyLabelsMax).optional().describe("Array of labels associated to this entity."),
417
414
  component: zod.object({
418
- id: zod.number().min(1)
419
- }).describe("The ID of the resource").and(
420
- zod.object({
421
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
422
- })
423
- ).nullish(),
415
+ id: zod.number().min(1).describe("The ID of the entity"),
416
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
417
+ }).strict().nullish().describe("ID and link to the Jira component resource."),
424
418
  priority: zod.object({
425
- id: zod.number().min(1)
426
- }).describe("The ID of the resource").and(
427
- zod.object({
428
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
429
- })
430
- ),
419
+ id: zod.number().min(1).describe("The ID of the entity"),
420
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
421
+ }).strict().describe("ID and link to the priority resource."),
431
422
  status: zod.object({
432
- id: zod.number().min(1)
433
- }).describe("The ID of the resource").and(
434
- zod.object({
435
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
436
- })
437
- ),
423
+ id: zod.number().min(1).describe("The ID of the entity"),
424
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
425
+ }).strict().describe("ID and link to the status resource."),
438
426
  folder: zod.object({
439
- id: zod.number().min(1)
440
- }).describe("The ID of the resource").and(
441
- zod.object({
442
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
443
- })
444
- ).nullish(),
427
+ id: zod.number().min(1).describe("The ID of the entity"),
428
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
429
+ }).strict().nullish().describe("ID and link to the folder resource."),
445
430
  owner: zod.object({
446
431
  accountId: zod.string().regex(updateTestCaseBodyOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
447
432
  self: zod.string().url().optional().describe(
448
433
  "The Jira REST API endpoint to get the full representation of the Jira user."
449
434
  )
450
- }).nullish(),
435
+ }).strict().nullish(),
451
436
  testScript: zod.object({
452
437
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
453
- }).optional(),
438
+ }).strict().optional(),
454
439
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
455
440
  "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"
456
441
  ),
457
442
  links: zod.object({
458
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
459
- }).and(
460
- zod.object({
461
- issues: zod.array(
462
- zod.object({
463
- issueId: zod.number().min(1).describe("The Jira issue ID")
464
- }).and(
465
- zod.object({
466
- self: zod.string().url().optional().describe(
467
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
468
- ),
469
- id: zod.number().min(1).optional().describe(
470
- "The ID that represents the link between the entity and the Jira issue."
471
- ),
472
- target: zod.string().url().optional().describe(
473
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
474
- ),
475
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
476
- })
477
- )
478
- ).optional().describe("A list of Jira issues linked to this entity"),
479
- webLinks: zod.array(
480
- zod.object({
481
- description: zod.string().optional().describe("The web link description"),
482
- url: zod.string().url().describe("The web link URL")
483
- }).and(
484
- zod.object({
485
- self: zod.string().url().optional().describe(
486
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
487
- ),
488
- id: zod.number().min(1).optional(),
489
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
490
- })
491
- )
492
- ).optional().describe("A list of web links for this entity")
493
- })
494
- ).optional().describe("This property is ignored on updates.")
495
- });
443
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
444
+ issues: zod.array(
445
+ zod.object({
446
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
447
+ self: zod.string().url().optional().describe(
448
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
449
+ ),
450
+ id: zod.number().min(1).optional().describe(
451
+ "The ID that represents the link between the entity and the Jira issue."
452
+ ),
453
+ target: zod.string().url().optional().describe(
454
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
455
+ ),
456
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
457
+ }).strict()
458
+ ).optional().describe("A list of Jira issues linked to this entity"),
459
+ webLinks: zod.array(
460
+ zod.object({
461
+ description: zod.string().optional().describe("The web link description"),
462
+ url: zod.string().describe("The web link URL"),
463
+ self: zod.string().url().optional().describe(
464
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
465
+ ),
466
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
467
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
468
+ }).strict()
469
+ ).optional().describe("A list of web links for this entity")
470
+ }).strict().optional().describe("This property is ignored on updates.")
471
+ }).strict();
496
472
  zod.object({
497
473
  errorCode: zod.number(),
498
474
  message: zod.string()
499
475
  }).strict();
500
476
  const getTestCaseLinksPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
501
- zod.object({
477
+ const GetTestCaseLinksParams = zod.object({
502
478
  testCaseKey: zod.string().regex(getTestCaseLinksPathTestCaseKeyRegExp).describe(
503
479
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
504
480
  )
505
- });
506
- zod.object({
481
+ }).strict();
482
+ const GetTestCaseLinks200Response = zod.object({
507
483
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
508
484
  issues: zod.array(
509
485
  zod.object({
@@ -523,11 +499,11 @@ zod.object({
523
499
  webLinks: zod.array(
524
500
  zod.object({
525
501
  description: zod.string().optional().describe("The web link description"),
526
- url: zod.string().url().describe("The web link URL"),
502
+ url: zod.string().describe("The web link URL"),
527
503
  self: zod.string().url().optional().describe(
528
504
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
529
505
  ),
530
- id: zod.number().min(1).optional(),
506
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
531
507
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
532
508
  }).strict()
533
509
  ).optional().describe("A list of web links for this entity")
@@ -537,16 +513,16 @@ zod.object({
537
513
  message: zod.string()
538
514
  }).strict();
539
515
  const createTestCaseIssueLinkPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
540
- zod.object({
516
+ const CreateTestCaseIssueLinkParams = zod.object({
541
517
  testCaseKey: zod.string().regex(createTestCaseIssueLinkPathTestCaseKeyRegExp).describe(
542
518
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
543
519
  )
544
- });
545
- zod.object({
520
+ }).strict();
521
+ const CreateTestCaseIssueLinkBody = zod.object({
546
522
  issueId: zod.number().min(1).describe("The Jira issue ID")
547
- });
548
- zod.object({
549
- id: zod.number().min(1).optional(),
523
+ }).strict();
524
+ const CreateTestCaseIssueLink201Response = zod.object({
525
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
550
526
  self: zod.string().optional()
551
527
  }).strict();
552
528
  zod.object({
@@ -558,13 +534,13 @@ const CreateTestCaseWebLinkParams = zod.object({
558
534
  testCaseKey: zod.string().regex(createTestCaseWebLinkPathTestCaseKeyRegExp).describe(
559
535
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
560
536
  )
561
- });
537
+ }).strict();
562
538
  const CreateTestCaseWebLinkBody = zod.object({
563
539
  description: zod.string().optional().describe("The web link description"),
564
- url: zod.string().url().describe("The web link URL")
565
- });
540
+ url: zod.string().describe("The web link URL")
541
+ }).strict();
566
542
  const CreateTestCaseWebLink201Response = zod.object({
567
- id: zod.number().min(1).optional(),
543
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
568
544
  self: zod.string().optional()
569
545
  }).strict();
570
546
  zod.object({
@@ -576,7 +552,7 @@ zod.object({
576
552
  testCaseKey: zod.string().regex(listTestCaseVersionsPathTestCaseKeyRegExp).describe(
577
553
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
578
554
  )
579
- });
555
+ }).strict();
580
556
  const listTestCaseVersionsQueryMaxResultsDefault = 10;
581
557
  const listTestCaseVersionsQueryStartAtDefault = 0;
582
558
  const listTestCaseVersionsQueryStartAtMin = 0;
@@ -608,7 +584,7 @@ zod.object({
608
584
  values: zod.array(
609
585
  zod.object({
610
586
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
611
- id: zod.number().min(1).optional()
587
+ id: zod.number().min(1).optional().describe("The ID of the entity")
612
588
  }).strict()
613
589
  ).optional().describe("A list of versions for a test case")
614
590
  }).strict();
@@ -622,7 +598,7 @@ zod.object({
622
598
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
623
599
  ),
624
600
  version: zod.number().describe("Version of the test case to retrieve.")
625
- });
601
+ }).strict();
626
602
  const getTestCaseVersion200ResponseKeyRegExp = /.+-T[0-9]+/;
627
603
  const getTestCaseVersion200ResponseNameMax = 255;
628
604
  const getTestCaseVersion200ResponseNameRegExp = /^(?!\\s*$).+/;
@@ -630,11 +606,11 @@ const getTestCaseVersion200ResponseEstimatedTimeMin = 0;
630
606
  const getTestCaseVersion200ResponseLabelsMax = 50;
631
607
  const getTestCaseVersion200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
632
608
  zod.object({
633
- id: zod.number().min(1),
609
+ id: zod.number().min(1).describe("The ID of the entity"),
634
610
  key: zod.string().regex(getTestCaseVersion200ResponseKeyRegExp).describe("The test case key"),
635
611
  name: zod.string().min(1).max(getTestCaseVersion200ResponseNameMax).regex(getTestCaseVersion200ResponseNameRegExp),
636
612
  project: zod.object({
637
- id: zod.number().min(1),
613
+ id: zod.number().min(1).describe("The ID of the entity"),
638
614
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
639
615
  }).strict().describe("ID and link relative to Zephyr project."),
640
616
  createdOn: zod.string().datetime({}).optional().describe(
@@ -645,21 +621,21 @@ zod.object({
645
621
  estimatedTime: zod.number().min(getTestCaseVersion200ResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
646
622
  labels: zod.array(zod.string()).max(getTestCaseVersion200ResponseLabelsMax).optional().describe("Array of labels associated to this entity."),
647
623
  component: zod.object({
648
- id: zod.number().min(1),
624
+ id: zod.number().min(1).describe("The ID of the entity"),
649
625
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
650
- }).strict().nullish(),
626
+ }).strict().nullish().describe("ID and link to the Jira component resource."),
651
627
  priority: zod.object({
652
- id: zod.number().min(1),
628
+ id: zod.number().min(1).describe("The ID of the entity"),
653
629
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
654
- }).strict(),
630
+ }).strict().describe("ID and link to the priority resource."),
655
631
  status: zod.object({
656
- id: zod.number().min(1),
632
+ id: zod.number().min(1).describe("The ID of the entity"),
657
633
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
658
- }).strict(),
634
+ }).strict().describe("ID and link to the status resource."),
659
635
  folder: zod.object({
660
- id: zod.number().min(1),
636
+ id: zod.number().min(1).describe("The ID of the entity"),
661
637
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
662
- }).strict().nullish(),
638
+ }).strict().nullish().describe("ID and link to the folder resource."),
663
639
  owner: zod.object({
664
640
  accountId: zod.string().regex(getTestCaseVersion200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
665
641
  self: zod.string().url().optional().describe(
@@ -692,11 +668,11 @@ zod.object({
692
668
  webLinks: zod.array(
693
669
  zod.object({
694
670
  description: zod.string().optional().describe("The web link description"),
695
- url: zod.string().url().describe("The web link URL"),
671
+ url: zod.string().describe("The web link URL"),
696
672
  self: zod.string().url().optional().describe(
697
673
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
698
674
  ),
699
- id: zod.number().min(1).optional(),
675
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
700
676
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
701
677
  }).strict()
702
678
  ).optional().describe("A list of web links for this entity")
@@ -707,36 +683,36 @@ zod.object({
707
683
  message: zod.string()
708
684
  }).strict();
709
685
  const getTestCaseTestScriptPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
710
- zod.object({
686
+ const GetTestCaseTestScriptParams = zod.object({
711
687
  testCaseKey: zod.string().regex(getTestCaseTestScriptPathTestCaseKeyRegExp).describe(
712
688
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
713
689
  )
714
- });
715
- zod.object({
690
+ }).strict();
691
+ const GetTestCaseTestScript200Response = zod.object({
716
692
  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."
693
+ "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
694
  ),
719
695
  text: zod.string().min(1),
720
- id: zod.number().min(1).optional()
696
+ id: zod.number().min(1).optional().describe("The ID of the entity")
721
697
  }).strict().describe("Response body when retrieving test scripts");
722
698
  zod.object({
723
699
  errorCode: zod.number(),
724
700
  message: zod.string()
725
701
  }).strict();
726
702
  const createTestCaseTestScriptPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
727
- zod.object({
703
+ const CreateTestCaseTestScriptParams = zod.object({
728
704
  testCaseKey: zod.string().regex(createTestCaseTestScriptPathTestCaseKeyRegExp).describe(
729
705
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
730
706
  )
731
- });
732
- zod.object({
707
+ }).strict();
708
+ const CreateTestCaseTestScriptBody = zod.object({
733
709
  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."
710
+ "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
711
  ),
736
712
  text: zod.string().min(1)
737
- }).describe("Request body for creating test scripts");
738
- zod.object({
739
- id: zod.number().min(1).optional(),
713
+ }).strict().describe("Request body for creating test scripts");
714
+ const CreateTestCaseTestScript201Response = zod.object({
715
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
740
716
  self: zod.string().optional()
741
717
  }).strict();
742
718
  zod.object({
@@ -744,16 +720,16 @@ zod.object({
744
720
  message: zod.string()
745
721
  }).strict();
746
722
  const getTestCaseTestStepsPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
747
- zod.object({
723
+ const GetTestCaseTestStepsParams = zod.object({
748
724
  testCaseKey: zod.string().regex(getTestCaseTestStepsPathTestCaseKeyRegExp).describe(
749
725
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
750
726
  )
751
- });
727
+ }).strict();
752
728
  const getTestCaseTestStepsQueryMaxResultsDefault = 10;
753
729
  const getTestCaseTestStepsQueryStartAtDefault = 0;
754
730
  const getTestCaseTestStepsQueryStartAtMin = 0;
755
731
  const getTestCaseTestStepsQueryStartAtMax = 1e6;
756
- zod.object({
732
+ const GetTestCaseTestStepsQueryParams = zod.object({
757
733
  maxResults: zod.number().min(1).default(getTestCaseTestStepsQueryMaxResultsDefault).describe(
758
734
  "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
735
  ),
@@ -764,7 +740,7 @@ zod.object({
764
740
  const getTestCaseTestSteps200ResponseOneStartAtMin = 0;
765
741
  const getTestCaseTestSteps200ResponseOneTotalMin = 0;
766
742
  const getTestCaseTestSteps200ResponseTwoValuesItemTestCaseTwoTestCaseKeyRegExp = /(.+-T[0-9]+)/;
767
- zod.object({
743
+ const GetTestCaseTestSteps200Response = zod.object({
768
744
  next: zod.string().url().nullish().describe(
769
745
  "URL to the next page of results, or null if there are no more results."
770
746
  ),
@@ -822,13 +798,13 @@ zod.object({
822
798
  message: zod.string()
823
799
  }).strict();
824
800
  const createTestCaseTestStepsPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
825
- zod.object({
801
+ const CreateTestCaseTestStepsParams = zod.object({
826
802
  testCaseKey: zod.string().regex(createTestCaseTestStepsPathTestCaseKeyRegExp).describe(
827
803
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
828
804
  )
829
- });
805
+ }).strict();
830
806
  const createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp = /(.+-T[0-9]+)/;
831
- zod.object({
807
+ const CreateTestCaseTestStepsBody = zod.object({
832
808
  mode: zod.string().describe(
833
809
  '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
810
  ),
@@ -846,42 +822,37 @@ zod.object({
846
822
  "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"
847
823
  ),
848
824
  reflectRef: zod.string().optional().describe("The AI reference. Zephyr only feature")
849
- }).optional(),
825
+ }).strict().optional(),
850
826
  testCase: zod.object({
851
827
  self: zod.string().url().optional().describe(
852
828
  "The REST API endpoint to get more resource details."
853
- )
854
- }).and(
855
- zod.object({
856
- testCaseKey: zod.string().regex(
857
- createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp
858
- ).optional().describe(
859
- "The key of the other test case that the test step should delegate execution to. This cannot be the parent test case."
860
- ),
861
- parameters: zod.array(
862
- zod.object({
863
- name: zod.string().optional().describe("Name of the parameter"),
864
- type: zod.enum(["MANUAL_INPUT", "DEFAULT_VALUE"]).optional().describe(
865
- "Type of the parameter. It is manual inputs for parameters or the default values."
866
- ),
867
- value: zod.string().optional().describe("Value of the parameter")
868
- })
869
- ).optional().describe(
870
- "The list of parameters of the call to test step"
871
- )
872
- })
873
- ).optional()
874
- }).describe(
829
+ ),
830
+ testCaseKey: zod.string().regex(
831
+ createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp
832
+ ).optional().describe(
833
+ "The key of the other test case that the test step should delegate execution to. This cannot be the parent test case."
834
+ ),
835
+ parameters: zod.array(
836
+ zod.object({
837
+ name: zod.string().optional().describe("Name of the parameter"),
838
+ type: zod.enum(["MANUAL_INPUT", "DEFAULT_VALUE"]).optional().describe(
839
+ "Type of the parameter. It is manual inputs for parameters or the default values."
840
+ ),
841
+ value: zod.string().optional().describe("Value of the parameter")
842
+ }).strict()
843
+ ).optional().describe("The list of parameters of the call to test step")
844
+ }).strict().optional()
845
+ }).strict().describe(
875
846
  "An instruction to be followed as part of a step-by-step test script. The test step can have either an inline definition, or delegate execution to another test case. One of these options must be specified."
876
847
  )
877
848
  ).describe(
878
849
  "The list of test steps. Each step should be an object containing `inline` or `testCase`. **They should only include one of these fields at a time**."
879
850
  )
880
- }).describe(
851
+ }).strict().describe(
881
852
  "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
853
  );
883
- zod.object({
884
- id: zod.number().min(1).optional(),
854
+ const CreateTestCaseTestSteps201Response = zod.object({
855
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
885
856
  self: zod.string().optional()
886
857
  }).strict();
887
858
  zod.object({
@@ -927,17 +898,17 @@ const ListTestCycles200Response = zod.object({
927
898
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
928
899
  values: zod.array(
929
900
  zod.object({
930
- id: zod.number().min(1),
901
+ id: zod.number().min(1).describe("The ID of the entity"),
931
902
  key: zod.string().regex(listTestCycles200ResponseTwoValuesItemKeyRegExp).describe("Unique key of the test cycle"),
932
903
  name: zod.string().regex(listTestCycles200ResponseTwoValuesItemNameRegExp).describe("Name of the Test Cycle"),
933
904
  project: zod.object({
934
- id: zod.number().min(1),
905
+ id: zod.number().min(1).describe("The ID of the entity"),
935
906
  self: zod.string().url().optional().describe(
936
907
  "The REST API endpoint to get more resource details."
937
908
  )
938
909
  }).strict().describe("ID and link relative to Zephyr project."),
939
910
  jiraProjectVersion: zod.object({
940
- id: zod.number().min(1),
911
+ id: zod.number().min(1).describe("The ID of the entity"),
941
912
  self: zod.string().url().optional().describe(
942
913
  "The REST API endpoint to get more resource details."
943
914
  )
@@ -945,17 +916,17 @@ const ListTestCycles200Response = zod.object({
945
916
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
946
917
  ),
947
918
  status: zod.object({
948
- id: zod.number().min(1),
919
+ id: zod.number().min(1).describe("The ID of the entity"),
949
920
  self: zod.string().url().optional().describe(
950
921
  "The REST API endpoint to get more resource details."
951
922
  )
952
- }).strict(),
923
+ }).strict().describe("ID and link to the status resource."),
953
924
  folder: zod.object({
954
- id: zod.number().min(1),
925
+ id: zod.number().min(1).describe("The ID of the entity"),
955
926
  self: zod.string().url().optional().describe(
956
927
  "The REST API endpoint to get more resource details."
957
928
  )
958
- }).strict().nullish(),
929
+ }).strict().nullish().describe("ID and link to the folder resource."),
959
930
  description: zod.string().nullish().describe("Description outlining the scope."),
960
931
  plannedStartDate: zod.string().datetime({}).nullish().describe(
961
932
  "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')"
@@ -996,11 +967,11 @@ const ListTestCycles200Response = zod.object({
996
967
  webLinks: zod.array(
997
968
  zod.object({
998
969
  description: zod.string().optional().describe("The web link description"),
999
- url: zod.string().url().describe("The web link URL"),
970
+ url: zod.string().describe("The web link URL"),
1000
971
  self: zod.string().url().optional().describe(
1001
972
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1002
973
  ),
1003
- id: zod.number().min(1).optional(),
974
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1004
975
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1005
976
  }).strict()
1006
977
  ).optional().describe("A list of web links for this entity"),
@@ -1053,9 +1024,9 @@ const CreateTestCycleBody = zod.object({
1053
1024
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1054
1025
  "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"
1055
1026
  )
1056
- });
1027
+ }).strict();
1057
1028
  const CreateTestCycle201Response = zod.object({
1058
- id: zod.number().min(1).optional(),
1029
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1059
1030
  self: zod.string().optional(),
1060
1031
  key: zod.string().optional()
1061
1032
  }).strict();
@@ -1066,32 +1037,32 @@ zod.object({
1066
1037
  const getTestCyclePathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1067
1038
  const GetTestCycleParams = zod.object({
1068
1039
  testCycleIdOrKey: zod.string().regex(getTestCyclePathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1069
- });
1040
+ }).strict();
1070
1041
  const getTestCycle200ResponseKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1071
1042
  const getTestCycle200ResponseNameRegExp = /^(?!\s*$).+/;
1072
1043
  const getTestCycle200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1073
1044
  const GetTestCycle200Response = zod.object({
1074
- id: zod.number().min(1),
1045
+ id: zod.number().min(1).describe("The ID of the entity"),
1075
1046
  key: zod.string().regex(getTestCycle200ResponseKeyRegExp).describe("Unique key of the test cycle"),
1076
1047
  name: zod.string().regex(getTestCycle200ResponseNameRegExp).describe("Name of the Test Cycle"),
1077
1048
  project: zod.object({
1078
- id: zod.number().min(1),
1049
+ id: zod.number().min(1).describe("The ID of the entity"),
1079
1050
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1080
1051
  }).strict().describe("ID and link relative to Zephyr project."),
1081
1052
  jiraProjectVersion: zod.object({
1082
- id: zod.number().min(1),
1053
+ id: zod.number().min(1).describe("The ID of the entity"),
1083
1054
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1084
1055
  }).strict().nullish().describe(
1085
1056
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1086
1057
  ),
1087
1058
  status: zod.object({
1088
- id: zod.number().min(1),
1059
+ id: zod.number().min(1).describe("The ID of the entity"),
1089
1060
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1090
- }).strict(),
1061
+ }).strict().describe("ID and link to the status resource."),
1091
1062
  folder: zod.object({
1092
- id: zod.number().min(1),
1063
+ id: zod.number().min(1).describe("The ID of the entity"),
1093
1064
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1094
- }).strict().nullish(),
1065
+ }).strict().nullish().describe("ID and link to the folder resource."),
1095
1066
  description: zod.string().nullish().describe("Description outlining the scope."),
1096
1067
  plannedStartDate: zod.string().datetime({}).nullish().describe(
1097
1068
  "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')"
@@ -1128,11 +1099,11 @@ const GetTestCycle200Response = zod.object({
1128
1099
  webLinks: zod.array(
1129
1100
  zod.object({
1130
1101
  description: zod.string().optional().describe("The web link description"),
1131
- url: zod.string().url().describe("The web link URL"),
1102
+ url: zod.string().describe("The web link URL"),
1132
1103
  self: zod.string().url().optional().describe(
1133
1104
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1134
1105
  ),
1135
- id: zod.number().min(1).optional(),
1106
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1136
1107
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1137
1108
  }).strict()
1138
1109
  ).optional().describe("A list of web links for this entity"),
@@ -1162,44 +1133,32 @@ zod.object({
1162
1133
  const updateTestCyclePathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1163
1134
  const UpdateTestCycleParams = zod.object({
1164
1135
  testCycleIdOrKey: zod.string().regex(updateTestCyclePathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1165
- });
1136
+ }).strict();
1166
1137
  const updateTestCycleBodyKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1167
1138
  const updateTestCycleBodyNameRegExp = /^(?!\s*$).+/;
1168
1139
  const updateTestCycleBodyOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1169
1140
  const UpdateTestCycleBody = zod.object({
1170
- id: zod.number().min(1),
1141
+ id: zod.number().min(1).describe("The ID of the entity"),
1171
1142
  key: zod.string().regex(updateTestCycleBodyKeyRegExp).describe("Unique key of the test cycle"),
1172
1143
  name: zod.string().regex(updateTestCycleBodyNameRegExp).describe("Name of the Test Cycle"),
1173
1144
  project: zod.object({
1174
- id: zod.number().min(1)
1175
- }).describe("The ID of the resource").and(
1176
- zod.object({
1177
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1178
- })
1179
- ).describe("ID and link relative to Zephyr project."),
1145
+ id: zod.number().min(1).describe("The ID of the entity"),
1146
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1147
+ }).strict().describe("ID and link relative to Zephyr project."),
1180
1148
  jiraProjectVersion: zod.object({
1181
- id: zod.number().min(1)
1182
- }).describe("The ID of the resource").and(
1183
- zod.object({
1184
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1185
- })
1186
- ).nullish().describe(
1149
+ id: zod.number().min(1).describe("The ID of the entity"),
1150
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1151
+ }).strict().nullish().describe(
1187
1152
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1188
1153
  ),
1189
1154
  status: zod.object({
1190
- id: zod.number().min(1)
1191
- }).describe("The ID of the resource").and(
1192
- zod.object({
1193
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1194
- })
1195
- ),
1155
+ id: zod.number().min(1).describe("The ID of the entity"),
1156
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1157
+ }).strict().describe("ID and link to the status resource."),
1196
1158
  folder: zod.object({
1197
- id: zod.number().min(1)
1198
- }).describe("The ID of the resource").and(
1199
- zod.object({
1200
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1201
- })
1202
- ).nullish(),
1159
+ id: zod.number().min(1).describe("The ID of the entity"),
1160
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1161
+ }).strict().nullish().describe("ID and link to the folder resource."),
1203
1162
  description: zod.string().nullish().describe("Description outlining the scope."),
1204
1163
  plannedStartDate: zod.string().datetime({}).nullish().describe(
1205
1164
  "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')"
@@ -1212,75 +1171,66 @@ const UpdateTestCycleBody = zod.object({
1212
1171
  self: zod.string().url().optional().describe(
1213
1172
  "The Jira REST API endpoint to get the full representation of the Jira user."
1214
1173
  )
1215
- }).nullish(),
1174
+ }).strict().nullish(),
1216
1175
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1217
1176
  "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"
1218
1177
  ),
1219
1178
  links: zod.object({
1220
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1221
- }).and(
1222
- zod.object({
1223
- issues: zod.array(
1224
- zod.object({
1225
- issueId: zod.number().min(1).describe("The Jira issue ID")
1226
- }).and(
1227
- zod.object({
1228
- self: zod.string().url().optional().describe(
1229
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1230
- ),
1231
- id: zod.number().min(1).optional().describe(
1232
- "The ID that represents the link between the entity and the Jira issue."
1233
- ),
1234
- target: zod.string().url().optional().describe(
1235
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1236
- ),
1237
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1238
- })
1239
- )
1240
- ).optional().describe("A list of Jira issues linked to this entity"),
1241
- webLinks: zod.array(
1242
- zod.object({
1243
- description: zod.string().optional().describe("The web link description"),
1244
- url: zod.string().url().describe("The web link URL")
1245
- }).and(
1246
- zod.object({
1247
- self: zod.string().url().optional().describe(
1248
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1249
- ),
1250
- id: zod.number().min(1).optional(),
1251
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1252
- })
1179
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1180
+ issues: zod.array(
1181
+ zod.object({
1182
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1183
+ self: zod.string().url().optional().describe(
1184
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1185
+ ),
1186
+ id: zod.number().min(1).optional().describe(
1187
+ "The ID that represents the link between the entity and the Jira issue."
1188
+ ),
1189
+ target: zod.string().url().optional().describe(
1190
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1191
+ ),
1192
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1193
+ }).strict()
1194
+ ).optional().describe("A list of Jira issues linked to this entity"),
1195
+ webLinks: zod.array(
1196
+ zod.object({
1197
+ description: zod.string().optional().describe("The web link description"),
1198
+ url: zod.string().describe("The web link URL"),
1199
+ self: zod.string().url().optional().describe(
1200
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1201
+ ),
1202
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1203
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1204
+ }).strict()
1205
+ ).optional().describe("A list of web links for this entity"),
1206
+ testPlans: zod.array(
1207
+ zod.object({
1208
+ id: zod.number().min(1).optional().describe(
1209
+ "The ID that represents the link between the Test Cycle and the Test Plan."
1210
+ ),
1211
+ self: zod.string().url().optional().describe(
1212
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1213
+ ),
1214
+ testPlanId: zod.number().optional().describe("The ID of the test plan"),
1215
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1216
+ target: zod.string().url().optional().describe(
1217
+ "The Zephyr REST API endpoint to get the full representation of the test plan"
1253
1218
  )
1254
- ).optional().describe("A list of web links for this entity"),
1255
- testPlans: zod.array(
1256
- zod.object({
1257
- id: zod.number().min(1).optional().describe(
1258
- "The ID that represents the link between the Test Cycle and the Test Plan."
1259
- ),
1260
- self: zod.string().url().optional().describe(
1261
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1262
- ),
1263
- testPlanId: zod.number().optional().describe("The ID of the test plan"),
1264
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1265
- target: zod.string().url().optional().describe(
1266
- "The Zephyr REST API endpoint to get the full representation of the test plan"
1267
- )
1268
- })
1269
- ).optional().describe("A list of test plans linked to a test cycle")
1270
- })
1271
- ).optional().describe(
1219
+ }).strict()
1220
+ ).optional().describe("A list of test plans linked to a test cycle")
1221
+ }).strict().optional().describe(
1272
1222
  "Represents all links that a Test Cycle has. This property is ignored on update operations."
1273
1223
  )
1274
- }).describe("Details of a test cycle");
1224
+ }).strict().describe("Details of a test cycle");
1275
1225
  zod.object({
1276
1226
  errorCode: zod.number(),
1277
1227
  message: zod.string()
1278
1228
  }).strict();
1279
1229
  const getTestCycleLinksPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1280
- zod.object({
1230
+ const GetTestCycleLinksParams = zod.object({
1281
1231
  testCycleIdOrKey: zod.string().regex(getTestCycleLinksPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1282
- });
1283
- zod.object({
1232
+ }).strict();
1233
+ const GetTestCycleLinks200Response = zod.object({
1284
1234
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1285
1235
  issues: zod.array(
1286
1236
  zod.object({
@@ -1300,11 +1250,11 @@ zod.object({
1300
1250
  webLinks: zod.array(
1301
1251
  zod.object({
1302
1252
  description: zod.string().optional().describe("The web link description"),
1303
- url: zod.string().url().describe("The web link URL"),
1253
+ url: zod.string().describe("The web link URL"),
1304
1254
  self: zod.string().url().optional().describe(
1305
1255
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1306
1256
  ),
1307
- id: zod.number().min(1).optional(),
1257
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1308
1258
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1309
1259
  }).strict()
1310
1260
  ).optional().describe("A list of web links for this entity"),
@@ -1331,24 +1281,24 @@ zod.object({
1331
1281
  message: zod.string()
1332
1282
  }).strict();
1333
1283
  const createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1334
- zod.object({
1284
+ const CreateTestCycleIssueLinkParams = zod.object({
1335
1285
  testCycleIdOrKey: zod.string().regex(createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1336
- });
1337
- zod.object({
1286
+ }).strict();
1287
+ const CreateTestCycleIssueLinkBody = zod.object({
1338
1288
  issueId: zod.number().min(1).describe("The Jira issue ID")
1339
- });
1289
+ }).strict();
1340
1290
  zod.object({
1341
1291
  errorCode: zod.number(),
1342
1292
  message: zod.string()
1343
1293
  }).strict();
1344
1294
  const createTestCycleWebLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1345
- zod.object({
1295
+ const CreateTestCycleWebLinkParams = zod.object({
1346
1296
  testCycleIdOrKey: zod.string().regex(createTestCycleWebLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1347
- });
1348
- zod.object({
1297
+ }).strict();
1298
+ const CreateTestCycleWebLinkBody = zod.object({
1349
1299
  description: zod.string().optional().describe("The web link description"),
1350
- url: zod.string().url().describe("The web link URL")
1351
- });
1300
+ url: zod.string().describe("The web link URL")
1301
+ }).strict();
1352
1302
  zod.object({
1353
1303
  errorCode: zod.number(),
1354
1304
  message: zod.string()
@@ -1390,28 +1340,28 @@ zod.object({
1390
1340
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
1391
1341
  values: zod.array(
1392
1342
  zod.object({
1393
- id: zod.number().min(1),
1343
+ id: zod.number().min(1).describe("The ID of the entity"),
1394
1344
  key: zod.string().regex(listTestPlans200ResponseTwoValuesItemKeyRegExp).describe("Key of the test plan"),
1395
1345
  name: zod.string().min(1).max(listTestPlans200ResponseTwoValuesItemNameMax).regex(listTestPlans200ResponseTwoValuesItemNameRegExp),
1396
1346
  objective: zod.string().nullish().describe("A description of the objective."),
1397
1347
  project: zod.object({
1398
- id: zod.number().min(1),
1348
+ id: zod.number().min(1).describe("The ID of the entity"),
1399
1349
  self: zod.string().url().optional().describe(
1400
1350
  "The REST API endpoint to get more resource details."
1401
1351
  )
1402
1352
  }).strict().describe("ID and link relative to Zephyr project."),
1403
1353
  status: zod.object({
1404
- id: zod.number().min(1),
1354
+ id: zod.number().min(1).describe("The ID of the entity"),
1405
1355
  self: zod.string().url().optional().describe(
1406
1356
  "The REST API endpoint to get more resource details."
1407
1357
  )
1408
- }).strict(),
1358
+ }).strict().describe("ID and link to the status resource."),
1409
1359
  folder: zod.object({
1410
- id: zod.number().min(1),
1360
+ id: zod.number().min(1).describe("The ID of the entity"),
1411
1361
  self: zod.string().url().optional().describe(
1412
1362
  "The REST API endpoint to get more resource details."
1413
1363
  )
1414
- }).strict().nullish(),
1364
+ }).strict().nullish().describe("ID and link to the folder resource."),
1415
1365
  owner: zod.object({
1416
1366
  accountId: zod.string().regex(
1417
1367
  listTestPlans200ResponseTwoValuesItemOwnerAccountIdRegExp
@@ -1428,11 +1378,11 @@ zod.object({
1428
1378
  webLinks: zod.array(
1429
1379
  zod.object({
1430
1380
  description: zod.string().optional().describe("The web link description"),
1431
- url: zod.string().url().describe("The web link URL"),
1381
+ url: zod.string().describe("The web link URL"),
1432
1382
  self: zod.string().url().optional().describe(
1433
1383
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1434
1384
  ),
1435
- id: zod.number().min(1).optional(),
1385
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1436
1386
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1437
1387
  }).strict()
1438
1388
  ).optional().describe("A list of web links for this entity"),
@@ -1453,14 +1403,16 @@ zod.object({
1453
1403
  ).optional().describe("A list of Jira issues linked to this entity"),
1454
1404
  testCycles: zod.array(
1455
1405
  zod.object({
1456
- id: zod.number().min(1),
1406
+ id: zod.number().min(1).describe("The ID of the entity"),
1457
1407
  self: zod.string().url().optional().describe(
1458
1408
  "The REST API endpoint to get more resource details."
1459
1409
  ),
1460
- testCycleId: zod.number().min(1).optional(),
1410
+ testCycleId: zod.number().min(1).optional().describe("The ID of the entity"),
1461
1411
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1462
1412
  target: zod.string().optional().describe("The test cycle resource")
1463
- }).strict()
1413
+ }).strict().describe(
1414
+ "ID and link to a test cycle associated with a test plan."
1415
+ )
1464
1416
  ).optional().describe("A list of test cycle links for a test plan")
1465
1417
  }).strict().optional()
1466
1418
  }).strict()
@@ -1487,9 +1439,9 @@ zod.object({
1487
1439
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1488
1440
  "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"
1489
1441
  )
1490
- });
1442
+ }).strict();
1491
1443
  zod.object({
1492
- id: zod.number().min(1).optional(),
1444
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1493
1445
  self: zod.string().optional(),
1494
1446
  key: zod.string().optional()
1495
1447
  }).strict();
@@ -1502,29 +1454,29 @@ zod.object({
1502
1454
  testPlanIdOrKey: zod.string().regex(getTestPlanPathTestPlanIdOrKeyRegExp).describe(
1503
1455
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1504
1456
  )
1505
- });
1457
+ }).strict();
1506
1458
  const getTestPlan200ResponseKeyRegExp = /.+-P[0-9]+/;
1507
1459
  const getTestPlan200ResponseNameMax = 255;
1508
1460
  const getTestPlan200ResponseNameRegExp = /^(?!\\s*$).+/;
1509
1461
  const getTestPlan200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1510
1462
  const getTestPlan200ResponseLabelsMax = 50;
1511
1463
  zod.object({
1512
- id: zod.number().min(1),
1464
+ id: zod.number().min(1).describe("The ID of the entity"),
1513
1465
  key: zod.string().regex(getTestPlan200ResponseKeyRegExp).describe("Key of the test plan"),
1514
1466
  name: zod.string().min(1).max(getTestPlan200ResponseNameMax).regex(getTestPlan200ResponseNameRegExp),
1515
1467
  objective: zod.string().nullish().describe("A description of the objective."),
1516
1468
  project: zod.object({
1517
- id: zod.number().min(1),
1469
+ id: zod.number().min(1).describe("The ID of the entity"),
1518
1470
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1519
1471
  }).strict().describe("ID and link relative to Zephyr project."),
1520
1472
  status: zod.object({
1521
- id: zod.number().min(1),
1473
+ id: zod.number().min(1).describe("The ID of the entity"),
1522
1474
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1523
- }).strict(),
1475
+ }).strict().describe("ID and link to the status resource."),
1524
1476
  folder: zod.object({
1525
- id: zod.number().min(1),
1477
+ id: zod.number().min(1).describe("The ID of the entity"),
1526
1478
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1527
- }).strict().nullish(),
1479
+ }).strict().nullish().describe("ID and link to the folder resource."),
1528
1480
  owner: zod.object({
1529
1481
  accountId: zod.string().regex(getTestPlan200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1530
1482
  self: zod.string().url().optional().describe(
@@ -1539,11 +1491,11 @@ zod.object({
1539
1491
  webLinks: zod.array(
1540
1492
  zod.object({
1541
1493
  description: zod.string().optional().describe("The web link description"),
1542
- url: zod.string().url().describe("The web link URL"),
1494
+ url: zod.string().describe("The web link URL"),
1543
1495
  self: zod.string().url().optional().describe(
1544
1496
  "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1545
1497
  ),
1546
- id: zod.number().min(1).optional(),
1498
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1547
1499
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1548
1500
  }).strict()
1549
1501
  ).optional().describe("A list of web links for this entity"),
@@ -1564,14 +1516,16 @@ zod.object({
1564
1516
  ).optional().describe("A list of Jira issues linked to this entity"),
1565
1517
  testCycles: zod.array(
1566
1518
  zod.object({
1567
- id: zod.number().min(1),
1519
+ id: zod.number().min(1).describe("The ID of the entity"),
1568
1520
  self: zod.string().url().optional().describe(
1569
1521
  "The REST API endpoint to get more resource details."
1570
1522
  ),
1571
- testCycleId: zod.number().min(1).optional(),
1523
+ testCycleId: zod.number().min(1).optional().describe("The ID of the entity"),
1572
1524
  type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1573
1525
  target: zod.string().optional().describe("The test cycle resource")
1574
- }).strict()
1526
+ }).strict().describe(
1527
+ "ID and link to a test cycle associated with a test plan."
1528
+ )
1575
1529
  ).optional().describe("A list of test cycle links for a test plan")
1576
1530
  }).strict().optional()
1577
1531
  }).strict();
@@ -1584,13 +1538,13 @@ zod.object({
1584
1538
  testPlanIdOrKey: zod.string().regex(createTestPlanWebLinkPathTestPlanIdOrKeyRegExp).describe(
1585
1539
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1586
1540
  )
1587
- });
1541
+ }).strict();
1588
1542
  zod.object({
1589
1543
  description: zod.string().optional().describe("The web link description"),
1590
- url: zod.string().url().describe("The web link URL")
1591
- }).and(zod.unknown());
1544
+ url: zod.string().describe("The web link URL")
1545
+ }).strict().and(zod.unknown());
1592
1546
  zod.object({
1593
- id: zod.number().min(1).optional(),
1547
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1594
1548
  self: zod.string().optional()
1595
1549
  }).strict();
1596
1550
  zod.object({
@@ -1602,12 +1556,12 @@ zod.object({
1602
1556
  testPlanIdOrKey: zod.string().regex(createTestPlanIssueLinkPathTestPlanIdOrKeyRegExp).describe(
1603
1557
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1604
1558
  )
1605
- });
1559
+ }).strict();
1606
1560
  zod.object({
1607
1561
  issueId: zod.number().min(1).describe("The Jira issue ID")
1608
- });
1562
+ }).strict();
1609
1563
  zod.object({
1610
- id: zod.number().min(1).optional(),
1564
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1611
1565
  self: zod.string().optional()
1612
1566
  }).strict();
1613
1567
  zod.object({
@@ -1619,13 +1573,13 @@ zod.object({
1619
1573
  testPlanIdOrKey: zod.string().regex(createTestPlanTestCycleLinkPathTestPlanIdOrKeyRegExp).describe(
1620
1574
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1621
1575
  )
1622
- });
1576
+ }).strict();
1623
1577
  const createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1624
1578
  zod.object({
1625
1579
  testCycleIdOrKey: zod.string().regex(createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1626
- });
1580
+ }).strict();
1627
1581
  zod.object({
1628
- id: zod.number().min(1).optional(),
1582
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1629
1583
  self: zod.string().optional()
1630
1584
  }).strict();
1631
1585
  zod.object({
@@ -1690,10 +1644,10 @@ zod.object({
1690
1644
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
1691
1645
  values: zod.array(
1692
1646
  zod.object({
1693
- id: zod.number().min(1),
1647
+ id: zod.number().min(1).describe("The ID of the entity"),
1694
1648
  key: zod.string().regex(listTestExecutions200ResponseTwoValuesItemKeyRegExp).optional().describe("Test execution key"),
1695
1649
  project: zod.object({
1696
- id: zod.number().min(1),
1650
+ id: zod.number().min(1).describe("The ID of the entity"),
1697
1651
  self: zod.string().url().optional().describe(
1698
1652
  "The REST API endpoint to get more resource details."
1699
1653
  )
@@ -1702,16 +1656,16 @@ zod.object({
1702
1656
  self: zod.string().url().optional().describe(
1703
1657
  "The REST API endpoint to get more resource details."
1704
1658
  ),
1705
- id: zod.number().min(1).optional()
1659
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1706
1660
  }).strict(),
1707
1661
  environment: zod.object({
1708
- id: zod.number().min(1),
1662
+ id: zod.number().min(1).describe("The ID of the entity"),
1709
1663
  self: zod.string().url().optional().describe(
1710
1664
  "The REST API endpoint to get more resource details."
1711
1665
  )
1712
- }).strict().nullish(),
1666
+ }).strict().nullish().describe("ID and link to the environment resource."),
1713
1667
  jiraProjectVersion: zod.object({
1714
- id: zod.number().min(1),
1668
+ id: zod.number().min(1).describe("The ID of the entity"),
1715
1669
  self: zod.string().url().optional().describe(
1716
1670
  "The REST API endpoint to get more resource details."
1717
1671
  )
@@ -1719,11 +1673,11 @@ zod.object({
1719
1673
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1720
1674
  ),
1721
1675
  testExecutionStatus: zod.object({
1722
- id: zod.number().min(1),
1676
+ id: zod.number().min(1).describe("The ID of the entity"),
1723
1677
  self: zod.string().url().optional().describe(
1724
1678
  "The REST API endpoint to get more resource details."
1725
1679
  )
1726
- }).strict(),
1680
+ }).strict().describe("ID and link to the status resource."),
1727
1681
  actualEndDate: zod.string().datetime({}).optional().describe(
1728
1682
  "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1729
1683
  ),
@@ -1743,7 +1697,7 @@ zod.object({
1743
1697
  self: zod.string().url().optional().describe(
1744
1698
  "The REST API endpoint to get more resource details."
1745
1699
  ),
1746
- id: zod.number().min(1).optional()
1700
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1747
1701
  }).strict().nullish(),
1748
1702
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1749
1703
  "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"
@@ -1799,7 +1753,7 @@ const CreateTestExecutionBody = zod.object({
1799
1753
  actualResult: zod.string().optional().describe(
1800
1754
  "free text field to provide more info on result of step execution."
1801
1755
  )
1802
- })
1756
+ }).strict()
1803
1757
  ).optional(),
1804
1758
  environmentName: zod.string().optional().describe("Environment assigned to the test case."),
1805
1759
  actualEndDate: zod.string().datetime({}).optional().describe(
@@ -1812,9 +1766,9 @@ const CreateTestExecutionBody = zod.object({
1812
1766
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1813
1767
  "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
1768
  )
1815
- });
1769
+ }).strict();
1816
1770
  const CreateTestExecution201Response = zod.object({
1817
- id: zod.number().min(1).optional(),
1771
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
1818
1772
  self: zod.string().optional()
1819
1773
  }).strict();
1820
1774
  zod.object({
@@ -1867,10 +1821,10 @@ const ListTestExecutionsNextgen200Response = zod.object({
1867
1821
  limit: zod.number().min(listTestExecutionsNextgen200ResponseOneLimitMin),
1868
1822
  values: zod.array(
1869
1823
  zod.object({
1870
- id: zod.number().min(1),
1824
+ id: zod.number().min(1).describe("The ID of the entity"),
1871
1825
  key: zod.string().regex(listTestExecutionsNextgen200ResponseTwoValuesItemKeyRegExp).optional().describe("Test execution key"),
1872
1826
  project: zod.object({
1873
- id: zod.number().min(1),
1827
+ id: zod.number().min(1).describe("The ID of the entity"),
1874
1828
  self: zod.string().url().optional().describe(
1875
1829
  "The REST API endpoint to get more resource details."
1876
1830
  )
@@ -1879,16 +1833,16 @@ const ListTestExecutionsNextgen200Response = zod.object({
1879
1833
  self: zod.string().url().optional().describe(
1880
1834
  "The REST API endpoint to get more resource details."
1881
1835
  ),
1882
- id: zod.number().min(1).optional()
1836
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1883
1837
  }).strict(),
1884
1838
  environment: zod.object({
1885
- id: zod.number().min(1),
1839
+ id: zod.number().min(1).describe("The ID of the entity"),
1886
1840
  self: zod.string().url().optional().describe(
1887
1841
  "The REST API endpoint to get more resource details."
1888
1842
  )
1889
- }).strict().nullish(),
1843
+ }).strict().nullish().describe("ID and link to the environment resource."),
1890
1844
  jiraProjectVersion: zod.object({
1891
- id: zod.number().min(1),
1845
+ id: zod.number().min(1).describe("The ID of the entity"),
1892
1846
  self: zod.string().url().optional().describe(
1893
1847
  "The REST API endpoint to get more resource details."
1894
1848
  )
@@ -1896,11 +1850,11 @@ const ListTestExecutionsNextgen200Response = zod.object({
1896
1850
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1897
1851
  ),
1898
1852
  testExecutionStatus: zod.object({
1899
- id: zod.number().min(1),
1853
+ id: zod.number().min(1).describe("The ID of the entity"),
1900
1854
  self: zod.string().url().optional().describe(
1901
1855
  "The REST API endpoint to get more resource details."
1902
1856
  )
1903
- }).strict(),
1857
+ }).strict().describe("ID and link to the status resource."),
1904
1858
  actualEndDate: zod.string().datetime({}).optional().describe(
1905
1859
  "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1906
1860
  ),
@@ -1924,7 +1878,7 @@ const ListTestExecutionsNextgen200Response = zod.object({
1924
1878
  self: zod.string().url().optional().describe(
1925
1879
  "The REST API endpoint to get more resource details."
1926
1880
  ),
1927
- id: zod.number().min(1).optional()
1881
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1928
1882
  }).strict().nullish(),
1929
1883
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1930
1884
  "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"
@@ -1961,7 +1915,7 @@ const GetTestExecutionParams = zod.object({
1961
1915
  testExecutionIdOrKey: zod.string().regex(getTestExecutionPathTestExecutionIdOrKeyRegExp).describe(
1962
1916
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
1963
1917
  )
1964
- });
1918
+ }).strict();
1965
1919
  const getTestExecutionQueryIncludeStepLinksDefault = false;
1966
1920
  zod.object({
1967
1921
  includeStepLinks: zod.boolean().default(getTestExecutionQueryIncludeStepLinksDefault).describe(
@@ -1974,30 +1928,30 @@ const getTestExecution200ResponseExecutionTimeMin = 0;
1974
1928
  const getTestExecution200ResponseExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1975
1929
  const getTestExecution200ResponseAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1976
1930
  const GetTestExecution200Response = zod.object({
1977
- id: zod.number().min(1),
1931
+ id: zod.number().min(1).describe("The ID of the entity"),
1978
1932
  key: zod.string().regex(getTestExecution200ResponseKeyRegExp).optional().describe("Test execution key"),
1979
1933
  project: zod.object({
1980
- id: zod.number().min(1),
1934
+ id: zod.number().min(1).describe("The ID of the entity"),
1981
1935
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1982
1936
  }).strict().describe("ID and link relative to Zephyr project."),
1983
1937
  testCase: zod.object({
1984
1938
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1985
- id: zod.number().min(1).optional()
1939
+ id: zod.number().min(1).optional().describe("The ID of the entity")
1986
1940
  }).strict(),
1987
1941
  environment: zod.object({
1988
- id: zod.number().min(1),
1942
+ id: zod.number().min(1).describe("The ID of the entity"),
1989
1943
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1990
- }).strict().nullish(),
1944
+ }).strict().nullish().describe("ID and link to the environment resource."),
1991
1945
  jiraProjectVersion: zod.object({
1992
- id: zod.number().min(1),
1946
+ id: zod.number().min(1).describe("The ID of the entity"),
1993
1947
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1994
1948
  }).strict().nullish().describe(
1995
1949
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1996
1950
  ),
1997
1951
  testExecutionStatus: zod.object({
1998
- id: zod.number().min(1),
1952
+ id: zod.number().min(1).describe("The ID of the entity"),
1999
1953
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2000
- }).strict(),
1954
+ }).strict().describe("ID and link to the status resource."),
2001
1955
  actualEndDate: zod.string().datetime({}).optional().describe(
2002
1956
  "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
2003
1957
  ),
@@ -2009,7 +1963,7 @@ const GetTestExecution200Response = zod.object({
2009
1963
  automated: zod.boolean().optional().describe("Indicates if the test execution was done manually or not."),
2010
1964
  testCycle: zod.object({
2011
1965
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2012
- id: zod.number().min(1).optional()
1966
+ id: zod.number().min(1).optional().describe("The ID of the entity")
2013
1967
  }).strict().nullish(),
2014
1968
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2015
1969
  "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,16 +1992,16 @@ zod.object({
2038
1992
  message: zod.string()
2039
1993
  }).strict();
2040
1994
  const updateTestExecutionPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2041
- zod.object({
1995
+ const UpdateTestExecutionParams = zod.object({
2042
1996
  testExecutionIdOrKey: zod.string().regex(updateTestExecutionPathTestExecutionIdOrKeyRegExp).describe(
2043
1997
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2044
1998
  )
2045
- });
1999
+ }).strict();
2046
2000
  const updateTestExecutionBodyStatusNameMax = 255;
2047
2001
  const updateTestExecutionBodyExecutionTimeMin = 0;
2048
2002
  const updateTestExecutionBodyExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
2049
2003
  const updateTestExecutionBodyAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
2050
- zod.object({
2004
+ const UpdateTestExecutionBody = zod.object({
2051
2005
  statusName: zod.string().min(1).max(updateTestExecutionBodyStatusNameMax).optional().describe("The status name."),
2052
2006
  environmentName: zod.string().optional().describe("Environment assigned to the test case."),
2053
2007
  actualEndDate: zod.string().datetime({}).optional().describe(
@@ -2057,23 +2011,23 @@ zod.object({
2057
2011
  executedById: zod.string().regex(updateTestExecutionBodyExecutedByIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2058
2012
  assignedToId: zod.string().regex(updateTestExecutionBodyAssignedToIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2059
2013
  comment: zod.string().nullish().describe("Comment added against overall test case execution.")
2060
- });
2014
+ }).strict();
2061
2015
  zod.object({
2062
2016
  errorCode: zod.number(),
2063
2017
  message: zod.string()
2064
2018
  }).strict();
2065
2019
  const getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2066
- zod.object({
2020
+ const GetTestExecutionTestStepsParams = zod.object({
2067
2021
  testExecutionIdOrKey: zod.string().regex(getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp).describe(
2068
2022
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2069
2023
  )
2070
- });
2024
+ }).strict();
2071
2025
  const getTestExecutionTestStepsQueryMaxResultsDefault = 10;
2072
2026
  const getTestExecutionTestStepsQueryStartAtDefault = 0;
2073
2027
  const getTestExecutionTestStepsQueryStartAtMin = 0;
2074
2028
  const getTestExecutionTestStepsQueryStartAtMax = 1e6;
2075
2029
  const getTestExecutionTestStepsQueryTestDataRowNumberMin = 0;
2076
- zod.object({
2030
+ const GetTestExecutionTestStepsQueryParams = zod.object({
2077
2031
  maxResults: zod.number().min(1).default(getTestExecutionTestStepsQueryMaxResultsDefault).describe(
2078
2032
  "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
2033
  ),
@@ -2084,7 +2038,7 @@ zod.object({
2084
2038
  });
2085
2039
  const getTestExecutionTestSteps200ResponseOneStartAtMin = 0;
2086
2040
  const getTestExecutionTestSteps200ResponseOneTotalMin = 0;
2087
- zod.object({
2041
+ const GetTestExecutionTestSteps200Response = zod.object({
2088
2042
  next: zod.string().url().nullish().describe(
2089
2043
  "URL to the next page of results, or null if there are no more results."
2090
2044
  ),
@@ -2101,22 +2055,22 @@ zod.object({
2101
2055
  values: zod.array(
2102
2056
  zod.object({
2103
2057
  inline: zod.object({
2104
- description: zod.string().optional().describe("The instruction to be followed"),
2105
- testData: zod.string().optional().describe(
2058
+ description: zod.string().nullish().describe("The instruction to be followed"),
2059
+ testData: zod.string().nullish().describe(
2106
2060
  "Any test data required to perform the instruction (optional). The fields values provided can be interpolated into the description."
2107
2061
  ),
2108
- expectedResult: zod.string().optional().describe(
2062
+ expectedResult: zod.string().nullish().describe(
2109
2063
  "The expected outcome of executing the instruction"
2110
2064
  ),
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"),
2065
+ actualResult: zod.string().nullish().describe("The actual outcome of executing the instruction"),
2066
+ testDataRowNumber: zod.number().nullish().describe("The id of the test data row"),
2067
+ reflectRef: zod.string().nullish().describe("The AI reference. Zephyr only feature"),
2114
2068
  status: zod.object({
2115
- id: zod.number().min(1),
2069
+ id: zod.number().min(1).describe("The ID of the entity"),
2116
2070
  self: zod.string().url().optional().describe(
2117
2071
  "The REST API endpoint to get more resource details."
2118
2072
  )
2119
- }).strict().optional()
2073
+ }).strict().optional().describe("ID and link to the status resource.")
2120
2074
  }).strict().optional()
2121
2075
  }).strict().describe("Inline test step")
2122
2076
  ).optional().describe("The list of test steps")
@@ -2126,16 +2080,16 @@ zod.object({
2126
2080
  testExecutionIdOrKey: zod.string().regex(putTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp).describe(
2127
2081
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2128
2082
  )
2129
- });
2083
+ }).strict();
2130
2084
  const putTestExecutionTestStepsBodyStepsItemStatusNameMax = 255;
2131
2085
  zod.object({
2132
2086
  steps: zod.array(
2133
2087
  zod.object({
2134
2088
  actualResult: zod.string().optional().describe("The actual result."),
2135
2089
  statusName: zod.string().min(1).max(putTestExecutionTestStepsBodyStepsItemStatusNameMax).optional().describe("The status name.")
2136
- })
2090
+ }).strict()
2137
2091
  ).optional()
2138
- });
2092
+ }).strict();
2139
2093
  zod.object({
2140
2094
  errorCode: zod.number(),
2141
2095
  message: zod.string()
@@ -2163,7 +2117,7 @@ zod.object({
2163
2117
  testExecutionIdOrKey: zod.string().regex(syncTestExecutionScriptPathTestExecutionIdOrKeyRegExp).describe(
2164
2118
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2165
2119
  )
2166
- });
2120
+ }).strict();
2167
2121
  zod.object({
2168
2122
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2169
2123
  }).strict();
@@ -2180,12 +2134,12 @@ zod.object({
2180
2134
  message: zod.string()
2181
2135
  }).strict();
2182
2136
  const listTestExecutionLinksPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2183
- zod.object({
2137
+ const ListTestExecutionLinksParams = zod.object({
2184
2138
  testExecutionIdOrKey: zod.string().regex(listTestExecutionLinksPathTestExecutionIdOrKeyRegExp).describe(
2185
2139
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2186
2140
  )
2187
- });
2188
- zod.object({
2141
+ }).strict();
2142
+ const ListTestExecutionLinks200Response = zod.object({
2189
2143
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2190
2144
  issues: zod.array(
2191
2145
  zod.object({
@@ -2208,14 +2162,14 @@ zod.object({
2208
2162
  message: zod.string()
2209
2163
  }).strict();
2210
2164
  const createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2211
- zod.object({
2165
+ const CreateTestExecutionIssueLinkParams = zod.object({
2212
2166
  testExecutionIdOrKey: zod.string().regex(createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp).describe(
2213
2167
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2214
2168
  )
2215
- });
2216
- zod.object({
2169
+ }).strict();
2170
+ const CreateTestExecutionIssueLinkBody = zod.object({
2217
2171
  issueId: zod.number().min(1).describe("The Jira issue ID")
2218
- });
2172
+ }).strict();
2219
2173
  zod.object({
2220
2174
  errorCode: zod.number(),
2221
2175
  message: zod.string()
@@ -2266,7 +2220,7 @@ zod.object({
2266
2220
  const getProjectPathProjectIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+)/;
2267
2221
  const GetProjectParams = zod.object({
2268
2222
  projectIdOrKey: zod.string().regex(getProjectPathProjectIdOrKeyRegExp).describe("The Zephyr project ID or Jira project key")
2269
- });
2223
+ }).strict();
2270
2224
  const GetProject200Response = zod.object({
2271
2225
  id: zod.number().describe("The ID of the project in Zephyr."),
2272
2226
  jiraProjectId: zod.number().describe("The ID of the project in Jira."),
@@ -2315,15 +2269,15 @@ zod.object({
2315
2269
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2316
2270
  values: zod.array(
2317
2271
  zod.object({
2318
- id: zod.number().min(1),
2319
- parentId: zod.number().min(1),
2272
+ id: zod.number().min(1).describe("The ID of the entity"),
2273
+ parentId: zod.number().min(1).describe("The ID of the entity"),
2320
2274
  name: zod.string().min(1).max(listFolders200ResponseTwoValuesItemNameMax).regex(listFolders200ResponseTwoValuesItemNameRegExp),
2321
2275
  index: zod.number().min(listFolders200ResponseTwoValuesItemIndexMin),
2322
2276
  folderType: zod.string().describe(
2323
2277
  'Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`'
2324
2278
  ),
2325
2279
  project: zod.object({
2326
- id: zod.number().min(1),
2280
+ id: zod.number().min(1).describe("The ID of the entity"),
2327
2281
  self: zod.string().url().optional().describe(
2328
2282
  "The REST API endpoint to get more resource details."
2329
2283
  )
@@ -2337,16 +2291,18 @@ zod.object({
2337
2291
  }).strict();
2338
2292
  const createFolderBodyNameMax = 255;
2339
2293
  const createFolderBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2340
- zod.object({
2294
+ const CreateFolderBody = zod.object({
2341
2295
  parentId: zod.number().min(1).optional().describe(
2342
2296
  "Folder ID of the parent folder. Must be `null` for root folders."
2343
2297
  ),
2344
- name: zod.string().min(1).max(createFolderBodyNameMax).describe("Folder name."),
2298
+ name: zod.string().min(1).max(createFolderBodyNameMax).describe(
2299
+ "Folder name. Folder name must not contain `/` and `\\` characters."
2300
+ ),
2345
2301
  projectKey: zod.string().regex(createFolderBodyProjectKeyRegExp).describe("Jira project key."),
2346
2302
  folderType: zod.string().describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`')
2347
- });
2348
- zod.object({
2349
- id: zod.number().min(1).optional(),
2303
+ }).strict();
2304
+ const CreateFolder201Response = zod.object({
2305
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2350
2306
  self: zod.string().optional()
2351
2307
  }).strict();
2352
2308
  zod.object({
@@ -2355,18 +2311,18 @@ zod.object({
2355
2311
  }).strict();
2356
2312
  zod.object({
2357
2313
  folderId: zod.number().min(1).describe("Folder ID")
2358
- });
2314
+ }).strict();
2359
2315
  const getFolder200ResponseNameMax = 255;
2360
2316
  const getFolder200ResponseNameRegExp = /^(?!\\s*$).+/;
2361
2317
  const getFolder200ResponseIndexMin = 0;
2362
2318
  zod.object({
2363
- id: zod.number().min(1),
2364
- parentId: zod.number().min(1),
2319
+ id: zod.number().min(1).describe("The ID of the entity"),
2320
+ parentId: zod.number().min(1).describe("The ID of the entity"),
2365
2321
  name: zod.string().min(1).max(getFolder200ResponseNameMax).regex(getFolder200ResponseNameRegExp),
2366
2322
  index: zod.number().min(getFolder200ResponseIndexMin),
2367
2323
  folderType: zod.string().describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`'),
2368
2324
  project: zod.object({
2369
- id: zod.number().min(1),
2325
+ id: zod.number().min(1).describe("The ID of the entity"),
2370
2326
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2371
2327
  }).strict().optional().describe("ID and link relative to Zephyr project.")
2372
2328
  }).strict();
@@ -2411,9 +2367,9 @@ const ListPriorities200Response = zod.object({
2411
2367
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2412
2368
  values: zod.array(
2413
2369
  zod.object({
2414
- id: zod.number().min(1),
2370
+ id: zod.number().min(1).describe("The ID of the entity"),
2415
2371
  project: zod.object({
2416
- id: zod.number().min(1),
2372
+ id: zod.number().min(1).describe("The ID of the entity"),
2417
2373
  self: zod.string().url().optional().describe(
2418
2374
  "The REST API endpoint to get more resource details."
2419
2375
  )
@@ -2439,9 +2395,9 @@ zod.object({
2439
2395
  name: zod.string().min(1).max(createPriorityBodyNameMax).describe("The priority name."),
2440
2396
  description: zod.string().min(1).max(createPriorityBodyDescriptionMax).optional().describe("The priority description."),
2441
2397
  color: zod.string().regex(createPriorityBodyColorRegExp).optional().describe("A color in hexadecimal format")
2442
- });
2398
+ }).strict();
2443
2399
  zod.object({
2444
- id: zod.number().min(1).optional(),
2400
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2445
2401
  self: zod.string().optional()
2446
2402
  }).strict();
2447
2403
  zod.object({
@@ -2450,16 +2406,16 @@ zod.object({
2450
2406
  }).strict();
2451
2407
  zod.object({
2452
2408
  priorityId: zod.number().min(1)
2453
- });
2409
+ }).strict();
2454
2410
  const getPriority200ResponseOneNameMax = 255;
2455
2411
  const getPriority200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2456
2412
  const getPriority200ResponseOneIndexMin = 0;
2457
2413
  const getPriority200ResponseTwoColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2458
2414
  const getPriority200ResponseTwoDefaultDefault = false;
2459
2415
  zod.object({
2460
- id: zod.number().min(1),
2416
+ id: zod.number().min(1).describe("The ID of the entity"),
2461
2417
  project: zod.object({
2462
- id: zod.number().min(1),
2418
+ id: zod.number().min(1).describe("The ID of the entity"),
2463
2419
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2464
2420
  }).strict().describe("ID and link relative to Zephyr project."),
2465
2421
  name: zod.string().min(1).max(getPriority200ResponseOneNameMax).regex(getPriority200ResponseOneNameRegExp),
@@ -2478,26 +2434,23 @@ zod.object({
2478
2434
  }).strict();
2479
2435
  zod.object({
2480
2436
  priorityId: zod.number().min(1)
2481
- });
2437
+ }).strict();
2482
2438
  const updatePriorityBodyNameMax = 255;
2483
2439
  const updatePriorityBodyDescriptionMax = 255;
2484
2440
  const updatePriorityBodyIndexMin = 0;
2485
2441
  const updatePriorityBodyColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2486
2442
  zod.object({
2487
- id: zod.number().min(1),
2443
+ id: zod.number().min(1).describe("The ID of the entity"),
2488
2444
  project: zod.object({
2489
- id: zod.number().min(1)
2490
- }).describe("The ID of the resource").and(
2491
- zod.object({
2492
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2493
- })
2494
- ).describe("ID and link relative to Zephyr project."),
2445
+ id: zod.number().min(1).describe("The ID of the entity"),
2446
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2447
+ }).strict().describe("ID and link relative to Zephyr project."),
2495
2448
  name: zod.string().min(1).max(updatePriorityBodyNameMax).describe("The priority name."),
2496
2449
  description: zod.string().min(1).max(updatePriorityBodyDescriptionMax).optional().describe("The priority description."),
2497
2450
  index: zod.number().min(updatePriorityBodyIndexMin),
2498
2451
  default: zod.boolean(),
2499
2452
  color: zod.string().regex(updatePriorityBodyColorRegExp).optional().describe("A color in hexadecimal format")
2500
- });
2453
+ }).strict();
2501
2454
  zod.object({
2502
2455
  errorCode: zod.number(),
2503
2456
  message: zod.string()
@@ -2540,9 +2493,9 @@ const ListStatuses200Response = zod.object({
2540
2493
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2541
2494
  values: zod.array(
2542
2495
  zod.object({
2543
- id: zod.number().min(1),
2496
+ id: zod.number().min(1).describe("The ID of the entity"),
2544
2497
  project: zod.object({
2545
- id: zod.number().min(1),
2498
+ id: zod.number().min(1).describe("The ID of the entity"),
2546
2499
  self: zod.string().url().optional().describe(
2547
2500
  "The REST API endpoint to get more resource details."
2548
2501
  )
@@ -2572,9 +2525,9 @@ zod.object({
2572
2525
  type: zod.enum(["TEST_CASE", "TEST_PLAN", "TEST_CYCLE", "TEST_EXECUTION"]).describe("Determines which type of entity the status belongs to."),
2573
2526
  description: zod.string().min(1).max(createStatusBodyDescriptionMax).optional().describe("The status description."),
2574
2527
  color: zod.string().regex(createStatusBodyColorRegExp).optional().describe("A color in hexadecimal format")
2575
- });
2528
+ }).strict();
2576
2529
  zod.object({
2577
- id: zod.number().min(1).optional(),
2530
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2578
2531
  self: zod.string().optional()
2579
2532
  }).strict();
2580
2533
  zod.object({
@@ -2583,16 +2536,16 @@ zod.object({
2583
2536
  }).strict();
2584
2537
  zod.object({
2585
2538
  statusId: zod.number().min(1)
2586
- });
2539
+ }).strict();
2587
2540
  const getStatus200ResponseOneNameMax = 255;
2588
2541
  const getStatus200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2589
2542
  const getStatus200ResponseOneIndexMin = 0;
2590
2543
  const getStatus200ResponseTwoArchivedDefault = false;
2591
2544
  const getStatus200ResponseTwoDefaultDefault = false;
2592
2545
  zod.object({
2593
- id: zod.number().min(1),
2546
+ id: zod.number().min(1).describe("The ID of the entity"),
2594
2547
  project: zod.object({
2595
- id: zod.number().min(1),
2548
+ id: zod.number().min(1).describe("The ID of the entity"),
2596
2549
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2597
2550
  }).strict().describe("ID and link relative to Zephyr project."),
2598
2551
  name: zod.string().min(1).max(getStatus200ResponseOneNameMax).regex(getStatus200ResponseOneNameRegExp),
@@ -2614,27 +2567,24 @@ zod.object({
2614
2567
  }).strict();
2615
2568
  zod.object({
2616
2569
  statusId: zod.number().min(1)
2617
- });
2570
+ }).strict();
2618
2571
  const updateStatusBodyNameMax = 255;
2619
2572
  const updateStatusBodyDescriptionMax = 255;
2620
2573
  const updateStatusBodyIndexMin = 0;
2621
2574
  const updateStatusBodyColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2622
2575
  zod.object({
2623
- id: zod.number().min(1),
2576
+ id: zod.number().min(1).describe("The ID of the entity"),
2624
2577
  project: zod.object({
2625
- id: zod.number().min(1)
2626
- }).describe("The ID of the resource").and(
2627
- zod.object({
2628
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2629
- })
2630
- ).describe("ID and link relative to Zephyr project."),
2578
+ id: zod.number().min(1).describe("The ID of the entity"),
2579
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2580
+ }).strict().describe("ID and link relative to Zephyr project."),
2631
2581
  name: zod.string().min(1).max(updateStatusBodyNameMax).describe("The status name."),
2632
2582
  description: zod.string().min(1).max(updateStatusBodyDescriptionMax).optional().describe("The status description."),
2633
2583
  index: zod.number().min(updateStatusBodyIndexMin),
2634
2584
  archived: zod.boolean(),
2635
2585
  default: zod.boolean(),
2636
2586
  color: zod.string().regex(updateStatusBodyColorRegExp).optional().describe("A color in hexadecimal format")
2637
- });
2587
+ }).strict();
2638
2588
  zod.object({
2639
2589
  errorCode: zod.number(),
2640
2590
  message: zod.string()
@@ -2675,9 +2625,9 @@ const ListEnvironments200Response = zod.object({
2675
2625
  isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2676
2626
  values: zod.array(
2677
2627
  zod.object({
2678
- id: zod.number().min(1),
2628
+ id: zod.number().min(1).describe("The ID of the entity"),
2679
2629
  project: zod.object({
2680
- id: zod.number().min(1),
2630
+ id: zod.number().min(1).describe("The ID of the entity"),
2681
2631
  self: zod.string().url().optional().describe(
2682
2632
  "The REST API endpoint to get more resource details."
2683
2633
  )
@@ -2702,9 +2652,9 @@ zod.object({
2702
2652
  projectKey: zod.string().regex(createEnvironmentBodyProjectKeyRegExp).describe("Jira project key."),
2703
2653
  name: zod.string().min(1).max(createEnvironmentBodyNameMax).describe("The environment name."),
2704
2654
  description: zod.string().min(1).max(createEnvironmentBodyDescriptionMax).optional().describe("The environment description.")
2705
- });
2655
+ }).strict();
2706
2656
  zod.object({
2707
- id: zod.number().min(1).optional(),
2657
+ id: zod.number().min(1).optional().describe("The ID of the entity"),
2708
2658
  self: zod.string().optional()
2709
2659
  }).strict();
2710
2660
  zod.union([
@@ -2731,15 +2681,15 @@ zod.object({
2731
2681
  }).strict();
2732
2682
  zod.object({
2733
2683
  environmentId: zod.number().min(1)
2734
- });
2684
+ }).strict();
2735
2685
  const getEnvironment200ResponseOneNameMax = 255;
2736
2686
  const getEnvironment200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2737
2687
  const getEnvironment200ResponseOneIndexMin = 0;
2738
2688
  const getEnvironment200ResponseTwoArchivedDefault = false;
2739
2689
  zod.object({
2740
- id: zod.number().min(1),
2690
+ id: zod.number().min(1).describe("The ID of the entity"),
2741
2691
  project: zod.object({
2742
- id: zod.number().min(1),
2692
+ id: zod.number().min(1).describe("The ID of the entity"),
2743
2693
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2744
2694
  }).strict().describe("ID and link relative to Zephyr project."),
2745
2695
  name: zod.string().min(1).max(getEnvironment200ResponseOneNameMax).regex(getEnvironment200ResponseOneNameRegExp),
@@ -2757,23 +2707,20 @@ zod.object({
2757
2707
  }).strict();
2758
2708
  zod.object({
2759
2709
  environmentId: zod.number().min(1)
2760
- });
2710
+ }).strict();
2761
2711
  const updateEnvironmentBodyNameMax = 255;
2762
2712
  const updateEnvironmentBodyDescriptionMax = 255;
2763
2713
  const updateEnvironmentBodyIndexMin = 0;
2764
2714
  zod.object({
2765
- id: zod.number().min(1),
2715
+ id: zod.number().min(1).describe("The ID of the entity"),
2766
2716
  project: zod.object({
2767
- id: zod.number().min(1)
2768
- }).describe("The ID of the resource").and(
2769
- zod.object({
2770
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2771
- })
2772
- ).describe("ID and link relative to Zephyr project."),
2717
+ id: zod.number().min(1).describe("The ID of the entity"),
2718
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2719
+ }).strict().describe("ID and link relative to Zephyr project."),
2773
2720
  name: zod.string().min(1).max(updateEnvironmentBodyNameMax).describe("The environment name."),
2774
2721
  description: zod.string().min(1).max(updateEnvironmentBodyDescriptionMax).optional().describe("The environment description."),
2775
2722
  index: zod.number().min(updateEnvironmentBodyIndexMin)
2776
- });
2723
+ }).strict();
2777
2724
  zod.union([
2778
2725
  zod.object({
2779
2726
  errorCode: zod.number(),
@@ -2802,21 +2749,21 @@ zod.object({
2802
2749
  }).strict();
2803
2750
  zod.object({
2804
2751
  linkId: zod.number().min(1)
2805
- });
2752
+ }).strict();
2806
2753
  zod.object({
2807
2754
  errorCode: zod.number(),
2808
2755
  message: zod.string()
2809
2756
  }).strict();
2810
2757
  const getIssueLinkTestCasesPathIssueKeyRegExp = /.+-[0-9]+/;
2811
- zod.object({
2758
+ const GetIssueLinkTestCasesParams = zod.object({
2812
2759
  issueKey: zod.string().regex(getIssueLinkTestCasesPathIssueKeyRegExp).describe("The key of the Jira issue")
2813
- });
2760
+ }).strict();
2814
2761
  const GetIssueLinkTestCases200ResponseItem = zod.object({
2815
2762
  key: zod.string().optional(),
2816
2763
  version: zod.number().optional(),
2817
2764
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2818
2765
  }).strict();
2819
- zod.array(
2766
+ const GetIssueLinkTestCases200Response = zod.array(
2820
2767
  GetIssueLinkTestCases200ResponseItem
2821
2768
  );
2822
2769
  zod.object({
@@ -2824,14 +2771,14 @@ zod.object({
2824
2771
  message: zod.string()
2825
2772
  }).strict();
2826
2773
  const getIssueLinkTestCyclesPathIssueKeyRegExp = /.+-[0-9]+/;
2827
- zod.object({
2774
+ const GetIssueLinkTestCyclesParams = zod.object({
2828
2775
  issueKey: zod.string().regex(getIssueLinkTestCyclesPathIssueKeyRegExp).describe("The key of the Jira issue")
2829
- });
2776
+ }).strict();
2830
2777
  const GetIssueLinkTestCycles200ResponseItem = zod.object({
2831
- id: zod.number().min(1),
2778
+ id: zod.number().min(1).describe("The ID of the entity"),
2832
2779
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2833
- }).strict();
2834
- zod.array(
2780
+ }).strict().describe("ID and link to the test cycle resource.");
2781
+ const GetIssueLinkTestCycles200Response = zod.array(
2835
2782
  GetIssueLinkTestCycles200ResponseItem
2836
2783
  );
2837
2784
  zod.object({
@@ -2841,11 +2788,11 @@ zod.object({
2841
2788
  const getIssueLinkTestPlansPathIssueKeyRegExp = /.+-[0-9]+/;
2842
2789
  zod.object({
2843
2790
  issueKey: zod.string().regex(getIssueLinkTestPlansPathIssueKeyRegExp).describe("The key of the Jira issue")
2844
- });
2791
+ }).strict();
2845
2792
  const GetIssueLinkTestPlans200ResponseItem = zod.object({
2846
- id: zod.number().min(1),
2793
+ id: zod.number().min(1).describe("The ID of the entity"),
2847
2794
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2848
- }).strict();
2795
+ }).strict().describe("ID and link to the test plan resource.");
2849
2796
  zod.array(
2850
2797
  GetIssueLinkTestPlans200ResponseItem
2851
2798
  );
@@ -2854,14 +2801,14 @@ zod.object({
2854
2801
  message: zod.string()
2855
2802
  }).strict();
2856
2803
  const getIssueLinkTestExecutionsPathIssueKeyRegExp = /.+-[0-9]+/;
2857
- zod.object({
2804
+ const GetIssueLinkTestExecutionsParams = zod.object({
2858
2805
  issueKey: zod.string().regex(getIssueLinkTestExecutionsPathIssueKeyRegExp).describe("The key of the Jira issue")
2859
- });
2806
+ }).strict();
2860
2807
  const GetIssueLinkTestExecutions200ResponseItem = zod.object({
2861
- id: zod.number().min(1),
2808
+ id: zod.number().min(1).describe("The ID of the entity"),
2862
2809
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2863
- }).strict();
2864
- zod.array(
2810
+ }).strict().describe("ID and link to the test execution resource.");
2811
+ const GetIssueLinkTestExecutions200Response = zod.array(
2865
2812
  GetIssueLinkTestExecutions200ResponseItem
2866
2813
  );
2867
2814
  zod.object({
@@ -2893,10 +2840,10 @@ zod.object({
2893
2840
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2894
2841
  "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"
2895
2842
  )
2896
- }).optional().describe(
2843
+ }).strict().optional().describe(
2897
2844
  "Pass this object as a JSON in your form-data alongside the file. Make sure you set the type of this object as `application/json` otherwise the object will be ignored."
2898
2845
  )
2899
- });
2846
+ }).strict();
2900
2847
  const createCustomExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2901
2848
  zod.object({
2902
2849
  testCycle: zod.object({
@@ -2934,10 +2881,10 @@ zod.object({
2934
2881
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2935
2882
  "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"
2936
2883
  )
2937
- }).optional().describe(
2884
+ }).strict().optional().describe(
2938
2885
  "Pass this object as a JSON in your form-data alongside the file. Make sure you set the type of this object as `application/json` otherwise the object will be ignored."
2939
2886
  )
2940
- });
2887
+ }).strict();
2941
2888
  const createCucumberExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2942
2889
  zod.object({
2943
2890
  testCycle: zod.object({
@@ -2975,10 +2922,10 @@ zod.object({
2975
2922
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2976
2923
  "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"
2977
2924
  )
2978
- }).optional().describe(
2925
+ }).strict().optional().describe(
2979
2926
  "Pass this object as a JSON in your form-data alongside the file. Make sure you set the type of this object as `application/json` otherwise the object will be ignored."
2980
2927
  )
2981
- });
2928
+ }).strict();
2982
2929
  const createJUnitExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2983
2930
  zod.object({
2984
2931
  testCycle: zod.object({
@@ -3007,27 +2954,62 @@ zod.object({
3007
2954
  message: zod.string()
3008
2955
  }).strict();
3009
2956
  export {
2957
+ CreateFolder201Response,
2958
+ CreateFolderBody,
3010
2959
  CreateTestCase201Response,
3011
2960
  CreateTestCaseBody,
2961
+ CreateTestCaseIssueLink201Response,
2962
+ CreateTestCaseIssueLinkBody,
2963
+ CreateTestCaseIssueLinkParams,
2964
+ CreateTestCaseTestScript201Response,
2965
+ CreateTestCaseTestScriptBody,
2966
+ CreateTestCaseTestScriptParams,
2967
+ CreateTestCaseTestSteps201Response,
2968
+ CreateTestCaseTestStepsBody,
2969
+ CreateTestCaseTestStepsParams,
3012
2970
  CreateTestCaseWebLink201Response,
3013
2971
  CreateTestCaseWebLinkBody,
3014
2972
  CreateTestCaseWebLinkParams,
3015
2973
  CreateTestCycle201Response,
3016
2974
  CreateTestCycleBody,
2975
+ CreateTestCycleIssueLinkBody,
2976
+ CreateTestCycleIssueLinkParams,
2977
+ CreateTestCycleWebLinkBody,
2978
+ CreateTestCycleWebLinkParams,
3017
2979
  CreateTestExecution201Response,
3018
2980
  CreateTestExecutionBody,
2981
+ CreateTestExecutionIssueLinkBody,
2982
+ CreateTestExecutionIssueLinkParams,
2983
+ GetIssueLinkTestCases200Response,
3019
2984
  GetIssueLinkTestCases200ResponseItem,
2985
+ GetIssueLinkTestCasesParams,
2986
+ GetIssueLinkTestCycles200Response,
3020
2987
  GetIssueLinkTestCycles200ResponseItem,
2988
+ GetIssueLinkTestCyclesParams,
2989
+ GetIssueLinkTestExecutions200Response,
3021
2990
  GetIssueLinkTestExecutions200ResponseItem,
2991
+ GetIssueLinkTestExecutionsParams,
3022
2992
  GetIssueLinkTestPlans200ResponseItem,
3023
2993
  GetProject200Response,
3024
2994
  GetProjectParams,
3025
2995
  GetTestCase200Response,
2996
+ GetTestCaseLinks200Response,
2997
+ GetTestCaseLinksParams,
3026
2998
  GetTestCaseParams,
2999
+ GetTestCaseTestScript200Response,
3000
+ GetTestCaseTestScriptParams,
3001
+ GetTestCaseTestSteps200Response,
3002
+ GetTestCaseTestStepsParams,
3003
+ GetTestCaseTestStepsQueryParams,
3027
3004
  GetTestCycle200Response,
3005
+ GetTestCycleLinks200Response,
3006
+ GetTestCycleLinksParams,
3028
3007
  GetTestCycleParams,
3029
3008
  GetTestExecution200Response,
3030
3009
  GetTestExecutionParams,
3010
+ GetTestExecutionTestSteps200Response,
3011
+ GetTestExecutionTestStepsParams,
3012
+ GetTestExecutionTestStepsQueryParams,
3031
3013
  ListEnvironments200Response,
3032
3014
  ListEnvironmentsQueryParams,
3033
3015
  ListPriorities200Response,
@@ -3040,12 +3022,16 @@ export {
3040
3022
  ListTestCasesCursorPaginatedQueryParams,
3041
3023
  ListTestCycles200Response,
3042
3024
  ListTestCyclesQueryParams,
3025
+ ListTestExecutionLinks200Response,
3026
+ ListTestExecutionLinksParams,
3043
3027
  ListTestExecutionsNextgen200Response,
3044
3028
  ListTestExecutionsNextgenQueryParams,
3045
3029
  UpdateTestCaseBody,
3046
3030
  UpdateTestCaseParams,
3047
3031
  UpdateTestCycleBody,
3048
3032
  UpdateTestCycleParams,
3033
+ UpdateTestExecutionBody,
3034
+ UpdateTestExecutionParams,
3049
3035
  createCucumberExecutions200ResponseTestCycleKeyRegExp,
3050
3036
  createCucumberExecutionsBodyTestCycleNameMax,
3051
3037
  createCucumberExecutionsBodyTestCycleNameRegExp,