@smartbear/mcp 0.13.5 → 0.14.1

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 (27) hide show
  1. package/dist/bugsnag/client.js +169 -10
  2. package/dist/package.json.js +1 -1
  3. package/dist/pactflow/client/utils.js +10 -4
  4. package/dist/swagger/client/portal-types.js +7 -1
  5. package/dist/swagger/client/tools.js +1 -1
  6. package/dist/zephyr/client.js +13 -1
  7. package/dist/zephyr/common/api-client.js +35 -1
  8. package/dist/zephyr/common/rest-api-schemas.js +1913 -1755
  9. package/dist/zephyr/common/utils.js +20 -0
  10. package/dist/zephyr/tool/environment/get-environments.js +4 -4
  11. package/dist/zephyr/tool/priority/get-priorities.js +4 -4
  12. package/dist/zephyr/tool/project/get-project.js +4 -4
  13. package/dist/zephyr/tool/project/get-projects.js +4 -4
  14. package/dist/zephyr/tool/status/get-statuses.js +4 -4
  15. package/dist/zephyr/tool/test-case/create-test-case.js +69 -0
  16. package/dist/zephyr/tool/test-case/create-web-link.js +46 -0
  17. package/dist/zephyr/tool/test-case/get-test-case.js +4 -4
  18. package/dist/zephyr/tool/test-case/get-test-cases.js +4 -4
  19. package/dist/zephyr/tool/test-case/update-test-case.js +79 -0
  20. package/dist/zephyr/tool/test-cycle/create-test-cycle.js +70 -0
  21. package/dist/zephyr/tool/test-cycle/get-test-cycle.js +4 -4
  22. package/dist/zephyr/tool/test-cycle/get-test-cycles.js +4 -4
  23. package/dist/zephyr/tool/test-cycle/update-test-cycle.js +90 -0
  24. package/dist/zephyr/tool/test-execution/create-test-execution.js +66 -0
  25. package/dist/zephyr/tool/test-execution/get-test-execution.js +4 -4
  26. package/dist/zephyr/tool/test-execution/get-test-executions.js +4 -4
  27. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import * as zod from "zod";
2
2
  const listTestCasesQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
3
3
  const listTestCasesQueryMaxResultsDefault = 10;
4
+ const listTestCasesQueryStartAtDefault = 0;
4
5
  const listTestCasesQueryStartAtMin = 0;
5
6
  const listTestCasesQueryStartAtMax = 1e6;
6
7
  zod.object({
@@ -9,157 +10,140 @@ zod.object({
9
10
  maxResults: zod.number().min(1).default(listTestCasesQueryMaxResultsDefault).describe(
10
11
  "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"
11
12
  ),
12
- startAt: zod.number().min(listTestCasesQueryStartAtMin).max(listTestCasesQueryStartAtMax).optional().describe(
13
+ startAt: zod.number().min(listTestCasesQueryStartAtMin).max(listTestCasesQueryStartAtMax).default(listTestCasesQueryStartAtDefault).describe(
13
14
  "Zero-indexed starting position. Should be a multiple of maxResults."
14
15
  )
15
16
  });
16
- const listTestCasesResponseStartAtMin = 0;
17
- const listTestCasesResponseTotalMin = 0;
18
- const listTestCasesResponseValuesItemKeyRegExp = /.+-T[0-9]+/;
19
- const listTestCasesResponseValuesItemNameRegExp = /^(?!\\s*$).+/;
20
- const listTestCasesResponseValuesItemEstimatedTimeMin = 0;
21
- const listTestCasesResponseValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
17
+ const listTestCases200ResponseOneStartAtMin = 0;
18
+ const listTestCases200ResponseOneTotalMin = 0;
19
+ const listTestCases200ResponseTwoValuesItemKeyRegExp = /.+-T[0-9]+/;
20
+ const listTestCases200ResponseTwoValuesItemNameMax = 255;
21
+ const listTestCases200ResponseTwoValuesItemNameRegExp = /^(?!\\s*$).+/;
22
+ const listTestCases200ResponseTwoValuesItemEstimatedTimeMin = 0;
23
+ const listTestCases200ResponseTwoValuesItemLabelsMax = 50;
24
+ const listTestCases200ResponseTwoValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
22
25
  zod.object({
23
26
  next: zod.string().url().nullish().describe(
24
27
  "URL to the next page of results, or null if there are no more results."
25
28
  ),
26
- startAt: zod.number().min(listTestCasesResponseStartAtMin).describe(
29
+ startAt: zod.number().min(listTestCases200ResponseOneStartAtMin).describe(
27
30
  "Indicates the index of the first item returned in the page of results."
28
31
  ),
29
32
  maxResults: zod.number().min(1).describe(
30
33
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
31
34
  ),
32
- total: zod.number().min(listTestCasesResponseTotalMin).optional().describe(
35
+ total: zod.number().min(listTestCases200ResponseOneTotalMin).optional().describe(
33
36
  "Indicates the total number of items available across all pages."
34
37
  ),
35
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
36
- }).and(
37
- zod.object({
38
- values: zod.array(
39
- zod.object({
38
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
39
+ values: zod.array(
40
+ zod.object({
41
+ id: zod.number().min(1),
42
+ key: zod.string().regex(listTestCases200ResponseTwoValuesItemKeyRegExp).describe("The test case key"),
43
+ name: zod.string().min(1).max(listTestCases200ResponseTwoValuesItemNameMax).regex(listTestCases200ResponseTwoValuesItemNameRegExp),
44
+ project: zod.object({
40
45
  id: zod.number().min(1),
41
- key: zod.string().regex(listTestCasesResponseValuesItemKeyRegExp).describe("The test case key"),
42
- name: zod.string().regex(listTestCasesResponseValuesItemNameRegExp),
43
- project: zod.object({
44
- id: zod.number().min(1)
45
- }).describe("The ID of the resource").and(
46
- zod.object({
47
- self: zod.string().url().optional().describe(
48
- "The REST API endpoint to get more resource details."
49
- )
50
- })
51
- ).describe("ID and link relative to Zephyr project."),
52
- createdOn: zod.string().datetime({}).optional().describe(
53
- "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"
54
- ),
55
- objective: zod.string().nullish().describe("A description of the objective."),
56
- precondition: zod.string().nullish().describe("Any conditions that need to be met."),
57
- estimatedTime: zod.number().min(listTestCasesResponseValuesItemEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
58
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
59
- component: zod.object({
60
- id: zod.number().min(1)
61
- }).describe("The ID of the resource").and(
62
- zod.object({
63
- self: zod.string().url().optional().describe(
64
- "The REST API endpoint to get more resource details."
65
- )
66
- })
67
- ).nullish(),
68
- priority: zod.object({
69
- id: zod.number().min(1)
70
- }).describe("The ID of the resource").and(
71
- zod.object({
72
- self: zod.string().url().optional().describe(
73
- "The REST API endpoint to get more resource details."
74
- )
75
- })
46
+ self: zod.string().url().optional().describe(
47
+ "The REST API endpoint to get more resource details."
48
+ )
49
+ }).strict().describe("ID and link relative to Zephyr project."),
50
+ createdOn: zod.string().datetime({}).optional().describe(
51
+ "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"
52
+ ),
53
+ objective: zod.string().nullish().describe("A description of the objective."),
54
+ precondition: zod.string().nullish().describe("Any conditions that need to be met."),
55
+ estimatedTime: zod.number().min(listTestCases200ResponseTwoValuesItemEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
56
+ labels: zod.array(zod.string()).max(listTestCases200ResponseTwoValuesItemLabelsMax).optional().describe("Array of labels associated to this entity."),
57
+ component: zod.object({
58
+ id: zod.number().min(1),
59
+ self: zod.string().url().optional().describe(
60
+ "The REST API endpoint to get more resource details."
61
+ )
62
+ }).strict().nullish(),
63
+ priority: zod.object({
64
+ id: zod.number().min(1),
65
+ self: zod.string().url().optional().describe(
66
+ "The REST API endpoint to get more resource details."
67
+ )
68
+ }).strict(),
69
+ status: zod.object({
70
+ id: zod.number().min(1),
71
+ self: zod.string().url().optional().describe(
72
+ "The REST API endpoint to get more resource details."
73
+ )
74
+ }).strict(),
75
+ folder: zod.object({
76
+ id: zod.number().min(1),
77
+ self: zod.string().url().optional().describe(
78
+ "The REST API endpoint to get more resource details."
79
+ )
80
+ }).strict().nullish(),
81
+ owner: zod.object({
82
+ accountId: zod.string().regex(
83
+ listTestCases200ResponseTwoValuesItemOwnerAccountIdRegExp
84
+ ).nullable().describe("Atlassian Account ID of the Jira user."),
85
+ self: zod.string().url().optional().describe(
86
+ "The Jira REST API endpoint to get the full representation of the Jira user."
87
+ )
88
+ }).strict().nullish(),
89
+ testScript: zod.object({
90
+ self: zod.string().url().optional().describe(
91
+ "The REST API endpoint to get more resource details."
92
+ )
93
+ }).strict().optional(),
94
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
95
+ "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"
96
+ ),
97
+ links: zod.object({
98
+ self: zod.string().url().optional().describe(
99
+ "The REST API endpoint to get more resource details."
76
100
  ),
77
- status: zod.object({
78
- id: zod.number().min(1)
79
- }).describe("The ID of the resource").and(
101
+ issues: zod.array(
80
102
  zod.object({
103
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
81
104
  self: zod.string().url().optional().describe(
82
- "The REST API endpoint to get more resource details."
83
- )
84
- })
85
- ),
86
- folder: zod.object({
87
- id: zod.number().min(1)
88
- }).describe("The ID of the resource").and(
105
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
106
+ ),
107
+ id: zod.number().min(1).optional().describe(
108
+ "The ID that represents the link between the entity and the Jira issue."
109
+ ),
110
+ target: zod.string().url().optional().describe(
111
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
112
+ ),
113
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
114
+ }).strict()
115
+ ).optional().describe("A list of Jira issues linked to this entity"),
116
+ webLinks: zod.array(
89
117
  zod.object({
118
+ description: zod.string().optional().describe("The web link description"),
119
+ url: zod.string().url().describe("The web link URL"),
90
120
  self: zod.string().url().optional().describe(
91
- "The REST API endpoint to get more resource details."
92
- )
93
- })
94
- ).nullish(),
95
- owner: zod.object({
96
- accountId: zod.string().regex(listTestCasesResponseValuesItemOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
97
- self: zod.string().url().optional().describe(
98
- "The Jira REST API endpoint to get the full representation of the Jira user."
99
- )
100
- }).nullish(),
101
- testScript: zod.object({
102
- self: zod.string().url().optional().describe(
103
- "The REST API endpoint to get more resource details."
104
- )
105
- }).optional(),
106
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
107
- "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"
108
- ),
109
- links: zod.object({
110
- self: zod.string().url().optional().describe(
111
- "The REST API endpoint to get more resource details."
112
- )
113
- }).and(
114
- zod.object({
115
- issues: zod.array(
116
- zod.object({
117
- issueId: zod.number().min(1).describe("The Jira issue ID")
118
- }).and(
119
- zod.object({
120
- self: zod.string().url().optional().describe(
121
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
122
- ),
123
- id: zod.number().min(1).optional().describe(
124
- "The ID that represents the link between the entity and the Jira issue."
125
- ),
126
- target: zod.string().url().optional().describe(
127
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
128
- ),
129
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
130
- })
131
- )
132
- ).optional().describe("A list of Jira issues linked to this entity"),
133
- webLinks: zod.array(
134
- zod.object({
135
- description: zod.string().optional().describe("The web link description"),
136
- url: zod.url().describe("The web link URL")
137
- }).and(
138
- zod.object({
139
- self: zod.string().url().optional().describe(
140
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
141
- ),
142
- id: zod.number().min(1).optional(),
143
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
144
- })
145
- )
146
- ).optional().describe("A list of web links for this entity")
147
- })
148
- ).optional().describe("This property is ignored on updates.")
149
- })
150
- ).optional()
151
- })
152
- );
121
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
122
+ ),
123
+ id: zod.number().min(1).optional(),
124
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
125
+ }).strict()
126
+ ).optional().describe("A list of web links for this entity")
127
+ }).strict().optional().describe("This property is ignored on updates.")
128
+ }).strict()
129
+ ).optional()
130
+ }).strict();
131
+ zod.object({
132
+ errorCode: zod.number(),
133
+ message: zod.string()
134
+ }).strict();
153
135
  const createTestCaseBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
136
+ const createTestCaseBodyNameMax = 255;
154
137
  const createTestCaseBodyNameRegExp = /^(?!\\s*$).+/;
155
138
  const createTestCaseBodyEstimatedTimeMin = 0;
156
139
  const createTestCaseBodyComponentIdMin = 0;
157
140
  const createTestCaseBodyPriorityNameMax = 255;
158
141
  const createTestCaseBodyStatusNameMax = 255;
159
142
  const createTestCaseBodyOwnerIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
160
- zod.object({
143
+ const createTestCaseBodyLabelsMax = 50;
144
+ const CreateTestCaseBody = zod.object({
161
145
  projectKey: zod.string().regex(createTestCaseBodyProjectKeyRegExp).describe("Jira project key."),
162
- name: zod.string().regex(createTestCaseBodyNameRegExp),
146
+ name: zod.string().min(1).max(createTestCaseBodyNameMax).regex(createTestCaseBodyNameRegExp),
163
147
  objective: zod.string().nullish().describe("A description of the objective."),
164
148
  precondition: zod.string().nullish().describe("Any conditions that need to be met."),
165
149
  estimatedTime: zod.number().min(createTestCaseBodyEstimatedTimeMin).optional().describe("Estimated duration in milliseconds."),
@@ -168,275 +152,254 @@ zod.object({
168
152
  statusName: zod.string().min(1).max(createTestCaseBodyStatusNameMax).optional().describe("The status name."),
169
153
  folderId: zod.number().min(1).optional().describe("ID of a folder to place the entity within."),
170
154
  ownerId: zod.string().regex(createTestCaseBodyOwnerIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
171
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
155
+ labels: zod.array(zod.string()).max(createTestCaseBodyLabelsMax).optional().describe("Array of labels associated to this entity."),
172
156
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
173
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"
174
158
  )
175
159
  });
160
+ const CreateTestCase201Response = zod.object({
161
+ id: zod.number().min(1).optional(),
162
+ self: zod.string().optional(),
163
+ key: zod.string().optional()
164
+ }).strict();
165
+ zod.object({
166
+ errorCode: zod.number(),
167
+ message: zod.string()
168
+ }).strict();
176
169
  const listTestCasesCursorPaginatedQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
177
170
  const listTestCasesCursorPaginatedQueryLimitDefault = 10;
178
171
  const listTestCasesCursorPaginatedQueryLimitMax = 1e3;
172
+ const listTestCasesCursorPaginatedQueryStartAtIdDefault = 0;
179
173
  const listTestCasesCursorPaginatedQueryStartAtIdMin = 0;
180
- const listTestCasesCursorPaginatedQueryParams = zod.object({
174
+ const ListTestCasesCursorPaginatedQueryParams = zod.object({
181
175
  projectKey: zod.string().regex(listTestCasesCursorPaginatedQueryProjectKeyRegExp).optional().describe("Jira project key filter"),
182
176
  folderId: zod.number().min(1).optional().describe("Folder ID filter"),
183
177
  limit: zod.number().min(1).max(listTestCasesCursorPaginatedQueryLimitMax).default(listTestCasesCursorPaginatedQueryLimitDefault).describe(
184
178
  "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 limit value in the response to confirm how many results were actually returned.\n"
185
179
  ),
186
- startAtId: zod.number().min(listTestCasesCursorPaginatedQueryStartAtIdMin).optional().describe("Zero-indexed starting position for ID-based pagination.")
187
- });
188
- const listTestCasesCursorPaginatedResponseNextStartAtIdMin = 0;
189
- const listTestCasesCursorPaginatedResponseLimitMin = 0;
190
- const listTestCasesCursorPaginatedResponseValuesItemKeyRegExp = /.+-T[0-9]+/;
191
- const listTestCasesCursorPaginatedResponseValuesItemNameRegExp = /^(?!\\s*$).+/;
192
- const listTestCasesCursorPaginatedResponseValuesItemEstimatedTimeMin = 0;
193
- const listTestCasesCursorPaginatedResponseValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
194
- const listTestCasesCursorPaginatedResponse = zod.object({
195
- next: zod.url().nullish(),
196
- nextStartAtId: zod.number().min(listTestCasesCursorPaginatedResponseNextStartAtIdMin).nullable(),
197
- limit: zod.number().min(listTestCasesCursorPaginatedResponseLimitMin)
198
- }).and(
199
- zod.object({
200
- values: zod.array(
201
- zod.object({
180
+ startAtId: zod.number().min(listTestCasesCursorPaginatedQueryStartAtIdMin).default(listTestCasesCursorPaginatedQueryStartAtIdDefault).describe("Zero-indexed starting position for ID-based pagination.")
181
+ });
182
+ const listTestCasesCursorPaginated200ResponseOneNextStartAtIdMin = 0;
183
+ const listTestCasesCursorPaginated200ResponseOneLimitMin = 0;
184
+ const listTestCasesCursorPaginated200ResponseTwoValuesItemKeyRegExp = /.+-T[0-9]+/;
185
+ const listTestCasesCursorPaginated200ResponseTwoValuesItemNameMax = 255;
186
+ const listTestCasesCursorPaginated200ResponseTwoValuesItemNameRegExp = /^(?!\\s*$).+/;
187
+ const listTestCasesCursorPaginated200ResponseTwoValuesItemEstimatedTimeMin = 0;
188
+ const listTestCasesCursorPaginated200ResponseTwoValuesItemLabelsMax = 50;
189
+ const listTestCasesCursorPaginated200ResponseTwoValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
190
+ const ListTestCasesCursorPaginated200Response = zod.object({
191
+ next: zod.string().url().nullish(),
192
+ nextStartAtId: zod.number().min(listTestCasesCursorPaginated200ResponseOneNextStartAtIdMin).nullable(),
193
+ limit: zod.number().min(listTestCasesCursorPaginated200ResponseOneLimitMin),
194
+ values: zod.array(
195
+ zod.object({
196
+ id: zod.number().min(1),
197
+ key: zod.string().regex(
198
+ listTestCasesCursorPaginated200ResponseTwoValuesItemKeyRegExp
199
+ ).describe("The test case key"),
200
+ name: zod.string().min(1).max(listTestCasesCursorPaginated200ResponseTwoValuesItemNameMax).regex(
201
+ listTestCasesCursorPaginated200ResponseTwoValuesItemNameRegExp
202
+ ),
203
+ project: zod.object({
202
204
  id: zod.number().min(1),
203
- key: zod.string().regex(listTestCasesCursorPaginatedResponseValuesItemKeyRegExp).describe("The test case key"),
204
- name: zod.string().regex(listTestCasesCursorPaginatedResponseValuesItemNameRegExp),
205
- project: zod.object({
206
- id: zod.number().min(1)
207
- }).describe("The ID of the resource").and(
208
- zod.object({
209
- self: zod.string().url().optional().describe(
210
- "The REST API endpoint to get more resource details."
211
- )
212
- })
213
- ).describe("ID and link relative to Zephyr project."),
214
- createdOn: zod.string().datetime({}).optional().describe(
215
- "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"
216
- ),
217
- objective: zod.string().nullish().describe("A description of the objective."),
218
- precondition: zod.string().nullish().describe("Any conditions that need to be met."),
219
- estimatedTime: zod.number().min(
220
- listTestCasesCursorPaginatedResponseValuesItemEstimatedTimeMin
221
- ).nullish().describe("Estimated duration in milliseconds."),
222
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
223
- component: zod.object({
224
- id: zod.number().min(1)
225
- }).describe("The ID of the resource").and(
226
- zod.object({
227
- self: zod.string().url().optional().describe(
228
- "The REST API endpoint to get more resource details."
229
- )
230
- })
231
- ).nullish(),
232
- priority: zod.object({
233
- id: zod.number().min(1)
234
- }).describe("The ID of the resource").and(
235
- zod.object({
236
- self: zod.string().url().optional().describe(
237
- "The REST API endpoint to get more resource details."
238
- )
239
- })
205
+ self: zod.string().url().optional().describe(
206
+ "The REST API endpoint to get more resource details."
207
+ )
208
+ }).strict().describe("ID and link relative to Zephyr project."),
209
+ createdOn: zod.string().datetime({}).optional().describe(
210
+ "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"
211
+ ),
212
+ objective: zod.string().nullish().describe("A description of the objective."),
213
+ precondition: zod.string().nullish().describe("Any conditions that need to be met."),
214
+ estimatedTime: zod.number().min(
215
+ listTestCasesCursorPaginated200ResponseTwoValuesItemEstimatedTimeMin
216
+ ).nullish().describe("Estimated duration in milliseconds."),
217
+ labels: zod.array(zod.string()).max(
218
+ listTestCasesCursorPaginated200ResponseTwoValuesItemLabelsMax
219
+ ).optional().describe("Array of labels associated to this entity."),
220
+ component: zod.object({
221
+ id: zod.number().min(1),
222
+ self: zod.string().url().optional().describe(
223
+ "The REST API endpoint to get more resource details."
224
+ )
225
+ }).strict().nullish(),
226
+ priority: zod.object({
227
+ id: zod.number().min(1),
228
+ self: zod.string().url().optional().describe(
229
+ "The REST API endpoint to get more resource details."
230
+ )
231
+ }).strict(),
232
+ status: zod.object({
233
+ id: zod.number().min(1),
234
+ self: zod.string().url().optional().describe(
235
+ "The REST API endpoint to get more resource details."
236
+ )
237
+ }).strict(),
238
+ folder: zod.object({
239
+ id: zod.number().min(1),
240
+ self: zod.string().url().optional().describe(
241
+ "The REST API endpoint to get more resource details."
242
+ )
243
+ }).strict().nullish(),
244
+ owner: zod.object({
245
+ accountId: zod.string().regex(
246
+ listTestCasesCursorPaginated200ResponseTwoValuesItemOwnerAccountIdRegExp
247
+ ).nullable().describe("Atlassian Account ID of the Jira user."),
248
+ self: zod.string().url().optional().describe(
249
+ "The Jira REST API endpoint to get the full representation of the Jira user."
250
+ )
251
+ }).strict().nullish(),
252
+ testScript: zod.object({
253
+ self: zod.string().url().optional().describe(
254
+ "The REST API endpoint to get more resource details."
255
+ )
256
+ }).strict().optional(),
257
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
258
+ "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"
259
+ ),
260
+ links: zod.object({
261
+ self: zod.string().url().optional().describe(
262
+ "The REST API endpoint to get more resource details."
240
263
  ),
241
- status: zod.object({
242
- id: zod.number().min(1)
243
- }).describe("The ID of the resource").and(
264
+ issues: zod.array(
244
265
  zod.object({
266
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
245
267
  self: zod.string().url().optional().describe(
246
- "The REST API endpoint to get more resource details."
247
- )
248
- })
249
- ),
250
- folder: zod.object({
251
- id: zod.number().min(1)
252
- }).describe("The ID of the resource").and(
268
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
269
+ ),
270
+ id: zod.number().min(1).optional().describe(
271
+ "The ID that represents the link between the entity and the Jira issue."
272
+ ),
273
+ target: zod.string().url().optional().describe(
274
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
275
+ ),
276
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
277
+ }).strict()
278
+ ).optional().describe("A list of Jira issues linked to this entity"),
279
+ webLinks: zod.array(
253
280
  zod.object({
281
+ description: zod.string().optional().describe("The web link description"),
282
+ url: zod.string().url().describe("The web link URL"),
254
283
  self: zod.string().url().optional().describe(
255
- "The REST API endpoint to get more resource details."
256
- )
257
- })
258
- ).nullish(),
259
- owner: zod.object({
260
- accountId: zod.string().regex(
261
- listTestCasesCursorPaginatedResponseValuesItemOwnerAccountIdRegExp
262
- ).nullable().describe("Atlassian Account ID of the Jira user."),
263
- self: zod.string().url().optional().describe(
264
- "The Jira REST API endpoint to get the full representation of the Jira user."
265
- )
266
- }).nullish(),
267
- testScript: zod.object({
268
- self: zod.string().url().optional().describe(
269
- "The REST API endpoint to get more resource details."
270
- )
271
- }).optional(),
272
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
273
- "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"
274
- ),
275
- links: zod.object({
276
- self: zod.string().url().optional().describe(
277
- "The REST API endpoint to get more resource details."
278
- )
279
- }).and(
280
- zod.object({
281
- issues: zod.array(
282
- zod.object({
283
- issueId: zod.number().min(1).describe("The Jira issue ID")
284
- }).and(
285
- zod.object({
286
- self: zod.string().url().optional().describe(
287
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
288
- ),
289
- id: zod.number().min(1).optional().describe(
290
- "The ID that represents the link between the entity and the Jira issue."
291
- ),
292
- target: zod.string().url().optional().describe(
293
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
294
- ),
295
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
296
- })
297
- )
298
- ).optional().describe("A list of Jira issues linked to this entity"),
299
- webLinks: zod.array(
300
- zod.object({
301
- description: zod.string().optional().describe("The web link description"),
302
- url: zod.url().describe("The web link URL")
303
- }).and(
304
- zod.object({
305
- self: zod.string().url().optional().describe(
306
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
307
- ),
308
- id: zod.number().min(1).optional(),
309
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
310
- })
311
- )
312
- ).optional().describe("A list of web links for this entity")
313
- })
314
- ).optional().describe("This property is ignored on updates.")
315
- })
316
- ).optional()
317
- })
318
- );
284
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
285
+ ),
286
+ id: zod.number().min(1).optional(),
287
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
288
+ }).strict()
289
+ ).optional().describe("A list of web links for this entity")
290
+ }).strict().optional().describe("This property is ignored on updates.")
291
+ }).strict()
292
+ ).optional()
293
+ }).strict();
294
+ zod.object({
295
+ errorCode: zod.number(),
296
+ message: zod.string()
297
+ }).strict();
319
298
  const getTestCasePathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
320
- const getTestCaseParams = zod.object({
299
+ const GetTestCaseParams = zod.object({
321
300
  testCaseKey: zod.string().regex(getTestCasePathTestCaseKeyRegExp).describe(
322
301
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
323
302
  )
324
303
  });
325
- const getTestCaseResponseKeyRegExp = /.+-T[0-9]+/;
326
- const getTestCaseResponseNameRegExp = /^(?!\\s*$).+/;
327
- const getTestCaseResponseEstimatedTimeMin = 0;
328
- const getTestCaseResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
329
- const getTestCaseResponse = zod.object({
304
+ const getTestCase200ResponseKeyRegExp = /.+-T[0-9]+/;
305
+ const getTestCase200ResponseNameMax = 255;
306
+ const getTestCase200ResponseNameRegExp = /^(?!\\s*$).+/;
307
+ const getTestCase200ResponseEstimatedTimeMin = 0;
308
+ const getTestCase200ResponseLabelsMax = 50;
309
+ const getTestCase200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
310
+ const GetTestCase200Response = zod.object({
330
311
  id: zod.number().min(1),
331
- key: zod.string().regex(getTestCaseResponseKeyRegExp).describe("The test case key"),
332
- name: zod.string().regex(getTestCaseResponseNameRegExp),
312
+ key: zod.string().regex(getTestCase200ResponseKeyRegExp).describe("The test case key"),
313
+ name: zod.string().min(1).max(getTestCase200ResponseNameMax).regex(getTestCase200ResponseNameRegExp),
333
314
  project: zod.object({
334
- id: zod.number().min(1)
335
- }).describe("The ID of the resource").and(
336
- zod.object({
337
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
338
- })
339
- ).describe("ID and link relative to Zephyr project."),
315
+ id: zod.number().min(1),
316
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
317
+ }).strict().describe("ID and link relative to Zephyr project."),
340
318
  createdOn: zod.string().datetime({}).optional().describe(
341
319
  "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"
342
320
  ),
343
321
  objective: zod.string().nullish().describe("A description of the objective."),
344
322
  precondition: zod.string().nullish().describe("Any conditions that need to be met."),
345
- estimatedTime: zod.number().min(getTestCaseResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
346
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
323
+ estimatedTime: zod.number().min(getTestCase200ResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
324
+ labels: zod.array(zod.string()).max(getTestCase200ResponseLabelsMax).optional().describe("Array of labels associated to this entity."),
347
325
  component: zod.object({
348
- id: zod.number().min(1)
349
- }).describe("The ID of the resource").and(
350
- zod.object({
351
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
352
- })
353
- ).nullish(),
326
+ id: zod.number().min(1),
327
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
328
+ }).strict().nullish(),
354
329
  priority: zod.object({
355
- id: zod.number().min(1)
356
- }).describe("The ID of the resource").and(
357
- zod.object({
358
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
359
- })
360
- ),
330
+ id: zod.number().min(1),
331
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
332
+ }).strict(),
361
333
  status: zod.object({
362
- id: zod.number().min(1)
363
- }).describe("The ID of the resource").and(
364
- zod.object({
365
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
366
- })
367
- ),
334
+ id: zod.number().min(1),
335
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
336
+ }).strict(),
368
337
  folder: zod.object({
369
- id: zod.number().min(1)
370
- }).describe("The ID of the resource").and(
371
- zod.object({
372
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
373
- })
374
- ).nullish(),
338
+ id: zod.number().min(1),
339
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
340
+ }).strict().nullish(),
375
341
  owner: zod.object({
376
- accountId: zod.string().regex(getTestCaseResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
342
+ accountId: zod.string().regex(getTestCase200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
377
343
  self: zod.string().url().optional().describe(
378
344
  "The Jira REST API endpoint to get the full representation of the Jira user."
379
345
  )
380
- }).nullish(),
346
+ }).strict().nullish(),
381
347
  testScript: zod.object({
382
348
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
383
- }).optional(),
349
+ }).strict().optional(),
384
350
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
385
351
  "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"
386
352
  ),
387
353
  links: zod.object({
388
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
389
- }).and(
390
- zod.object({
391
- issues: zod.array(
392
- zod.object({
393
- issueId: zod.number().min(1).describe("The Jira issue ID")
394
- }).and(
395
- zod.object({
396
- self: zod.string().url().optional().describe(
397
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
398
- ),
399
- id: zod.number().min(1).optional().describe(
400
- "The ID that represents the link between the entity and the Jira issue."
401
- ),
402
- target: zod.string().url().optional().describe(
403
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
404
- ),
405
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
406
- })
407
- )
408
- ).optional().describe("A list of Jira issues linked to this entity"),
409
- webLinks: zod.array(
410
- zod.object({
411
- description: zod.string().optional().describe("The web link description"),
412
- url: zod.url().describe("The web link URL")
413
- }).and(
414
- zod.object({
415
- self: zod.string().url().optional().describe(
416
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
417
- ),
418
- id: zod.number().min(1).optional(),
419
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
420
- })
421
- )
422
- ).optional().describe("A list of web links for this entity")
423
- })
424
- ).optional().describe("This property is ignored on updates.")
425
- });
426
- const updateTestCasePathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
354
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
355
+ issues: zod.array(
356
+ zod.object({
357
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
358
+ self: zod.string().url().optional().describe(
359
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
360
+ ),
361
+ id: zod.number().min(1).optional().describe(
362
+ "The ID that represents the link between the entity and the Jira issue."
363
+ ),
364
+ target: zod.string().url().optional().describe(
365
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
366
+ ),
367
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
368
+ }).strict()
369
+ ).optional().describe("A list of Jira issues linked to this entity"),
370
+ webLinks: zod.array(
371
+ zod.object({
372
+ description: zod.string().optional().describe("The web link description"),
373
+ url: zod.string().url().describe("The web link URL"),
374
+ self: zod.string().url().optional().describe(
375
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
376
+ ),
377
+ id: zod.number().min(1).optional(),
378
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
379
+ }).strict()
380
+ ).optional().describe("A list of web links for this entity")
381
+ }).strict().optional().describe("This property is ignored on updates.")
382
+ }).strict();
427
383
  zod.object({
384
+ errorCode: zod.number(),
385
+ message: zod.string()
386
+ }).strict();
387
+ const updateTestCasePathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
388
+ const UpdateTestCaseParams = zod.object({
428
389
  testCaseKey: zod.string().regex(updateTestCasePathTestCaseKeyRegExp).describe(
429
390
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
430
391
  )
431
392
  });
432
393
  const updateTestCaseBodyKeyRegExp = /.+-T[0-9]+/;
394
+ const updateTestCaseBodyNameMax = 255;
433
395
  const updateTestCaseBodyNameRegExp = /^(?!\\s*$).+/;
434
396
  const updateTestCaseBodyEstimatedTimeMin = 0;
397
+ const updateTestCaseBodyLabelsMax = 50;
435
398
  const updateTestCaseBodyOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
436
- zod.object({
399
+ const UpdateTestCaseBody = zod.object({
437
400
  id: zod.number().min(1),
438
401
  key: zod.string().regex(updateTestCaseBodyKeyRegExp).describe("The test case key"),
439
- name: zod.string().regex(updateTestCaseBodyNameRegExp),
402
+ name: zod.string().min(1).max(updateTestCaseBodyNameMax).regex(updateTestCaseBodyNameRegExp),
440
403
  project: zod.object({
441
404
  id: zod.number().min(1)
442
405
  }).describe("The ID of the resource").and(
@@ -450,7 +413,7 @@ zod.object({
450
413
  objective: zod.string().nullish().describe("A description of the objective."),
451
414
  precondition: zod.string().nullish().describe("Any conditions that need to be met."),
452
415
  estimatedTime: zod.number().min(updateTestCaseBodyEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
453
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
416
+ labels: zod.array(zod.string()).max(updateTestCaseBodyLabelsMax).optional().describe("Array of labels associated to this entity."),
454
417
  component: zod.object({
455
418
  id: zod.number().min(1)
456
419
  }).describe("The ID of the resource").and(
@@ -516,7 +479,7 @@ zod.object({
516
479
  webLinks: zod.array(
517
480
  zod.object({
518
481
  description: zod.string().optional().describe("The web link description"),
519
- url: zod.url().describe("The web link URL")
482
+ url: zod.string().url().describe("The web link URL")
520
483
  }).and(
521
484
  zod.object({
522
485
  self: zod.string().url().optional().describe(
@@ -530,6 +493,10 @@ zod.object({
530
493
  })
531
494
  ).optional().describe("This property is ignored on updates.")
532
495
  });
496
+ zod.object({
497
+ errorCode: zod.number(),
498
+ message: zod.string()
499
+ }).strict();
533
500
  const getTestCaseLinksPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
534
501
  zod.object({
535
502
  testCaseKey: zod.string().regex(getTestCaseLinksPathTestCaseKeyRegExp).describe(
@@ -537,43 +504,38 @@ zod.object({
537
504
  )
538
505
  });
539
506
  zod.object({
540
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
541
- }).and(
542
- zod.object({
543
- issues: zod.array(
544
- zod.object({
545
- issueId: zod.number().min(1).describe("The Jira issue ID")
546
- }).and(
547
- zod.object({
548
- self: zod.string().url().optional().describe(
549
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
550
- ),
551
- id: zod.number().min(1).optional().describe(
552
- "The ID that represents the link between the entity and the Jira issue."
553
- ),
554
- target: zod.string().url().optional().describe(
555
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
556
- ),
557
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
558
- })
559
- )
560
- ).optional().describe("A list of Jira issues linked to this entity"),
561
- webLinks: zod.array(
562
- zod.object({
563
- description: zod.string().optional().describe("The web link description"),
564
- url: zod.url().describe("The web link URL")
565
- }).and(
566
- zod.object({
567
- self: zod.string().url().optional().describe(
568
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
569
- ),
570
- id: zod.number().min(1).optional(),
571
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
572
- })
573
- )
574
- ).optional().describe("A list of web links for this entity")
575
- })
576
- ).describe("This property is ignored on updates.");
507
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
508
+ issues: zod.array(
509
+ zod.object({
510
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
511
+ self: zod.string().url().optional().describe(
512
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
513
+ ),
514
+ id: zod.number().min(1).optional().describe(
515
+ "The ID that represents the link between the entity and the Jira issue."
516
+ ),
517
+ target: zod.string().url().optional().describe(
518
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
519
+ ),
520
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
521
+ }).strict()
522
+ ).optional().describe("A list of Jira issues linked to this entity"),
523
+ webLinks: zod.array(
524
+ zod.object({
525
+ description: zod.string().optional().describe("The web link description"),
526
+ url: zod.string().url().describe("The web link URL"),
527
+ self: zod.string().url().optional().describe(
528
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
529
+ ),
530
+ id: zod.number().min(1).optional(),
531
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
532
+ }).strict()
533
+ ).optional().describe("A list of web links for this entity")
534
+ }).strict().describe("This property is ignored on updates.");
535
+ zod.object({
536
+ errorCode: zod.number(),
537
+ message: zod.string()
538
+ }).strict();
577
539
  const createTestCaseIssueLinkPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
578
540
  zod.object({
579
541
  testCaseKey: zod.string().regex(createTestCaseIssueLinkPathTestCaseKeyRegExp).describe(
@@ -583,16 +545,32 @@ zod.object({
583
545
  zod.object({
584
546
  issueId: zod.number().min(1).describe("The Jira issue ID")
585
547
  });
586
- const createTestCaseWebLinkPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
587
548
  zod.object({
549
+ id: zod.number().min(1).optional(),
550
+ self: zod.string().optional()
551
+ }).strict();
552
+ zod.object({
553
+ errorCode: zod.number(),
554
+ message: zod.string()
555
+ }).strict();
556
+ const createTestCaseWebLinkPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
557
+ const CreateTestCaseWebLinkParams = zod.object({
588
558
  testCaseKey: zod.string().regex(createTestCaseWebLinkPathTestCaseKeyRegExp).describe(
589
559
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
590
560
  )
591
561
  });
592
- zod.object({
562
+ const CreateTestCaseWebLinkBody = zod.object({
593
563
  description: zod.string().optional().describe("The web link description"),
594
- url: zod.url().describe("The web link URL")
564
+ url: zod.string().url().describe("The web link URL")
595
565
  });
566
+ const CreateTestCaseWebLink201Response = zod.object({
567
+ id: zod.number().min(1).optional(),
568
+ self: zod.string().optional()
569
+ }).strict();
570
+ zod.object({
571
+ errorCode: zod.number(),
572
+ message: zod.string()
573
+ }).strict();
596
574
  const listTestCaseVersionsPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
597
575
  zod.object({
598
576
  testCaseKey: zod.string().regex(listTestCaseVersionsPathTestCaseKeyRegExp).describe(
@@ -600,47 +578,44 @@ zod.object({
600
578
  )
601
579
  });
602
580
  const listTestCaseVersionsQueryMaxResultsDefault = 10;
581
+ const listTestCaseVersionsQueryStartAtDefault = 0;
603
582
  const listTestCaseVersionsQueryStartAtMin = 0;
604
583
  const listTestCaseVersionsQueryStartAtMax = 1e6;
605
584
  zod.object({
606
585
  maxResults: zod.number().min(1).default(listTestCaseVersionsQueryMaxResultsDefault).describe(
607
586
  "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"
608
587
  ),
609
- startAt: zod.number().min(listTestCaseVersionsQueryStartAtMin).max(listTestCaseVersionsQueryStartAtMax).optional().describe(
588
+ startAt: zod.number().min(listTestCaseVersionsQueryStartAtMin).max(listTestCaseVersionsQueryStartAtMax).default(listTestCaseVersionsQueryStartAtDefault).describe(
610
589
  "Zero-indexed starting position. Should be a multiple of maxResults."
611
590
  )
612
591
  });
613
- const listTestCaseVersionsResponseStartAtMin = 0;
614
- const listTestCaseVersionsResponseTotalMin = 0;
592
+ const listTestCaseVersions200ResponseOneStartAtMin = 0;
593
+ const listTestCaseVersions200ResponseOneTotalMin = 0;
615
594
  zod.object({
616
595
  next: zod.string().url().nullish().describe(
617
596
  "URL to the next page of results, or null if there are no more results."
618
597
  ),
619
- startAt: zod.number().min(listTestCaseVersionsResponseStartAtMin).describe(
598
+ startAt: zod.number().min(listTestCaseVersions200ResponseOneStartAtMin).describe(
620
599
  "Indicates the index of the first item returned in the page of results."
621
600
  ),
622
601
  maxResults: zod.number().min(1).describe(
623
602
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
624
603
  ),
625
- total: zod.number().min(listTestCaseVersionsResponseTotalMin).optional().describe(
604
+ total: zod.number().min(listTestCaseVersions200ResponseOneTotalMin).optional().describe(
626
605
  "Indicates the total number of items available across all pages."
627
606
  ),
628
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
629
- }).and(
630
- zod.object({
631
- values: zod.array(
632
- zod.object({
633
- self: zod.string().url().optional().describe(
634
- "The REST API endpoint to get more resource details."
635
- )
636
- }).and(
637
- zod.object({
638
- id: zod.number().min(1).optional()
639
- })
640
- )
641
- ).optional().describe("A list of versions for a test case")
642
- })
643
- );
607
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
608
+ values: zod.array(
609
+ zod.object({
610
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
611
+ id: zod.number().min(1).optional()
612
+ }).strict()
613
+ ).optional().describe("A list of versions for a test case")
614
+ }).strict();
615
+ zod.object({
616
+ errorCode: zod.number(),
617
+ message: zod.string()
618
+ }).strict();
644
619
  const getTestCaseVersionPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
645
620
  zod.object({
646
621
  testCaseKey: zod.string().regex(getTestCaseVersionPathTestCaseKeyRegExp).describe(
@@ -648,107 +623,89 @@ zod.object({
648
623
  ),
649
624
  version: zod.number().describe("Version of the test case to retrieve.")
650
625
  });
651
- const getTestCaseVersionResponseKeyRegExp = /.+-T[0-9]+/;
652
- const getTestCaseVersionResponseNameRegExp = /^(?!\\s*$).+/;
653
- const getTestCaseVersionResponseEstimatedTimeMin = 0;
654
- const getTestCaseVersionResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
626
+ const getTestCaseVersion200ResponseKeyRegExp = /.+-T[0-9]+/;
627
+ const getTestCaseVersion200ResponseNameMax = 255;
628
+ const getTestCaseVersion200ResponseNameRegExp = /^(?!\\s*$).+/;
629
+ const getTestCaseVersion200ResponseEstimatedTimeMin = 0;
630
+ const getTestCaseVersion200ResponseLabelsMax = 50;
631
+ const getTestCaseVersion200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
655
632
  zod.object({
656
633
  id: zod.number().min(1),
657
- key: zod.string().regex(getTestCaseVersionResponseKeyRegExp).describe("The test case key"),
658
- name: zod.string().regex(getTestCaseVersionResponseNameRegExp),
634
+ key: zod.string().regex(getTestCaseVersion200ResponseKeyRegExp).describe("The test case key"),
635
+ name: zod.string().min(1).max(getTestCaseVersion200ResponseNameMax).regex(getTestCaseVersion200ResponseNameRegExp),
659
636
  project: zod.object({
660
- id: zod.number().min(1)
661
- }).describe("The ID of the resource").and(
662
- zod.object({
663
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
664
- })
665
- ).describe("ID and link relative to Zephyr project."),
637
+ id: zod.number().min(1),
638
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
639
+ }).strict().describe("ID and link relative to Zephyr project."),
666
640
  createdOn: zod.string().datetime({}).optional().describe(
667
641
  "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"
668
642
  ),
669
643
  objective: zod.string().nullish().describe("A description of the objective."),
670
644
  precondition: zod.string().nullish().describe("Any conditions that need to be met."),
671
- estimatedTime: zod.number().min(getTestCaseVersionResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
672
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
645
+ estimatedTime: zod.number().min(getTestCaseVersion200ResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
646
+ labels: zod.array(zod.string()).max(getTestCaseVersion200ResponseLabelsMax).optional().describe("Array of labels associated to this entity."),
673
647
  component: zod.object({
674
- id: zod.number().min(1)
675
- }).describe("The ID of the resource").and(
676
- zod.object({
677
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
678
- })
679
- ).nullish(),
648
+ id: zod.number().min(1),
649
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
650
+ }).strict().nullish(),
680
651
  priority: zod.object({
681
- id: zod.number().min(1)
682
- }).describe("The ID of the resource").and(
683
- zod.object({
684
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
685
- })
686
- ),
652
+ id: zod.number().min(1),
653
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
654
+ }).strict(),
687
655
  status: zod.object({
688
- id: zod.number().min(1)
689
- }).describe("The ID of the resource").and(
690
- zod.object({
691
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
692
- })
693
- ),
656
+ id: zod.number().min(1),
657
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
658
+ }).strict(),
694
659
  folder: zod.object({
695
- id: zod.number().min(1)
696
- }).describe("The ID of the resource").and(
697
- zod.object({
698
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
699
- })
700
- ).nullish(),
660
+ id: zod.number().min(1),
661
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
662
+ }).strict().nullish(),
701
663
  owner: zod.object({
702
- accountId: zod.string().regex(getTestCaseVersionResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
664
+ accountId: zod.string().regex(getTestCaseVersion200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
703
665
  self: zod.string().url().optional().describe(
704
666
  "The Jira REST API endpoint to get the full representation of the Jira user."
705
667
  )
706
- }).nullish(),
668
+ }).strict().nullish(),
707
669
  testScript: zod.object({
708
670
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
709
- }).optional(),
671
+ }).strict().optional(),
710
672
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
711
673
  "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"
712
674
  ),
713
675
  links: zod.object({
714
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
715
- }).and(
716
- zod.object({
717
- issues: zod.array(
718
- zod.object({
719
- issueId: zod.number().min(1).describe("The Jira issue ID")
720
- }).and(
721
- zod.object({
722
- self: zod.string().url().optional().describe(
723
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
724
- ),
725
- id: zod.number().min(1).optional().describe(
726
- "The ID that represents the link between the entity and the Jira issue."
727
- ),
728
- target: zod.string().url().optional().describe(
729
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
730
- ),
731
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
732
- })
733
- )
734
- ).optional().describe("A list of Jira issues linked to this entity"),
735
- webLinks: zod.array(
736
- zod.object({
737
- description: zod.string().optional().describe("The web link description"),
738
- url: zod.url().describe("The web link URL")
739
- }).and(
740
- zod.object({
741
- self: zod.string().url().optional().describe(
742
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
743
- ),
744
- id: zod.number().min(1).optional(),
745
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
746
- })
747
- )
748
- ).optional().describe("A list of web links for this entity")
749
- })
750
- ).optional().describe("This property is ignored on updates.")
751
- });
676
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
677
+ issues: zod.array(
678
+ zod.object({
679
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
680
+ self: zod.string().url().optional().describe(
681
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
682
+ ),
683
+ id: zod.number().min(1).optional().describe(
684
+ "The ID that represents the link between the entity and the Jira issue."
685
+ ),
686
+ target: zod.string().url().optional().describe(
687
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
688
+ ),
689
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
690
+ }).strict()
691
+ ).optional().describe("A list of Jira issues linked to this entity"),
692
+ webLinks: zod.array(
693
+ zod.object({
694
+ description: zod.string().optional().describe("The web link description"),
695
+ url: zod.string().url().describe("The web link URL"),
696
+ self: zod.string().url().optional().describe(
697
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
698
+ ),
699
+ id: zod.number().min(1).optional(),
700
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
701
+ }).strict()
702
+ ).optional().describe("A list of web links for this entity")
703
+ }).strict().optional().describe("This property is ignored on updates.")
704
+ }).strict();
705
+ zod.object({
706
+ errorCode: zod.number(),
707
+ message: zod.string()
708
+ }).strict();
752
709
  const getTestCaseTestScriptPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
753
710
  zod.object({
754
711
  testCaseKey: zod.string().regex(getTestCaseTestScriptPathTestCaseKeyRegExp).describe(
@@ -759,12 +716,13 @@ zod.object({
759
716
  type: zod.enum(["plain", "bdd"]).describe(
760
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."
761
718
  ),
762
- text: zod.string().min(1)
763
- }).describe("Request body for creating test scripts").and(
764
- zod.object({
765
- id: zod.number().min(1).optional()
766
- })
767
- ).describe("Response body when retrieving test scripts");
719
+ text: zod.string().min(1),
720
+ id: zod.number().min(1).optional()
721
+ }).strict().describe("Response body when retrieving test scripts");
722
+ zod.object({
723
+ errorCode: zod.number(),
724
+ message: zod.string()
725
+ }).strict();
768
726
  const createTestCaseTestScriptPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
769
727
  zod.object({
770
728
  testCaseKey: zod.string().regex(createTestCaseTestScriptPathTestCaseKeyRegExp).describe(
@@ -777,6 +735,14 @@ zod.object({
777
735
  ),
778
736
  text: zod.string().min(1)
779
737
  }).describe("Request body for creating test scripts");
738
+ zod.object({
739
+ id: zod.number().min(1).optional(),
740
+ self: zod.string().optional()
741
+ }).strict();
742
+ zod.object({
743
+ errorCode: zod.number(),
744
+ message: zod.string()
745
+ }).strict();
780
746
  const getTestCaseTestStepsPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
781
747
  zod.object({
782
748
  testCaseKey: zod.string().regex(getTestCaseTestStepsPathTestCaseKeyRegExp).describe(
@@ -784,87 +750,84 @@ zod.object({
784
750
  )
785
751
  });
786
752
  const getTestCaseTestStepsQueryMaxResultsDefault = 10;
753
+ const getTestCaseTestStepsQueryStartAtDefault = 0;
787
754
  const getTestCaseTestStepsQueryStartAtMin = 0;
788
755
  const getTestCaseTestStepsQueryStartAtMax = 1e6;
789
756
  zod.object({
790
757
  maxResults: zod.number().min(1).default(getTestCaseTestStepsQueryMaxResultsDefault).describe(
791
758
  "Specifies the maximum number of results to return in a single call. The default value is 10, and the maximum value that can be requested is 1000.\n\nNote that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints. If this happens, the result set may be truncated. Always check the maxResults value in the response to confirm how many results were actually returned.\n"
792
759
  ),
793
- startAt: zod.number().min(getTestCaseTestStepsQueryStartAtMin).max(getTestCaseTestStepsQueryStartAtMax).optional().describe(
760
+ startAt: zod.number().min(getTestCaseTestStepsQueryStartAtMin).max(getTestCaseTestStepsQueryStartAtMax).default(getTestCaseTestStepsQueryStartAtDefault).describe(
794
761
  "Zero-indexed starting position. Should be a multiple of maxResults."
795
762
  )
796
763
  });
797
- const getTestCaseTestStepsResponseStartAtMin = 0;
798
- const getTestCaseTestStepsResponseTotalMin = 0;
799
- const getTestCaseTestStepsResponseValuesItemTestCaseTestCaseKeyRegExp = /(.+-T[0-9]+)/;
764
+ const getTestCaseTestSteps200ResponseOneStartAtMin = 0;
765
+ const getTestCaseTestSteps200ResponseOneTotalMin = 0;
766
+ const getTestCaseTestSteps200ResponseTwoValuesItemTestCaseTwoTestCaseKeyRegExp = /(.+-T[0-9]+)/;
800
767
  zod.object({
801
768
  next: zod.string().url().nullish().describe(
802
769
  "URL to the next page of results, or null if there are no more results."
803
770
  ),
804
- startAt: zod.number().min(getTestCaseTestStepsResponseStartAtMin).describe(
771
+ startAt: zod.number().min(getTestCaseTestSteps200ResponseOneStartAtMin).describe(
805
772
  "Indicates the index of the first item returned in the page of results."
806
773
  ),
807
774
  maxResults: zod.number().min(1).describe(
808
775
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
809
776
  ),
810
- total: zod.number().min(getTestCaseTestStepsResponseTotalMin).optional().describe(
777
+ total: zod.number().min(getTestCaseTestSteps200ResponseOneTotalMin).optional().describe(
811
778
  "Indicates the total number of items available across all pages."
812
779
  ),
813
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
814
- }).and(
815
- zod.object({
816
- values: zod.array(
817
- zod.object({
818
- inline: zod.object({
819
- description: zod.string().optional().describe("The instruction to be followed"),
820
- testData: zod.string().optional().describe(
821
- "Any test data required to perform the instruction (optional). The fields values provided can be interpolated into the description."
822
- ),
823
- expectedResult: zod.string().optional().describe(
824
- "The expected outcome of executing the instruction"
825
- ),
826
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
827
- "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"
828
- ),
829
- reflectRef: zod.string().optional().describe("The AI reference. Zephyr only feature")
830
- }).optional(),
831
- testCase: zod.object({
832
- self: zod.string().url().optional().describe(
833
- "The REST API endpoint to get more resource details."
834
- )
835
- }).and(
780
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
781
+ values: zod.array(
782
+ zod.object({
783
+ inline: zod.object({
784
+ description: zod.string().optional().describe("The instruction to be followed"),
785
+ testData: zod.string().optional().describe(
786
+ "Any test data required to perform the instruction (optional). The fields values provided can be interpolated into the description."
787
+ ),
788
+ expectedResult: zod.string().optional().describe(
789
+ "The expected outcome of executing the instruction"
790
+ ),
791
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
792
+ "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"
793
+ ),
794
+ reflectRef: zod.string().optional().describe("The AI reference. Zephyr only feature")
795
+ }).strict().optional(),
796
+ testCase: zod.object({
797
+ self: zod.string().url().optional().describe(
798
+ "The REST API endpoint to get more resource details."
799
+ ),
800
+ testCaseKey: zod.string().regex(
801
+ getTestCaseTestSteps200ResponseTwoValuesItemTestCaseTwoTestCaseKeyRegExp
802
+ ).optional().describe(
803
+ "The key of the other test case that the test step should delegate execution to. This cannot be the parent test case."
804
+ ),
805
+ parameters: zod.array(
836
806
  zod.object({
837
- testCaseKey: zod.string().regex(
838
- getTestCaseTestStepsResponseValuesItemTestCaseTestCaseKeyRegExp
839
- ).optional().describe(
840
- "The key of the other test case that the test step should delegate execution to. This cannot be the parent test case."
807
+ name: zod.string().optional().describe("Name of the parameter"),
808
+ type: zod.enum(["MANUAL_INPUT", "DEFAULT_VALUE"]).optional().describe(
809
+ "Type of the parameter. It is manual inputs for parameters or the default values."
841
810
  ),
842
- parameters: zod.array(
843
- zod.object({
844
- name: zod.string().optional().describe("Name of the parameter"),
845
- type: zod.enum(["MANUAL_INPUT", "DEFAULT_VALUE"]).optional().describe(
846
- "Type of the parameter. It is manual inputs for parameters or the default values."
847
- ),
848
- value: zod.string().optional().describe("Value of the parameter")
849
- })
850
- ).optional().describe(
851
- "The list of parameters of the call to test step"
852
- )
853
- })
854
- ).optional()
855
- }).describe(
856
- "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."
857
- )
858
- ).optional().describe("The list of test steps")
859
- })
860
- ).describe("Response body when retrieving test steps");
811
+ value: zod.string().optional().describe("Value of the parameter")
812
+ }).strict()
813
+ ).optional().describe("The list of parameters of the call to test step")
814
+ }).strict().optional()
815
+ }).strict().describe(
816
+ "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."
817
+ )
818
+ ).optional().describe("The list of test steps")
819
+ }).strict().describe("Response body when retrieving test steps");
820
+ zod.object({
821
+ errorCode: zod.number(),
822
+ message: zod.string()
823
+ }).strict();
861
824
  const createTestCaseTestStepsPathTestCaseKeyRegExp = /(.+-T[0-9]+)/;
862
825
  zod.object({
863
826
  testCaseKey: zod.string().regex(createTestCaseTestStepsPathTestCaseKeyRegExp).describe(
864
827
  "The key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+"
865
828
  )
866
829
  });
867
- const createTestCaseTestStepsBodyItemsItemTestCaseTestCaseKeyRegExp = /(.+-T[0-9]+)/;
830
+ const createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp = /(.+-T[0-9]+)/;
868
831
  zod.object({
869
832
  mode: zod.string().describe(
870
833
  'Valid values: `"APPEND"`, `"OVERWRITE"`. <br> `OVERWRITE` deletes and recreates the test steps and associated custom field values using the provided input. Attachments for existing steps are kept, but those for missing steps are deleted permanently <br> `APPEND` only adds extra steps to your test steps.\n'
@@ -891,7 +854,7 @@ zod.object({
891
854
  }).and(
892
855
  zod.object({
893
856
  testCaseKey: zod.string().regex(
894
- createTestCaseTestStepsBodyItemsItemTestCaseTestCaseKeyRegExp
857
+ createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp
895
858
  ).optional().describe(
896
859
  "The key of the other test case that the test step should delegate execution to. This cannot be the parent test case."
897
860
  ),
@@ -917,11 +880,20 @@ zod.object({
917
880
  }).describe(
918
881
  "Request body for creating test steps. A maximum of 100 test steps can be added in one request. To add more than 100 steps, you can submit multiple requests. The mode property allows you to specify whether you want to delete the current test steps and create a new list, or append more items to the end of the current list."
919
882
  );
883
+ zod.object({
884
+ id: zod.number().min(1).optional(),
885
+ self: zod.string().optional()
886
+ }).strict();
887
+ zod.object({
888
+ errorCode: zod.number(),
889
+ message: zod.string()
890
+ }).strict();
920
891
  const listTestCyclesQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
921
892
  const listTestCyclesQueryMaxResultsDefault = 10;
893
+ const listTestCyclesQueryStartAtDefault = 0;
922
894
  const listTestCyclesQueryStartAtMin = 0;
923
895
  const listTestCyclesQueryStartAtMax = 1e6;
924
- const listTestCyclesQueryParams = zod.object({
896
+ const ListTestCyclesQueryParams = zod.object({
925
897
  projectKey: zod.string().regex(listTestCyclesQueryProjectKeyRegExp).optional().describe("Jira project key filter"),
926
898
  folderId: zod.number().min(1).optional().describe("Folder ID filter"),
927
899
  jiraProjectVersionId: zod.number().min(1).optional().describe(
@@ -930,158 +902,141 @@ const listTestCyclesQueryParams = zod.object({
930
902
  maxResults: zod.number().min(1).default(listTestCyclesQueryMaxResultsDefault).describe(
931
903
  "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"
932
904
  ),
933
- startAt: zod.number().min(listTestCyclesQueryStartAtMin).max(listTestCyclesQueryStartAtMax).optional().describe(
905
+ startAt: zod.number().min(listTestCyclesQueryStartAtMin).max(listTestCyclesQueryStartAtMax).default(listTestCyclesQueryStartAtDefault).describe(
934
906
  "Zero-indexed starting position. Should be a multiple of maxResults."
935
907
  )
936
908
  });
937
- const listTestCyclesResponseStartAtMin = 0;
938
- const listTestCyclesResponseTotalMin = 0;
939
- const listTestCyclesResponseValuesItemKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
940
- const listTestCyclesResponseValuesItemNameRegExp = /^(?!\s*$).+/;
941
- const listTestCyclesResponseValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
942
- const listTestCyclesResponse = zod.object({
909
+ const listTestCycles200ResponseOneStartAtMin = 0;
910
+ const listTestCycles200ResponseOneTotalMin = 0;
911
+ const listTestCycles200ResponseTwoValuesItemKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
912
+ const listTestCycles200ResponseTwoValuesItemNameRegExp = /^(?!\s*$).+/;
913
+ const listTestCycles200ResponseTwoValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
914
+ const ListTestCycles200Response = zod.object({
943
915
  next: zod.string().url().nullish().describe(
944
916
  "URL to the next page of results, or null if there are no more results."
945
917
  ),
946
- startAt: zod.number().min(listTestCyclesResponseStartAtMin).describe(
918
+ startAt: zod.number().min(listTestCycles200ResponseOneStartAtMin).describe(
947
919
  "Indicates the index of the first item returned in the page of results."
948
920
  ),
949
921
  maxResults: zod.number().min(1).describe(
950
922
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
951
923
  ),
952
- total: zod.number().min(listTestCyclesResponseTotalMin).optional().describe(
924
+ total: zod.number().min(listTestCycles200ResponseOneTotalMin).optional().describe(
953
925
  "Indicates the total number of items available across all pages."
954
926
  ),
955
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
956
- }).and(
957
- zod.object({
958
- values: zod.array(
959
- zod.object({
927
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
928
+ values: zod.array(
929
+ zod.object({
930
+ id: zod.number().min(1),
931
+ key: zod.string().regex(listTestCycles200ResponseTwoValuesItemKeyRegExp).describe("Unique key of the test cycle"),
932
+ name: zod.string().regex(listTestCycles200ResponseTwoValuesItemNameRegExp).describe("Name of the Test Cycle"),
933
+ project: zod.object({
960
934
  id: zod.number().min(1),
961
- key: zod.string().regex(listTestCyclesResponseValuesItemKeyRegExp).describe("Unique key of the test cycle"),
962
- name: zod.string().regex(listTestCyclesResponseValuesItemNameRegExp).describe("Name of the Test Cycle"),
963
- project: zod.object({
964
- id: zod.number().min(1)
965
- }).describe("The ID of the resource").and(
966
- zod.object({
967
- self: zod.string().url().optional().describe(
968
- "The REST API endpoint to get more resource details."
969
- )
970
- })
971
- ).describe("ID and link relative to Zephyr project."),
972
- jiraProjectVersion: zod.object({
973
- id: zod.number().min(1)
974
- }).describe("The ID of the resource").and(
935
+ self: zod.string().url().optional().describe(
936
+ "The REST API endpoint to get more resource details."
937
+ )
938
+ }).strict().describe("ID and link relative to Zephyr project."),
939
+ jiraProjectVersion: zod.object({
940
+ id: zod.number().min(1),
941
+ self: zod.string().url().optional().describe(
942
+ "The REST API endpoint to get more resource details."
943
+ )
944
+ }).strict().nullish().describe(
945
+ "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
946
+ ),
947
+ status: zod.object({
948
+ id: zod.number().min(1),
949
+ self: zod.string().url().optional().describe(
950
+ "The REST API endpoint to get more resource details."
951
+ )
952
+ }).strict(),
953
+ folder: zod.object({
954
+ id: zod.number().min(1),
955
+ self: zod.string().url().optional().describe(
956
+ "The REST API endpoint to get more resource details."
957
+ )
958
+ }).strict().nullish(),
959
+ description: zod.string().nullish().describe("Description outlining the scope."),
960
+ plannedStartDate: zod.string().datetime({}).nullish().describe(
961
+ "Planned start date of the test cycle. This field cannot be blank. Setting it as null or excluding it from the request will leave the field values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
962
+ ),
963
+ plannedEndDate: zod.string().datetime({}).nullish().describe(
964
+ "The planned end 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')"
965
+ ),
966
+ owner: zod.object({
967
+ accountId: zod.string().regex(
968
+ listTestCycles200ResponseTwoValuesItemOwnerAccountIdRegExp
969
+ ).nullable().describe("Atlassian Account ID of the Jira user."),
970
+ self: zod.string().url().optional().describe(
971
+ "The Jira REST API endpoint to get the full representation of the Jira user."
972
+ )
973
+ }).strict().nullish(),
974
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
975
+ "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"
976
+ ),
977
+ links: zod.object({
978
+ self: zod.string().url().optional().describe(
979
+ "The REST API endpoint to get more resource details."
980
+ ),
981
+ issues: zod.array(
975
982
  zod.object({
983
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
976
984
  self: zod.string().url().optional().describe(
977
- "The REST API endpoint to get more resource details."
978
- )
979
- })
980
- ).nullish().describe(
981
- "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
982
- ),
983
- status: zod.object({
984
- id: zod.number().min(1)
985
- }).describe("The ID of the resource").and(
985
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
986
+ ),
987
+ id: zod.number().min(1).optional().describe(
988
+ "The ID that represents the link between the entity and the Jira issue."
989
+ ),
990
+ target: zod.string().url().optional().describe(
991
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
992
+ ),
993
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
994
+ }).strict()
995
+ ).optional().describe("A list of Jira issues linked to this entity"),
996
+ webLinks: zod.array(
986
997
  zod.object({
998
+ description: zod.string().optional().describe("The web link description"),
999
+ url: zod.string().url().describe("The web link URL"),
987
1000
  self: zod.string().url().optional().describe(
988
- "The REST API endpoint to get more resource details."
989
- )
990
- })
991
- ),
992
- folder: zod.object({
993
- id: zod.number().min(1)
994
- }).describe("The ID of the resource").and(
1001
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1002
+ ),
1003
+ id: zod.number().min(1).optional(),
1004
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1005
+ }).strict()
1006
+ ).optional().describe("A list of web links for this entity"),
1007
+ testPlans: zod.array(
995
1008
  zod.object({
1009
+ id: zod.number().min(1).optional().describe(
1010
+ "The ID that represents the link between the Test Cycle and the Test Plan."
1011
+ ),
996
1012
  self: zod.string().url().optional().describe(
997
- "The REST API endpoint to get more resource details."
1013
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1014
+ ),
1015
+ testPlanId: zod.number().optional().describe("The ID of the test plan"),
1016
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1017
+ target: zod.string().url().optional().describe(
1018
+ "The Zephyr REST API endpoint to get the full representation of the test plan"
998
1019
  )
999
- })
1000
- ).nullish(),
1001
- description: zod.string().nullish().describe("Description outlining the scope."),
1002
- plannedStartDate: zod.string().datetime({}).nullish().describe(
1003
- "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')"
1004
- ),
1005
- plannedEndDate: zod.string().datetime({}).nullish().describe(
1006
- "The planned end 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')"
1007
- ),
1008
- owner: zod.object({
1009
- accountId: zod.string().regex(listTestCyclesResponseValuesItemOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1010
- self: zod.string().url().optional().describe(
1011
- "The Jira REST API endpoint to get the full representation of the Jira user."
1012
- )
1013
- }).nullish(),
1014
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1015
- "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"
1016
- ),
1017
- links: zod.object({
1018
- self: zod.string().url().optional().describe(
1019
- "The REST API endpoint to get more resource details."
1020
- )
1021
- }).and(
1022
- zod.object({
1023
- issues: zod.array(
1024
- zod.object({
1025
- issueId: zod.number().min(1).describe("The Jira issue ID")
1026
- }).and(
1027
- zod.object({
1028
- self: zod.string().url().optional().describe(
1029
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1030
- ),
1031
- id: zod.number().min(1).optional().describe(
1032
- "The ID that represents the link between the entity and the Jira issue."
1033
- ),
1034
- target: zod.string().url().optional().describe(
1035
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1036
- ),
1037
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1038
- })
1039
- )
1040
- ).optional().describe("A list of Jira issues linked to this entity"),
1041
- webLinks: zod.array(
1042
- zod.object({
1043
- description: zod.string().optional().describe("The web link description"),
1044
- url: zod.string().url().describe("The web link URL")
1045
- }).and(
1046
- zod.object({
1047
- self: zod.string().url().optional().describe(
1048
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1049
- ),
1050
- id: zod.number().min(1).optional(),
1051
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1052
- })
1053
- )
1054
- ).optional().describe("A list of web links for this entity"),
1055
- testPlans: zod.array(
1056
- zod.object({
1057
- id: zod.number().min(1).optional().describe(
1058
- "The ID that represents the link between the Test Cycle and the Test Plan."
1059
- ),
1060
- self: zod.string().url().optional().describe(
1061
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1062
- ),
1063
- testPlanId: zod.number().optional().describe("The ID of the test plan"),
1064
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1065
- target: zod.string().url().optional().describe(
1066
- "The Zephyr REST API endpoint to get the full representation of the test plan"
1067
- )
1068
- })
1069
- ).optional().describe("A list of test plans linked to a test cycle")
1070
- })
1071
- ).optional().describe(
1072
- "Represents all links that a Test Cycle has. This property is ignored on update operations."
1073
- )
1074
- }).describe("Details of a test cycle")
1075
- ).optional()
1076
- })
1077
- );
1020
+ }).strict()
1021
+ ).optional().describe("A list of test plans linked to a test cycle")
1022
+ }).strict().optional().describe(
1023
+ "Represents all links that a Test Cycle has. This property is ignored on update operations."
1024
+ )
1025
+ }).strict().describe("Details of a test cycle")
1026
+ ).optional()
1027
+ }).strict();
1028
+ zod.object({
1029
+ errorCode: zod.number(),
1030
+ message: zod.string()
1031
+ }).strict();
1078
1032
  const createTestCycleBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
1033
+ const createTestCycleBodyNameMax = 255;
1079
1034
  const createTestCycleBodyNameRegExp = /^(?!\\s*$).+/;
1080
1035
  const createTestCycleBodyStatusNameMax = 255;
1081
1036
  const createTestCycleBodyOwnerIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1082
- zod.object({
1037
+ const CreateTestCycleBody = zod.object({
1083
1038
  projectKey: zod.string().regex(createTestCycleBodyProjectKeyRegExp).describe("Jira project key."),
1084
- name: zod.string().regex(createTestCycleBodyNameRegExp),
1039
+ name: zod.string().min(1).max(createTestCycleBodyNameMax).regex(createTestCycleBodyNameRegExp),
1085
1040
  description: zod.string().nullish().describe("Description outlining the scope."),
1086
1041
  plannedStartDate: zod.string().datetime({}).optional().describe(
1087
1042
  "Planned start date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
@@ -1099,47 +1054,44 @@ zod.object({
1099
1054
  "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"
1100
1055
  )
1101
1056
  });
1057
+ const CreateTestCycle201Response = zod.object({
1058
+ id: zod.number().min(1).optional(),
1059
+ self: zod.string().optional(),
1060
+ key: zod.string().optional()
1061
+ }).strict();
1062
+ zod.object({
1063
+ errorCode: zod.number(),
1064
+ message: zod.string()
1065
+ }).strict();
1102
1066
  const getTestCyclePathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1103
- const getTestCycleParams = zod.object({
1067
+ const GetTestCycleParams = zod.object({
1104
1068
  testCycleIdOrKey: zod.string().regex(getTestCyclePathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1105
1069
  });
1106
- const getTestCycleResponseKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1107
- const getTestCycleResponseNameRegExp = /^(?!\s*$).+/;
1108
- const getTestCycleResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1109
- const getTestCycleResponse = zod.object({
1070
+ const getTestCycle200ResponseKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1071
+ const getTestCycle200ResponseNameRegExp = /^(?!\s*$).+/;
1072
+ const getTestCycle200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1073
+ const GetTestCycle200Response = zod.object({
1110
1074
  id: zod.number().min(1),
1111
- key: zod.string().regex(getTestCycleResponseKeyRegExp).describe("Unique key of the test cycle"),
1112
- name: zod.string().regex(getTestCycleResponseNameRegExp).describe("Name of the Test Cycle"),
1075
+ key: zod.string().regex(getTestCycle200ResponseKeyRegExp).describe("Unique key of the test cycle"),
1076
+ name: zod.string().regex(getTestCycle200ResponseNameRegExp).describe("Name of the Test Cycle"),
1113
1077
  project: zod.object({
1114
- id: zod.number().min(1)
1115
- }).describe("The ID of the resource").and(
1116
- zod.object({
1117
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1118
- })
1119
- ).describe("ID and link relative to Zephyr project."),
1078
+ id: zod.number().min(1),
1079
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1080
+ }).strict().describe("ID and link relative to Zephyr project."),
1120
1081
  jiraProjectVersion: zod.object({
1121
- id: zod.number().min(1)
1122
- }).describe("The ID of the resource").and(
1123
- zod.object({
1124
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1125
- })
1126
- ).nullish().describe(
1082
+ id: zod.number().min(1),
1083
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1084
+ }).strict().nullish().describe(
1127
1085
  "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1128
1086
  ),
1129
1087
  status: zod.object({
1130
- id: zod.number().min(1)
1131
- }).describe("The ID of the resource").and(
1132
- zod.object({
1133
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1134
- })
1135
- ),
1088
+ id: zod.number().min(1),
1089
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1090
+ }).strict(),
1136
1091
  folder: zod.object({
1137
- id: zod.number().min(1)
1138
- }).describe("The ID of the resource").and(
1139
- zod.object({
1140
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1141
- })
1142
- ).nullish(),
1092
+ id: zod.number().min(1),
1093
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1094
+ }).strict().nullish(),
1143
1095
  description: zod.string().nullish().describe("Description outlining the scope."),
1144
1096
  plannedStartDate: zod.string().datetime({}).nullish().describe(
1145
1097
  "Planned start date of the test cycle. This field cannot be blank. Setting it as null or excluding it from the request will leave the field values unchanged. ISO 8601 Format (i.e., yyyy-MM-dd'T'HH:mm:ss'Z')"
@@ -1148,78 +1100,73 @@ const getTestCycleResponse = zod.object({
1148
1100
  "The planned end 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')"
1149
1101
  ),
1150
1102
  owner: zod.object({
1151
- accountId: zod.string().regex(getTestCycleResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1103
+ accountId: zod.string().regex(getTestCycle200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1152
1104
  self: zod.string().url().optional().describe(
1153
1105
  "The Jira REST API endpoint to get the full representation of the Jira user."
1154
1106
  )
1155
- }).nullish(),
1107
+ }).strict().nullish(),
1156
1108
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1157
1109
  "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"
1158
1110
  ),
1159
1111
  links: zod.object({
1160
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1161
- }).and(
1162
- zod.object({
1163
- issues: zod.array(
1164
- zod.object({
1165
- issueId: zod.number().min(1).describe("The Jira issue ID")
1166
- }).and(
1167
- zod.object({
1168
- self: zod.string().url().optional().describe(
1169
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1170
- ),
1171
- id: zod.number().min(1).optional().describe(
1172
- "The ID that represents the link between the entity and the Jira issue."
1173
- ),
1174
- target: zod.string().url().optional().describe(
1175
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1176
- ),
1177
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1178
- })
1179
- )
1180
- ).optional().describe("A list of Jira issues linked to this entity"),
1181
- webLinks: zod.array(
1182
- zod.object({
1183
- description: zod.string().optional().describe("The web link description"),
1184
- url: zod.url().describe("The web link URL")
1185
- }).and(
1186
- zod.object({
1187
- self: zod.string().url().optional().describe(
1188
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1189
- ),
1190
- id: zod.number().min(1).optional(),
1191
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1192
- })
1112
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1113
+ issues: zod.array(
1114
+ zod.object({
1115
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1116
+ self: zod.string().url().optional().describe(
1117
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1118
+ ),
1119
+ id: zod.number().min(1).optional().describe(
1120
+ "The ID that represents the link between the entity and the Jira issue."
1121
+ ),
1122
+ target: zod.string().url().optional().describe(
1123
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1124
+ ),
1125
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1126
+ }).strict()
1127
+ ).optional().describe("A list of Jira issues linked to this entity"),
1128
+ webLinks: zod.array(
1129
+ zod.object({
1130
+ description: zod.string().optional().describe("The web link description"),
1131
+ url: zod.string().url().describe("The web link URL"),
1132
+ self: zod.string().url().optional().describe(
1133
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1134
+ ),
1135
+ id: zod.number().min(1).optional(),
1136
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1137
+ }).strict()
1138
+ ).optional().describe("A list of web links for this entity"),
1139
+ testPlans: zod.array(
1140
+ zod.object({
1141
+ id: zod.number().min(1).optional().describe(
1142
+ "The ID that represents the link between the Test Cycle and the Test Plan."
1143
+ ),
1144
+ self: zod.string().url().optional().describe(
1145
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1146
+ ),
1147
+ testPlanId: zod.number().optional().describe("The ID of the test plan"),
1148
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1149
+ target: zod.string().url().optional().describe(
1150
+ "The Zephyr REST API endpoint to get the full representation of the test plan"
1193
1151
  )
1194
- ).optional().describe("A list of web links for this entity"),
1195
- testPlans: zod.array(
1196
- zod.object({
1197
- id: zod.number().min(1).optional().describe(
1198
- "The ID that represents the link between the Test Cycle and the Test Plan."
1199
- ),
1200
- self: zod.string().url().optional().describe(
1201
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1202
- ),
1203
- testPlanId: zod.number().optional().describe("The ID of the test plan"),
1204
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1205
- target: zod.string().url().optional().describe(
1206
- "The Zephyr REST API endpoint to get the full representation of the test plan"
1207
- )
1208
- })
1209
- ).optional().describe("A list of test plans linked to a test cycle")
1210
- })
1211
- ).optional().describe(
1152
+ }).strict()
1153
+ ).optional().describe("A list of test plans linked to a test cycle")
1154
+ }).strict().optional().describe(
1212
1155
  "Represents all links that a Test Cycle has. This property is ignored on update operations."
1213
1156
  )
1214
- }).describe("Details of a test cycle");
1215
- const updateTestCyclePathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1157
+ }).strict().describe("Details of a test cycle");
1216
1158
  zod.object({
1159
+ errorCode: zod.number(),
1160
+ message: zod.string()
1161
+ }).strict();
1162
+ const updateTestCyclePathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1163
+ const UpdateTestCycleParams = zod.object({
1217
1164
  testCycleIdOrKey: zod.string().regex(updateTestCyclePathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1218
1165
  });
1219
1166
  const updateTestCycleBodyKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1220
1167
  const updateTestCycleBodyNameRegExp = /^(?!\s*$).+/;
1221
1168
  const updateTestCycleBodyOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1222
- zod.object({
1169
+ const UpdateTestCycleBody = zod.object({
1223
1170
  id: zod.number().min(1),
1224
1171
  key: zod.string().regex(updateTestCycleBodyKeyRegExp).describe("Unique key of the test cycle"),
1225
1172
  name: zod.string().regex(updateTestCycleBodyNameRegExp).describe("Name of the Test Cycle"),
@@ -1294,7 +1241,7 @@ zod.object({
1294
1241
  webLinks: zod.array(
1295
1242
  zod.object({
1296
1243
  description: zod.string().optional().describe("The web link description"),
1297
- url: zod.url().describe("The web link URL")
1244
+ url: zod.string().url().describe("The web link URL")
1298
1245
  }).and(
1299
1246
  zod.object({
1300
1247
  self: zod.string().url().optional().describe(
@@ -1325,65 +1272,64 @@ zod.object({
1325
1272
  "Represents all links that a Test Cycle has. This property is ignored on update operations."
1326
1273
  )
1327
1274
  }).describe("Details of a test cycle");
1275
+ zod.object({
1276
+ errorCode: zod.number(),
1277
+ message: zod.string()
1278
+ }).strict();
1328
1279
  const getTestCycleLinksPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1329
1280
  zod.object({
1330
1281
  testCycleIdOrKey: zod.string().regex(getTestCycleLinksPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1331
1282
  });
1332
1283
  zod.object({
1333
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1334
- }).and(
1335
- zod.object({
1336
- issues: zod.array(
1337
- zod.object({
1338
- issueId: zod.number().min(1).describe("The Jira issue ID")
1339
- }).and(
1340
- zod.object({
1341
- self: zod.string().url().optional().describe(
1342
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1343
- ),
1344
- id: zod.number().min(1).optional().describe(
1345
- "The ID that represents the link between the entity and the Jira issue."
1346
- ),
1347
- target: zod.string().url().optional().describe(
1348
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1349
- ),
1350
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1351
- })
1352
- )
1353
- ).optional().describe("A list of Jira issues linked to this entity"),
1354
- webLinks: zod.array(
1355
- zod.object({
1356
- description: zod.string().optional().describe("The web link description"),
1357
- url: zod.url().describe("The web link URL")
1358
- }).and(
1359
- zod.object({
1360
- self: zod.string().url().optional().describe(
1361
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1362
- ),
1363
- id: zod.number().min(1).optional(),
1364
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1365
- })
1284
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1285
+ issues: zod.array(
1286
+ zod.object({
1287
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1288
+ self: zod.string().url().optional().describe(
1289
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1290
+ ),
1291
+ id: zod.number().min(1).optional().describe(
1292
+ "The ID that represents the link between the entity and the Jira issue."
1293
+ ),
1294
+ target: zod.string().url().optional().describe(
1295
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1296
+ ),
1297
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1298
+ }).strict()
1299
+ ).optional().describe("A list of Jira issues linked to this entity"),
1300
+ webLinks: zod.array(
1301
+ zod.object({
1302
+ description: zod.string().optional().describe("The web link description"),
1303
+ url: zod.string().url().describe("The web link URL"),
1304
+ self: zod.string().url().optional().describe(
1305
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1306
+ ),
1307
+ id: zod.number().min(1).optional(),
1308
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1309
+ }).strict()
1310
+ ).optional().describe("A list of web links for this entity"),
1311
+ testPlans: zod.array(
1312
+ zod.object({
1313
+ id: zod.number().min(1).optional().describe(
1314
+ "The ID that represents the link between the Test Cycle and the Test Plan."
1315
+ ),
1316
+ self: zod.string().url().optional().describe(
1317
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1318
+ ),
1319
+ testPlanId: zod.number().optional().describe("The ID of the test plan"),
1320
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1321
+ target: zod.string().url().optional().describe(
1322
+ "The Zephyr REST API endpoint to get the full representation of the test plan"
1366
1323
  )
1367
- ).optional().describe("A list of web links for this entity"),
1368
- testPlans: zod.array(
1369
- zod.object({
1370
- id: zod.number().min(1).optional().describe(
1371
- "The ID that represents the link between the Test Cycle and the Test Plan."
1372
- ),
1373
- self: zod.string().url().optional().describe(
1374
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1375
- ),
1376
- testPlanId: zod.number().optional().describe("The ID of the test plan"),
1377
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1378
- target: zod.string().url().optional().describe(
1379
- "The Zephyr REST API endpoint to get the full representation of the test plan"
1380
- )
1381
- })
1382
- ).optional().describe("A list of test plans linked to a test cycle")
1383
- })
1384
- ).describe(
1324
+ }).strict()
1325
+ ).optional().describe("A list of test plans linked to a test cycle")
1326
+ }).strict().describe(
1385
1327
  "Represents all links that a Test Cycle has. This property is ignored on update operations."
1386
1328
  );
1329
+ zod.object({
1330
+ errorCode: zod.number(),
1331
+ message: zod.string()
1332
+ }).strict();
1387
1333
  const createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1388
1334
  zod.object({
1389
1335
  testCycleIdOrKey: zod.string().regex(createTestCycleIssueLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
@@ -1391,16 +1337,25 @@ zod.object({
1391
1337
  zod.object({
1392
1338
  issueId: zod.number().min(1).describe("The Jira issue ID")
1393
1339
  });
1340
+ zod.object({
1341
+ errorCode: zod.number(),
1342
+ message: zod.string()
1343
+ }).strict();
1394
1344
  const createTestCycleWebLinkPathTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+-R[0-9]+)/;
1395
1345
  zod.object({
1396
1346
  testCycleIdOrKey: zod.string().regex(createTestCycleWebLinkPathTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1397
1347
  });
1398
1348
  zod.object({
1399
1349
  description: zod.string().optional().describe("The web link description"),
1400
- url: zod.url().describe("The web link URL")
1350
+ url: zod.string().url().describe("The web link URL")
1401
1351
  });
1352
+ zod.object({
1353
+ errorCode: zod.number(),
1354
+ message: zod.string()
1355
+ }).strict();
1402
1356
  const listTestPlansQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
1403
1357
  const listTestPlansQueryMaxResultsDefault = 10;
1358
+ const listTestPlansQueryStartAtDefault = 0;
1404
1359
  const listTestPlansQueryStartAtMin = 0;
1405
1360
  const listTestPlansQueryStartAtMax = 1e6;
1406
1361
  zod.object({
@@ -1408,242 +1363,222 @@ zod.object({
1408
1363
  maxResults: zod.number().min(1).default(listTestPlansQueryMaxResultsDefault).describe(
1409
1364
  "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"
1410
1365
  ),
1411
- startAt: zod.number().min(listTestPlansQueryStartAtMin).max(listTestPlansQueryStartAtMax).optional().describe(
1366
+ startAt: zod.number().min(listTestPlansQueryStartAtMin).max(listTestPlansQueryStartAtMax).default(listTestPlansQueryStartAtDefault).describe(
1412
1367
  "Zero-indexed starting position. Should be a multiple of maxResults."
1413
1368
  )
1414
1369
  });
1415
- const listTestPlansResponseStartAtMin = 0;
1416
- const listTestPlansResponseTotalMin = 0;
1417
- const listTestPlansResponseValuesItemKeyRegExp = /.+-P[0-9]+/;
1418
- const listTestPlansResponseValuesItemNameRegExp = /^(?!\\s*$).+/;
1419
- const listTestPlansResponseValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1370
+ const listTestPlans200ResponseOneStartAtMin = 0;
1371
+ const listTestPlans200ResponseOneTotalMin = 0;
1372
+ const listTestPlans200ResponseTwoValuesItemKeyRegExp = /.+-P[0-9]+/;
1373
+ const listTestPlans200ResponseTwoValuesItemNameMax = 255;
1374
+ const listTestPlans200ResponseTwoValuesItemNameRegExp = /^(?!\\s*$).+/;
1375
+ const listTestPlans200ResponseTwoValuesItemOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1376
+ const listTestPlans200ResponseTwoValuesItemLabelsMax = 50;
1420
1377
  zod.object({
1421
1378
  next: zod.string().url().nullish().describe(
1422
1379
  "URL to the next page of results, or null if there are no more results."
1423
1380
  ),
1424
- startAt: zod.number().min(listTestPlansResponseStartAtMin).describe(
1381
+ startAt: zod.number().min(listTestPlans200ResponseOneStartAtMin).describe(
1425
1382
  "Indicates the index of the first item returned in the page of results."
1426
1383
  ),
1427
1384
  maxResults: zod.number().min(1).describe(
1428
1385
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
1429
1386
  ),
1430
- total: zod.number().min(listTestPlansResponseTotalMin).optional().describe(
1387
+ total: zod.number().min(listTestPlans200ResponseOneTotalMin).optional().describe(
1431
1388
  "Indicates the total number of items available across all pages."
1432
1389
  ),
1433
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
1434
- }).and(
1435
- zod.object({
1436
- values: zod.array(
1437
- zod.object({
1390
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
1391
+ values: zod.array(
1392
+ zod.object({
1393
+ id: zod.number().min(1),
1394
+ key: zod.string().regex(listTestPlans200ResponseTwoValuesItemKeyRegExp).describe("Key of the test plan"),
1395
+ name: zod.string().min(1).max(listTestPlans200ResponseTwoValuesItemNameMax).regex(listTestPlans200ResponseTwoValuesItemNameRegExp),
1396
+ objective: zod.string().nullish().describe("A description of the objective."),
1397
+ project: zod.object({
1398
+ id: zod.number().min(1),
1399
+ self: zod.string().url().optional().describe(
1400
+ "The REST API endpoint to get more resource details."
1401
+ )
1402
+ }).strict().describe("ID and link relative to Zephyr project."),
1403
+ status: zod.object({
1404
+ id: zod.number().min(1),
1405
+ self: zod.string().url().optional().describe(
1406
+ "The REST API endpoint to get more resource details."
1407
+ )
1408
+ }).strict(),
1409
+ folder: zod.object({
1438
1410
  id: zod.number().min(1),
1439
- key: zod.string().regex(listTestPlansResponseValuesItemKeyRegExp).describe("Key of the test plan"),
1440
- name: zod.string().regex(listTestPlansResponseValuesItemNameRegExp),
1441
- objective: zod.string().nullish().describe("A description of the objective."),
1442
- project: zod.object({
1443
- id: zod.number().min(1)
1444
- }).describe("The ID of the resource").and(
1411
+ self: zod.string().url().optional().describe(
1412
+ "The REST API endpoint to get more resource details."
1413
+ )
1414
+ }).strict().nullish(),
1415
+ owner: zod.object({
1416
+ accountId: zod.string().regex(
1417
+ listTestPlans200ResponseTwoValuesItemOwnerAccountIdRegExp
1418
+ ).nullable().describe("Atlassian Account ID of the Jira user."),
1419
+ self: zod.string().url().optional().describe(
1420
+ "The Jira REST API endpoint to get the full representation of the Jira user."
1421
+ )
1422
+ }).strict().nullish(),
1423
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1424
+ "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"
1425
+ ),
1426
+ labels: zod.array(zod.string()).max(listTestPlans200ResponseTwoValuesItemLabelsMax).optional().describe("Array of labels associated to this entity."),
1427
+ links: zod.object({
1428
+ webLinks: zod.array(
1445
1429
  zod.object({
1430
+ description: zod.string().optional().describe("The web link description"),
1431
+ url: zod.string().url().describe("The web link URL"),
1446
1432
  self: zod.string().url().optional().describe(
1447
- "The REST API endpoint to get more resource details."
1448
- )
1449
- })
1450
- ).describe("ID and link relative to Zephyr project."),
1451
- status: zod.object({
1452
- id: zod.number().min(1)
1453
- }).describe("The ID of the resource").and(
1433
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1434
+ ),
1435
+ id: zod.number().min(1).optional(),
1436
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1437
+ }).strict()
1438
+ ).optional().describe("A list of web links for this entity"),
1439
+ issues: zod.array(
1454
1440
  zod.object({
1441
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1455
1442
  self: zod.string().url().optional().describe(
1456
- "The REST API endpoint to get more resource details."
1457
- )
1458
- })
1459
- ),
1460
- folder: zod.object({
1461
- id: zod.number().min(1)
1462
- }).describe("The ID of the resource").and(
1443
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1444
+ ),
1445
+ id: zod.number().min(1).optional().describe(
1446
+ "The ID that represents the link between the entity and the Jira issue."
1447
+ ),
1448
+ target: zod.string().url().optional().describe(
1449
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1450
+ ),
1451
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1452
+ }).strict()
1453
+ ).optional().describe("A list of Jira issues linked to this entity"),
1454
+ testCycles: zod.array(
1463
1455
  zod.object({
1456
+ id: zod.number().min(1),
1464
1457
  self: zod.string().url().optional().describe(
1465
1458
  "The REST API endpoint to get more resource details."
1466
- )
1467
- })
1468
- ).nullish(),
1469
- owner: zod.object({
1470
- accountId: zod.string().regex(listTestPlansResponseValuesItemOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1471
- self: zod.string().url().optional().describe(
1472
- "The Jira REST API endpoint to get the full representation of the Jira user."
1473
- )
1474
- }).nullish(),
1475
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1476
- "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"
1477
- ),
1478
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
1479
- links: zod.object({
1480
- webLinks: zod.array(
1481
- zod.object({
1482
- description: zod.string().optional().describe("The web link description"),
1483
- url: zod.url().describe("The web link URL")
1484
- }).and(
1485
- zod.object({
1486
- self: zod.string().url().optional().describe(
1487
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1488
- ),
1489
- id: zod.number().min(1).optional(),
1490
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1491
- })
1492
- )
1493
- ).optional().describe("A list of web links for this entity"),
1494
- issues: zod.array(
1495
- zod.object({
1496
- issueId: zod.number().min(1).describe("The Jira issue ID")
1497
- }).and(
1498
- zod.object({
1499
- self: zod.string().url().optional().describe(
1500
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1501
- ),
1502
- id: zod.number().min(1).optional().describe(
1503
- "The ID that represents the link between the entity and the Jira issue."
1504
- ),
1505
- target: zod.string().url().optional().describe(
1506
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1507
- ),
1508
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1509
- })
1510
- )
1511
- ).optional().describe("A list of Jira issues linked to this entity"),
1512
- testCycles: zod.array(
1513
- zod.object({
1514
- id: zod.number().min(1)
1515
- }).describe("The ID of the resource").and(
1516
- zod.object({
1517
- self: zod.string().url().optional().describe(
1518
- "The REST API endpoint to get more resource details."
1519
- )
1520
- })
1521
- ).and(
1522
- zod.object({
1523
- testCycleId: zod.number().min(1).optional(),
1524
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1525
- target: zod.string().optional().describe("The test cycle resource")
1526
- })
1527
- )
1528
- ).optional().describe("A list of test cycle links for a test plan")
1529
- }).optional()
1530
- })
1531
- ).optional()
1532
- })
1533
- );
1459
+ ),
1460
+ testCycleId: zod.number().min(1).optional(),
1461
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1462
+ target: zod.string().optional().describe("The test cycle resource")
1463
+ }).strict()
1464
+ ).optional().describe("A list of test cycle links for a test plan")
1465
+ }).strict().optional()
1466
+ }).strict()
1467
+ ).optional()
1468
+ }).strict();
1469
+ zod.object({
1470
+ errorCode: zod.number(),
1471
+ message: zod.string()
1472
+ }).strict();
1534
1473
  const createTestPlanBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
1474
+ const createTestPlanBodyNameMax = 255;
1535
1475
  const createTestPlanBodyNameRegExp = /^(?!\\s*$).+/;
1536
1476
  const createTestPlanBodyStatusNameMax = 255;
1537
1477
  const createTestPlanBodyOwnerIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1478
+ const createTestPlanBodyLabelsMax = 50;
1538
1479
  zod.object({
1539
1480
  projectKey: zod.string().regex(createTestPlanBodyProjectKeyRegExp).describe("Jira project key."),
1540
- name: zod.string().regex(createTestPlanBodyNameRegExp),
1481
+ name: zod.string().min(1).max(createTestPlanBodyNameMax).regex(createTestPlanBodyNameRegExp),
1541
1482
  objective: zod.string().nullish().describe("A description of the objective."),
1542
1483
  folderId: zod.number().min(1).optional().describe("ID of a folder to place the entity within."),
1543
1484
  statusName: zod.string().min(1).max(createTestPlanBodyStatusNameMax).optional().describe("The status name."),
1544
1485
  ownerId: zod.string().regex(createTestPlanBodyOwnerIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
1545
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
1486
+ labels: zod.array(zod.string()).max(createTestPlanBodyLabelsMax).optional().describe("Array of labels associated to this entity."),
1546
1487
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1547
1488
  "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"
1548
1489
  )
1549
1490
  });
1491
+ zod.object({
1492
+ id: zod.number().min(1).optional(),
1493
+ self: zod.string().optional(),
1494
+ key: zod.string().optional()
1495
+ }).strict();
1496
+ zod.object({
1497
+ errorCode: zod.number(),
1498
+ message: zod.string()
1499
+ }).strict();
1550
1500
  const getTestPlanPathTestPlanIdOrKeyRegExp = /([0-9]+)|(.+-P[0-9]+)/;
1551
1501
  zod.object({
1552
1502
  testPlanIdOrKey: zod.string().regex(getTestPlanPathTestPlanIdOrKeyRegExp).describe(
1553
1503
  "The ID or key of the test plan. Test plan keys are of the format [A-Z]+-P[0-9]+"
1554
1504
  )
1555
1505
  });
1556
- const getTestPlanResponseKeyRegExp = /.+-P[0-9]+/;
1557
- const getTestPlanResponseNameRegExp = /^(?!\\s*$).+/;
1558
- const getTestPlanResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1506
+ const getTestPlan200ResponseKeyRegExp = /.+-P[0-9]+/;
1507
+ const getTestPlan200ResponseNameMax = 255;
1508
+ const getTestPlan200ResponseNameRegExp = /^(?!\\s*$).+/;
1509
+ const getTestPlan200ResponseOwnerAccountIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1510
+ const getTestPlan200ResponseLabelsMax = 50;
1559
1511
  zod.object({
1560
1512
  id: zod.number().min(1),
1561
- key: zod.string().regex(getTestPlanResponseKeyRegExp).describe("Key of the test plan"),
1562
- name: zod.string().regex(getTestPlanResponseNameRegExp),
1513
+ key: zod.string().regex(getTestPlan200ResponseKeyRegExp).describe("Key of the test plan"),
1514
+ name: zod.string().min(1).max(getTestPlan200ResponseNameMax).regex(getTestPlan200ResponseNameRegExp),
1563
1515
  objective: zod.string().nullish().describe("A description of the objective."),
1564
1516
  project: zod.object({
1565
- id: zod.number().min(1)
1566
- }).describe("The ID of the resource").and(
1567
- zod.object({
1568
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1569
- })
1570
- ).describe("ID and link relative to Zephyr project."),
1517
+ id: zod.number().min(1),
1518
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1519
+ }).strict().describe("ID and link relative to Zephyr project."),
1571
1520
  status: zod.object({
1572
- id: zod.number().min(1)
1573
- }).describe("The ID of the resource").and(
1574
- zod.object({
1575
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1576
- })
1577
- ),
1521
+ id: zod.number().min(1),
1522
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1523
+ }).strict(),
1578
1524
  folder: zod.object({
1579
- id: zod.number().min(1)
1580
- }).describe("The ID of the resource").and(
1581
- zod.object({
1582
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1583
- })
1584
- ).nullish(),
1525
+ id: zod.number().min(1),
1526
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1527
+ }).strict().nullish(),
1585
1528
  owner: zod.object({
1586
- accountId: zod.string().regex(getTestPlanResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1529
+ accountId: zod.string().regex(getTestPlan200ResponseOwnerAccountIdRegExp).nullable().describe("Atlassian Account ID of the Jira user."),
1587
1530
  self: zod.string().url().optional().describe(
1588
1531
  "The Jira REST API endpoint to get the full representation of the Jira user."
1589
1532
  )
1590
- }).nullish(),
1533
+ }).strict().nullish(),
1591
1534
  customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1592
1535
  "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"
1593
1536
  ),
1594
- labels: zod.array(zod.string()).optional().describe("Array of labels associated to this entity."),
1537
+ labels: zod.array(zod.string()).max(getTestPlan200ResponseLabelsMax).optional().describe("Array of labels associated to this entity."),
1595
1538
  links: zod.object({
1596
1539
  webLinks: zod.array(
1597
1540
  zod.object({
1598
1541
  description: zod.string().optional().describe("The web link description"),
1599
- url: zod.url().describe("The web link URL")
1600
- }).and(
1601
- zod.object({
1602
- self: zod.string().url().optional().describe(
1603
- "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1604
- ),
1605
- id: zod.number().min(1).optional(),
1606
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1607
- })
1608
- )
1542
+ url: zod.string().url().describe("The web link URL"),
1543
+ self: zod.string().url().optional().describe(
1544
+ "The Zephyr REST API endpoint relative to the link between the entity and this web link."
1545
+ ),
1546
+ id: zod.number().min(1).optional(),
1547
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1548
+ }).strict()
1609
1549
  ).optional().describe("A list of web links for this entity"),
1610
1550
  issues: zod.array(
1611
1551
  zod.object({
1612
- issueId: zod.number().min(1).describe("The Jira issue ID")
1613
- }).and(
1614
- zod.object({
1615
- self: zod.string().url().optional().describe(
1616
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1617
- ),
1618
- id: zod.number().min(1).optional().describe(
1619
- "The ID that represents the link between the entity and the Jira issue."
1620
- ),
1621
- target: zod.string().url().optional().describe(
1622
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1623
- ),
1624
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1625
- })
1626
- )
1552
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1553
+ self: zod.string().url().optional().describe(
1554
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1555
+ ),
1556
+ id: zod.number().min(1).optional().describe(
1557
+ "The ID that represents the link between the entity and the Jira issue."
1558
+ ),
1559
+ target: zod.string().url().optional().describe(
1560
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1561
+ ),
1562
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1563
+ }).strict()
1627
1564
  ).optional().describe("A list of Jira issues linked to this entity"),
1628
1565
  testCycles: zod.array(
1629
1566
  zod.object({
1630
- id: zod.number().min(1)
1631
- }).describe("The ID of the resource").and(
1632
- zod.object({
1633
- self: zod.string().url().optional().describe(
1634
- "The REST API endpoint to get more resource details."
1635
- )
1636
- })
1637
- ).and(
1638
- zod.object({
1639
- testCycleId: zod.number().min(1).optional(),
1640
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1641
- target: zod.string().optional().describe("The test cycle resource")
1642
- })
1643
- )
1567
+ id: zod.number().min(1),
1568
+ self: zod.string().url().optional().describe(
1569
+ "The REST API endpoint to get more resource details."
1570
+ ),
1571
+ testCycleId: zod.number().min(1).optional(),
1572
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type"),
1573
+ target: zod.string().optional().describe("The test cycle resource")
1574
+ }).strict()
1644
1575
  ).optional().describe("A list of test cycle links for a test plan")
1645
- }).optional()
1646
- });
1576
+ }).strict().optional()
1577
+ }).strict();
1578
+ zod.object({
1579
+ errorCode: zod.number(),
1580
+ message: zod.string()
1581
+ }).strict();
1647
1582
  const createTestPlanWebLinkPathTestPlanIdOrKeyRegExp = /([0-9]+)|(.+-P[0-9]+)/;
1648
1583
  zod.object({
1649
1584
  testPlanIdOrKey: zod.string().regex(createTestPlanWebLinkPathTestPlanIdOrKeyRegExp).describe(
@@ -1652,8 +1587,16 @@ zod.object({
1652
1587
  });
1653
1588
  zod.object({
1654
1589
  description: zod.string().optional().describe("The web link description"),
1655
- url: zod.url().describe("The web link URL")
1590
+ url: zod.string().url().describe("The web link URL")
1656
1591
  }).and(zod.unknown());
1592
+ zod.object({
1593
+ id: zod.number().min(1).optional(),
1594
+ self: zod.string().optional()
1595
+ }).strict();
1596
+ zod.object({
1597
+ errorCode: zod.number(),
1598
+ message: zod.string()
1599
+ }).strict();
1657
1600
  const createTestPlanIssueLinkPathTestPlanIdOrKeyRegExp = /([0-9]+)|(.+-P[0-9]+)/;
1658
1601
  zod.object({
1659
1602
  testPlanIdOrKey: zod.string().regex(createTestPlanIssueLinkPathTestPlanIdOrKeyRegExp).describe(
@@ -1663,6 +1606,14 @@ zod.object({
1663
1606
  zod.object({
1664
1607
  issueId: zod.number().min(1).describe("The Jira issue ID")
1665
1608
  });
1609
+ zod.object({
1610
+ id: zod.number().min(1).optional(),
1611
+ self: zod.string().optional()
1612
+ }).strict();
1613
+ zod.object({
1614
+ errorCode: zod.number(),
1615
+ message: zod.string()
1616
+ }).strict();
1666
1617
  const createTestPlanTestCycleLinkPathTestPlanIdOrKeyRegExp = /([0-9]+)|(.+-P[0-9]+)/;
1667
1618
  zod.object({
1668
1619
  testPlanIdOrKey: zod.string().regex(createTestPlanTestCycleLinkPathTestPlanIdOrKeyRegExp).describe(
@@ -1673,10 +1624,21 @@ const createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp = /([0-9]+)|([A-Z][A
1673
1624
  zod.object({
1674
1625
  testCycleIdOrKey: zod.string().regex(createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp).describe("The ID or key of the test cycle.")
1675
1626
  });
1627
+ zod.object({
1628
+ id: zod.number().min(1).optional(),
1629
+ self: zod.string().optional()
1630
+ }).strict();
1631
+ zod.object({
1632
+ errorCode: zod.number(),
1633
+ message: zod.string()
1634
+ }).strict();
1676
1635
  const listTestExecutionsQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
1677
1636
  const listTestExecutionsQueryTestCycleRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1678
1637
  const listTestExecutionsQueryTestCaseRegExp = /([0-9]+)|(.+-T[0-9]+)/;
1638
+ const listTestExecutionsQueryIncludeStepLinksDefault = false;
1639
+ const listTestExecutionsQueryOnlyLastExecutionsDefault = false;
1679
1640
  const listTestExecutionsQueryMaxResultsDefault = 10;
1641
+ const listTestExecutionsQueryStartAtDefault = 0;
1680
1642
  const listTestExecutionsQueryStartAtMin = 0;
1681
1643
  const listTestExecutionsQueryStartAtMax = 1e6;
1682
1644
  zod.object({
@@ -1689,149 +1651,130 @@ zod.object({
1689
1651
  actualEndDateBefore: zod.string().datetime({}).optional().describe(
1690
1652
  "Filter for 'Actual End Date' before the given time. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1691
1653
  ),
1692
- includeStepLinks: zod.boolean().optional().describe(
1654
+ includeStepLinks: zod.boolean().default(listTestExecutionsQueryIncludeStepLinksDefault).describe(
1693
1655
  "If true, execution step issue links will be included in the response"
1694
1656
  ),
1695
1657
  jiraProjectVersionId: zod.number().min(1).optional().describe(
1696
1658
  "Jira Project Version ID. Relates to 'Version' or 'Releases' in Jira projects."
1697
1659
  ),
1698
- onlyLastExecutions: zod.boolean().optional().describe(
1660
+ onlyLastExecutions: zod.boolean().default(listTestExecutionsQueryOnlyLastExecutionsDefault).describe(
1699
1661
  "If true, includes only the last execution of each test cycle item (test case), and all ad-hoc test executions."
1700
1662
  ),
1701
1663
  maxResults: zod.number().min(1).default(listTestExecutionsQueryMaxResultsDefault).describe(
1702
1664
  "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"
1703
1665
  ),
1704
- startAt: zod.number().min(listTestExecutionsQueryStartAtMin).max(listTestExecutionsQueryStartAtMax).optional().describe(
1666
+ startAt: zod.number().min(listTestExecutionsQueryStartAtMin).max(listTestExecutionsQueryStartAtMax).default(listTestExecutionsQueryStartAtDefault).describe(
1705
1667
  "Zero-indexed starting position. Should be a multiple of maxResults."
1706
1668
  )
1707
1669
  });
1708
- const listTestExecutionsResponseStartAtMin = 0;
1709
- const listTestExecutionsResponseTotalMin = 0;
1710
- const listTestExecutionsResponseValuesItemKeyRegExp = /.+-E[0-9]+/;
1711
- const listTestExecutionsResponseValuesItemEstimatedTimeMin = 0;
1712
- const listTestExecutionsResponseValuesItemExecutionTimeMin = 0;
1713
- const listTestExecutionsResponseValuesItemExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1714
- const listTestExecutionsResponseValuesItemAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1670
+ const listTestExecutions200ResponseOneStartAtMin = 0;
1671
+ const listTestExecutions200ResponseOneTotalMin = 0;
1672
+ const listTestExecutions200ResponseTwoValuesItemKeyRegExp = /.+-E[0-9]+/;
1673
+ const listTestExecutions200ResponseTwoValuesItemEstimatedTimeMin = 0;
1674
+ const listTestExecutions200ResponseTwoValuesItemExecutionTimeMin = 0;
1675
+ const listTestExecutions200ResponseTwoValuesItemExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1676
+ const listTestExecutions200ResponseTwoValuesItemAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1715
1677
  zod.object({
1716
1678
  next: zod.string().url().nullish().describe(
1717
1679
  "URL to the next page of results, or null if there are no more results."
1718
1680
  ),
1719
- startAt: zod.number().min(listTestExecutionsResponseStartAtMin).describe(
1681
+ startAt: zod.number().min(listTestExecutions200ResponseOneStartAtMin).describe(
1720
1682
  "Indicates the index of the first item returned in the page of results."
1721
1683
  ),
1722
1684
  maxResults: zod.number().min(1).describe(
1723
1685
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
1724
1686
  ),
1725
- total: zod.number().min(listTestExecutionsResponseTotalMin).optional().describe(
1687
+ total: zod.number().min(listTestExecutions200ResponseOneTotalMin).optional().describe(
1726
1688
  "Indicates the total number of items available across all pages."
1727
1689
  ),
1728
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
1729
- }).and(
1730
- zod.object({
1731
- values: zod.array(
1732
- zod.object({
1690
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
1691
+ values: zod.array(
1692
+ zod.object({
1693
+ id: zod.number().min(1),
1694
+ key: zod.string().regex(listTestExecutions200ResponseTwoValuesItemKeyRegExp).optional().describe("Test execution key"),
1695
+ project: zod.object({
1733
1696
  id: zod.number().min(1),
1734
- key: zod.string().regex(listTestExecutionsResponseValuesItemKeyRegExp).optional().describe("Test execution key"),
1735
- project: zod.object({
1736
- id: zod.number().min(1)
1737
- }).describe("The ID of the resource").and(
1738
- zod.object({
1739
- self: zod.string().url().optional().describe(
1740
- "The REST API endpoint to get more resource details."
1741
- )
1742
- })
1743
- ).describe("ID and link relative to Zephyr project."),
1744
- testCase: zod.object({
1745
- self: zod.string().url().optional().describe(
1746
- "The REST API endpoint to get more resource details."
1747
- )
1748
- }).and(
1749
- zod.object({
1750
- id: zod.number().min(1).optional()
1751
- })
1752
- ),
1753
- environment: zod.object({
1754
- id: zod.number().min(1)
1755
- }).describe("The ID of the resource").and(
1756
- zod.object({
1757
- self: zod.string().url().optional().describe(
1758
- "The REST API endpoint to get more resource details."
1759
- )
1760
- })
1761
- ).nullish(),
1762
- jiraProjectVersion: zod.object({
1763
- id: zod.number().min(1)
1764
- }).describe("The ID of the resource").and(
1765
- zod.object({
1766
- self: zod.string().url().optional().describe(
1767
- "The REST API endpoint to get more resource details."
1768
- )
1769
- })
1770
- ).nullish().describe(
1771
- "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1772
- ),
1773
- testExecutionStatus: zod.object({
1774
- id: zod.number().min(1)
1775
- }).describe("The ID of the resource").and(
1776
- zod.object({
1777
- self: zod.string().url().optional().describe(
1778
- "The REST API endpoint to get more resource details."
1779
- )
1780
- })
1781
- ),
1782
- actualEndDate: zod.string().datetime({}).optional().describe(
1783
- "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1697
+ self: zod.string().url().optional().describe(
1698
+ "The REST API endpoint to get more resource details."
1699
+ )
1700
+ }).strict().describe("ID and link relative to Zephyr project."),
1701
+ testCase: zod.object({
1702
+ self: zod.string().url().optional().describe(
1703
+ "The REST API endpoint to get more resource details."
1784
1704
  ),
1785
- estimatedTime: zod.number().min(listTestExecutionsResponseValuesItemEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
1786
- executionTime: zod.number().min(listTestExecutionsResponseValuesItemExecutionTimeMin).nullish().describe("Actual test execution time in milliseconds."),
1787
- executedById: zod.string().regex(listTestExecutionsResponseValuesItemExecutedByIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
1788
- assignedToId: zod.string().regex(listTestExecutionsResponseValuesItemAssignedToIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
1789
- comment: zod.string().nullish().describe("Comment added against overall test case execution."),
1790
- automated: zod.boolean().optional().describe(
1791
- "Indicates if the test execution was done manually or not."
1705
+ id: zod.number().min(1).optional()
1706
+ }).strict(),
1707
+ environment: zod.object({
1708
+ id: zod.number().min(1),
1709
+ self: zod.string().url().optional().describe(
1710
+ "The REST API endpoint to get more resource details."
1711
+ )
1712
+ }).strict().nullish(),
1713
+ jiraProjectVersion: zod.object({
1714
+ id: zod.number().min(1),
1715
+ self: zod.string().url().optional().describe(
1716
+ "The REST API endpoint to get more resource details."
1717
+ )
1718
+ }).strict().nullish().describe(
1719
+ "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1720
+ ),
1721
+ testExecutionStatus: zod.object({
1722
+ id: zod.number().min(1),
1723
+ self: zod.string().url().optional().describe(
1724
+ "The REST API endpoint to get more resource details."
1725
+ )
1726
+ }).strict(),
1727
+ actualEndDate: zod.string().datetime({}).optional().describe(
1728
+ "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1729
+ ),
1730
+ estimatedTime: zod.number().min(listTestExecutions200ResponseTwoValuesItemEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
1731
+ executionTime: zod.number().min(listTestExecutions200ResponseTwoValuesItemExecutionTimeMin).nullish().describe("Actual test execution time in milliseconds."),
1732
+ executedById: zod.string().regex(
1733
+ listTestExecutions200ResponseTwoValuesItemExecutedByIdRegExp
1734
+ ).nullish().describe("Atlassian Account ID of the Jira user."),
1735
+ assignedToId: zod.string().regex(
1736
+ listTestExecutions200ResponseTwoValuesItemAssignedToIdRegExp
1737
+ ).nullish().describe("Atlassian Account ID of the Jira user."),
1738
+ comment: zod.string().nullish().describe("Comment added against overall test case execution."),
1739
+ automated: zod.boolean().optional().describe(
1740
+ "Indicates if the test execution was done manually or not."
1741
+ ),
1742
+ testCycle: zod.object({
1743
+ self: zod.string().url().optional().describe(
1744
+ "The REST API endpoint to get more resource details."
1792
1745
  ),
1793
- testCycle: zod.object({
1794
- self: zod.string().url().optional().describe(
1795
- "The REST API endpoint to get more resource details."
1796
- )
1797
- }).and(
1798
- zod.object({
1799
- id: zod.number().min(1).optional()
1800
- })
1801
- ).nullish(),
1802
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1803
- "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"
1746
+ id: zod.number().min(1).optional()
1747
+ }).strict().nullish(),
1748
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1749
+ "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"
1750
+ ),
1751
+ links: zod.object({
1752
+ self: zod.string().url().optional().describe(
1753
+ "The REST API endpoint to get more resource details."
1804
1754
  ),
1805
- links: zod.object({
1806
- self: zod.string().url().optional().describe(
1807
- "The REST API endpoint to get more resource details."
1808
- )
1809
- }).and(
1755
+ issues: zod.array(
1810
1756
  zod.object({
1811
- issues: zod.array(
1812
- zod.object({
1813
- issueId: zod.number().min(1).describe("The Jira issue ID")
1814
- }).and(
1815
- zod.object({
1816
- self: zod.string().url().optional().describe(
1817
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1818
- ),
1819
- id: zod.number().min(1).optional().describe(
1820
- "The ID that represents the link between the entity and the Jira issue."
1821
- ),
1822
- target: zod.string().url().optional().describe(
1823
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
1824
- ),
1825
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1826
- })
1827
- )
1828
- ).optional().describe("A list of Jira issues linked to this entity")
1829
- })
1830
- ).optional()
1831
- })
1832
- ).optional()
1833
- })
1834
- );
1757
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1758
+ self: zod.string().url().optional().describe(
1759
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1760
+ ),
1761
+ id: zod.number().min(1).optional().describe(
1762
+ "The ID that represents the link between the entity and the Jira issue."
1763
+ ),
1764
+ target: zod.string().url().optional().describe(
1765
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1766
+ ),
1767
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1768
+ }).strict()
1769
+ ).optional().describe("A list of Jira issues linked to this entity")
1770
+ }).strict().optional()
1771
+ }).strict()
1772
+ ).optional()
1773
+ }).strict();
1774
+ zod.object({
1775
+ errorCode: zod.number(),
1776
+ message: zod.string()
1777
+ }).strict();
1835
1778
  const createTestExecutionBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
1836
1779
  const createTestExecutionBodyTestCaseKeyRegExp = /(.+-T[0-9]+)/;
1837
1780
  const createTestExecutionBodyTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
@@ -1840,7 +1783,7 @@ const createTestExecutionBodyTestScriptResultsItemStatusNameMax = 255;
1840
1783
  const createTestExecutionBodyExecutionTimeMin = 0;
1841
1784
  const createTestExecutionBodyExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1842
1785
  const createTestExecutionBodyAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1843
- zod.object({
1786
+ const CreateTestExecutionBody = zod.object({
1844
1787
  projectKey: zod.string().regex(createTestExecutionBodyProjectKeyRegExp).describe("Jira project key."),
1845
1788
  testCaseKey: zod.string().regex(createTestExecutionBodyTestCaseKeyRegExp).describe(
1846
1789
  "Key of test case the execution applies to. NOTE: Test cases with call to test, parameters and test data are not supported."
@@ -1870,13 +1813,24 @@ zod.object({
1870
1813
  "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"
1871
1814
  )
1872
1815
  });
1816
+ const CreateTestExecution201Response = zod.object({
1817
+ id: zod.number().min(1).optional(),
1818
+ self: zod.string().optional()
1819
+ }).strict();
1820
+ zod.object({
1821
+ errorCode: zod.number(),
1822
+ message: zod.string()
1823
+ }).strict();
1873
1824
  const listTestExecutionsNextgenQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
1874
1825
  const listTestExecutionsNextgenQueryTestCycleRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
1875
1826
  const listTestExecutionsNextgenQueryTestCaseRegExp = /([0-9]+)|(.+-T[0-9]+)/;
1827
+ const listTestExecutionsNextgenQueryIncludeStepLinksDefault = false;
1828
+ const listTestExecutionsNextgenQueryOnlyLastExecutionsDefault = false;
1876
1829
  const listTestExecutionsNextgenQueryLimitDefault = 10;
1877
1830
  const listTestExecutionsNextgenQueryLimitMax = 1e3;
1831
+ const listTestExecutionsNextgenQueryStartAtIdDefault = 0;
1878
1832
  const listTestExecutionsNextgenQueryStartAtIdMin = 0;
1879
- const listTestExecutionsNextgenQueryParams = zod.object({
1833
+ const ListTestExecutionsNextgenQueryParams = zod.object({
1880
1834
  projectKey: zod.string().regex(listTestExecutionsNextgenQueryProjectKeyRegExp).optional().describe("Jira project key filter"),
1881
1835
  testCycle: zod.string().regex(listTestExecutionsNextgenQueryTestCycleRegExp).optional().describe("Test cycle key filter."),
1882
1836
  testCase: zod.string().regex(listTestExecutionsNextgenQueryTestCaseRegExp).optional().describe("Test case key filter."),
@@ -1886,241 +1840,203 @@ const listTestExecutionsNextgenQueryParams = zod.object({
1886
1840
  actualEndDateBefore: zod.string().datetime({}).optional().describe(
1887
1841
  "Filter for 'Actual End Date' before the given time. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1888
1842
  ),
1889
- includeStepLinks: zod.boolean().optional().describe(
1843
+ includeStepLinks: zod.boolean().default(listTestExecutionsNextgenQueryIncludeStepLinksDefault).describe(
1890
1844
  "If true, execution step issue links will be included in the response"
1891
1845
  ),
1892
1846
  jiraProjectVersionId: zod.number().min(1).optional().describe(
1893
1847
  "Jira Project Version ID. Relates to 'Version' or 'Releases' in Jira projects."
1894
1848
  ),
1895
- onlyLastExecutions: zod.boolean().optional().describe(
1849
+ onlyLastExecutions: zod.boolean().default(listTestExecutionsNextgenQueryOnlyLastExecutionsDefault).describe(
1896
1850
  "If true, includes only the last execution of each test cycle item (test case), and all ad-hoc test executions."
1897
1851
  ),
1898
1852
  limit: zod.number().min(1).max(listTestExecutionsNextgenQueryLimitMax).default(listTestExecutionsNextgenQueryLimitDefault).describe(
1899
1853
  "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 limit value in the response to confirm how many results were actually returned.\n"
1900
1854
  ),
1901
- startAtId: zod.number().min(listTestExecutionsNextgenQueryStartAtIdMin).optional().describe("Zero-indexed starting position for ID-based pagination.")
1902
- });
1903
- const listTestExecutionsNextgenResponseNextStartAtIdMin = 0;
1904
- const listTestExecutionsNextgenResponseLimitMin = 0;
1905
- const listTestExecutionsNextgenResponseValuesItemKeyRegExp = /.+-E[0-9]+/;
1906
- const listTestExecutionsNextgenResponseValuesItemEstimatedTimeMin = 0;
1907
- const listTestExecutionsNextgenResponseValuesItemExecutionTimeMin = 0;
1908
- const listTestExecutionsNextgenResponseValuesItemExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1909
- const listTestExecutionsNextgenResponseValuesItemAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1910
- const listTestExecutionsNextgenResponse = zod.object({
1911
- next: zod.url().nullish(),
1912
- nextStartAtId: zod.number().min(listTestExecutionsNextgenResponseNextStartAtIdMin).nullable(),
1913
- limit: zod.number().min(listTestExecutionsNextgenResponseLimitMin)
1914
- }).and(
1915
- zod.object({
1916
- values: zod.array(
1917
- zod.object({
1855
+ startAtId: zod.number().min(listTestExecutionsNextgenQueryStartAtIdMin).default(listTestExecutionsNextgenQueryStartAtIdDefault).describe("Zero-indexed starting position for ID-based pagination.")
1856
+ });
1857
+ const listTestExecutionsNextgen200ResponseOneNextStartAtIdMin = 0;
1858
+ const listTestExecutionsNextgen200ResponseOneLimitMin = 0;
1859
+ const listTestExecutionsNextgen200ResponseTwoValuesItemKeyRegExp = /.+-E[0-9]+/;
1860
+ const listTestExecutionsNextgen200ResponseTwoValuesItemEstimatedTimeMin = 0;
1861
+ const listTestExecutionsNextgen200ResponseTwoValuesItemExecutionTimeMin = 0;
1862
+ const listTestExecutionsNextgen200ResponseTwoValuesItemExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1863
+ const listTestExecutionsNextgen200ResponseTwoValuesItemAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1864
+ const ListTestExecutionsNextgen200Response = zod.object({
1865
+ next: zod.string().url().nullish(),
1866
+ nextStartAtId: zod.number().min(listTestExecutionsNextgen200ResponseOneNextStartAtIdMin).nullable(),
1867
+ limit: zod.number().min(listTestExecutionsNextgen200ResponseOneLimitMin),
1868
+ values: zod.array(
1869
+ zod.object({
1870
+ id: zod.number().min(1),
1871
+ key: zod.string().regex(listTestExecutionsNextgen200ResponseTwoValuesItemKeyRegExp).optional().describe("Test execution key"),
1872
+ project: zod.object({
1918
1873
  id: zod.number().min(1),
1919
- key: zod.string().regex(listTestExecutionsNextgenResponseValuesItemKeyRegExp).optional().describe("Test execution key"),
1920
- project: zod.object({
1921
- id: zod.number().min(1)
1922
- }).describe("The ID of the resource").and(
1923
- zod.object({
1924
- self: zod.string().url().optional().describe(
1925
- "The REST API endpoint to get more resource details."
1926
- )
1927
- })
1928
- ).describe("ID and link relative to Zephyr project."),
1929
- testCase: zod.object({
1930
- self: zod.string().url().optional().describe(
1931
- "The REST API endpoint to get more resource details."
1932
- )
1933
- }).and(
1934
- zod.object({
1935
- id: zod.number().min(1).optional()
1936
- })
1937
- ),
1938
- environment: zod.object({
1939
- id: zod.number().min(1)
1940
- }).describe("The ID of the resource").and(
1941
- zod.object({
1942
- self: zod.string().url().optional().describe(
1943
- "The REST API endpoint to get more resource details."
1944
- )
1945
- })
1946
- ).nullish(),
1947
- jiraProjectVersion: zod.object({
1948
- id: zod.number().min(1)
1949
- }).describe("The ID of the resource").and(
1950
- zod.object({
1951
- self: zod.string().url().optional().describe(
1952
- "The REST API endpoint to get more resource details."
1953
- )
1954
- })
1955
- ).nullish().describe(
1956
- "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1957
- ),
1958
- testExecutionStatus: zod.object({
1959
- id: zod.number().min(1)
1960
- }).describe("The ID of the resource").and(
1961
- zod.object({
1962
- self: zod.string().url().optional().describe(
1963
- "The REST API endpoint to get more resource details."
1964
- )
1965
- })
1966
- ),
1967
- actualEndDate: zod.string().datetime({}).optional().describe(
1968
- "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1874
+ self: zod.string().url().optional().describe(
1875
+ "The REST API endpoint to get more resource details."
1876
+ )
1877
+ }).strict().describe("ID and link relative to Zephyr project."),
1878
+ testCase: zod.object({
1879
+ self: zod.string().url().optional().describe(
1880
+ "The REST API endpoint to get more resource details."
1969
1881
  ),
1970
- estimatedTime: zod.number().min(listTestExecutionsNextgenResponseValuesItemEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
1971
- executionTime: zod.number().min(listTestExecutionsNextgenResponseValuesItemExecutionTimeMin).nullish().describe("Actual test execution time in milliseconds."),
1972
- executedById: zod.string().regex(
1973
- listTestExecutionsNextgenResponseValuesItemExecutedByIdRegExp
1974
- ).nullish().describe("Atlassian Account ID of the Jira user."),
1975
- assignedToId: zod.string().regex(
1976
- listTestExecutionsNextgenResponseValuesItemAssignedToIdRegExp
1977
- ).nullish().describe("Atlassian Account ID of the Jira user."),
1978
- comment: zod.string().nullish().describe("Comment added against overall test case execution."),
1979
- automated: zod.boolean().optional().describe(
1980
- "Indicates if the test execution was done manually or not."
1882
+ id: zod.number().min(1).optional()
1883
+ }).strict(),
1884
+ environment: zod.object({
1885
+ id: zod.number().min(1),
1886
+ self: zod.string().url().optional().describe(
1887
+ "The REST API endpoint to get more resource details."
1888
+ )
1889
+ }).strict().nullish(),
1890
+ jiraProjectVersion: zod.object({
1891
+ id: zod.number().min(1),
1892
+ self: zod.string().url().optional().describe(
1893
+ "The REST API endpoint to get more resource details."
1894
+ )
1895
+ }).strict().nullish().describe(
1896
+ "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1897
+ ),
1898
+ testExecutionStatus: zod.object({
1899
+ id: zod.number().min(1),
1900
+ self: zod.string().url().optional().describe(
1901
+ "The REST API endpoint to get more resource details."
1902
+ )
1903
+ }).strict(),
1904
+ actualEndDate: zod.string().datetime({}).optional().describe(
1905
+ "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
1906
+ ),
1907
+ estimatedTime: zod.number().min(
1908
+ listTestExecutionsNextgen200ResponseTwoValuesItemEstimatedTimeMin
1909
+ ).nullish().describe("Estimated duration in milliseconds."),
1910
+ executionTime: zod.number().min(
1911
+ listTestExecutionsNextgen200ResponseTwoValuesItemExecutionTimeMin
1912
+ ).nullish().describe("Actual test execution time in milliseconds."),
1913
+ executedById: zod.string().regex(
1914
+ listTestExecutionsNextgen200ResponseTwoValuesItemExecutedByIdRegExp
1915
+ ).nullish().describe("Atlassian Account ID of the Jira user."),
1916
+ assignedToId: zod.string().regex(
1917
+ listTestExecutionsNextgen200ResponseTwoValuesItemAssignedToIdRegExp
1918
+ ).nullish().describe("Atlassian Account ID of the Jira user."),
1919
+ comment: zod.string().nullish().describe("Comment added against overall test case execution."),
1920
+ automated: zod.boolean().optional().describe(
1921
+ "Indicates if the test execution was done manually or not."
1922
+ ),
1923
+ testCycle: zod.object({
1924
+ self: zod.string().url().optional().describe(
1925
+ "The REST API endpoint to get more resource details."
1981
1926
  ),
1982
- testCycle: zod.object({
1983
- self: zod.string().url().optional().describe(
1984
- "The REST API endpoint to get more resource details."
1985
- )
1986
- }).and(
1987
- zod.object({
1988
- id: zod.number().min(1).optional()
1989
- })
1990
- ).nullish(),
1991
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1992
- "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"
1927
+ id: zod.number().min(1).optional()
1928
+ }).strict().nullish(),
1929
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
1930
+ "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"
1931
+ ),
1932
+ links: zod.object({
1933
+ self: zod.string().url().optional().describe(
1934
+ "The REST API endpoint to get more resource details."
1993
1935
  ),
1994
- links: zod.object({
1995
- self: zod.string().url().optional().describe(
1996
- "The REST API endpoint to get more resource details."
1997
- )
1998
- }).and(
1936
+ issues: zod.array(
1999
1937
  zod.object({
2000
- issues: zod.array(
2001
- zod.object({
2002
- issueId: zod.number().min(1).describe("The Jira issue ID")
2003
- }).and(
2004
- zod.object({
2005
- self: zod.string().url().optional().describe(
2006
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
2007
- ),
2008
- id: zod.number().min(1).optional().describe(
2009
- "The ID that represents the link between the entity and the Jira issue."
2010
- ),
2011
- target: zod.string().url().optional().describe(
2012
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
2013
- ),
2014
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
2015
- })
2016
- )
2017
- ).optional().describe("A list of Jira issues linked to this entity")
2018
- })
2019
- ).optional()
2020
- })
2021
- ).optional()
2022
- })
2023
- );
1938
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
1939
+ self: zod.string().url().optional().describe(
1940
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
1941
+ ),
1942
+ id: zod.number().min(1).optional().describe(
1943
+ "The ID that represents the link between the entity and the Jira issue."
1944
+ ),
1945
+ target: zod.string().url().optional().describe(
1946
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
1947
+ ),
1948
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
1949
+ }).strict()
1950
+ ).optional().describe("A list of Jira issues linked to this entity")
1951
+ }).strict().optional()
1952
+ }).strict()
1953
+ ).optional()
1954
+ }).strict();
1955
+ zod.object({
1956
+ errorCode: zod.number(),
1957
+ message: zod.string()
1958
+ }).strict();
2024
1959
  const getTestExecutionPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2025
- const getTestExecutionParams = zod.object({
1960
+ const GetTestExecutionParams = zod.object({
2026
1961
  testExecutionIdOrKey: zod.string().regex(getTestExecutionPathTestExecutionIdOrKeyRegExp).describe(
2027
1962
  "The ID or key of the test execution. Test execution keys are of the format [A-Z]+-E[0-9]+"
2028
1963
  )
2029
1964
  });
1965
+ const getTestExecutionQueryIncludeStepLinksDefault = false;
2030
1966
  zod.object({
2031
- includeStepLinks: zod.boolean().optional().describe(
1967
+ includeStepLinks: zod.boolean().default(getTestExecutionQueryIncludeStepLinksDefault).describe(
2032
1968
  "If true, execution step issue links will be included in the response"
2033
1969
  )
2034
1970
  });
2035
- const getTestExecutionResponseKeyRegExp = /.+-E[0-9]+/;
2036
- const getTestExecutionResponseEstimatedTimeMin = 0;
2037
- const getTestExecutionResponseExecutionTimeMin = 0;
2038
- const getTestExecutionResponseExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
2039
- const getTestExecutionResponseAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
2040
- const getTestExecutionResponse = zod.object({
1971
+ const getTestExecution200ResponseKeyRegExp = /.+-E[0-9]+/;
1972
+ const getTestExecution200ResponseEstimatedTimeMin = 0;
1973
+ const getTestExecution200ResponseExecutionTimeMin = 0;
1974
+ const getTestExecution200ResponseExecutedByIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1975
+ const getTestExecution200ResponseAssignedToIdRegExp = /^[-:a-zA-Z0-9]{1,128}$/;
1976
+ const GetTestExecution200Response = zod.object({
2041
1977
  id: zod.number().min(1),
2042
- key: zod.string().regex(getTestExecutionResponseKeyRegExp).optional().describe("Test execution key"),
1978
+ key: zod.string().regex(getTestExecution200ResponseKeyRegExp).optional().describe("Test execution key"),
2043
1979
  project: zod.object({
2044
- id: zod.number().min(1)
2045
- }).describe("The ID of the resource").and(
2046
- zod.object({
2047
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2048
- })
2049
- ).describe("ID and link relative to Zephyr project."),
2050
- testCase: zod.object({
1980
+ id: zod.number().min(1),
2051
1981
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2052
- }).and(
2053
- zod.object({
2054
- id: zod.number().min(1).optional()
2055
- })
2056
- ),
1982
+ }).strict().describe("ID and link relative to Zephyr project."),
1983
+ testCase: zod.object({
1984
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
1985
+ id: zod.number().min(1).optional()
1986
+ }).strict(),
2057
1987
  environment: zod.object({
2058
- id: zod.number().min(1)
2059
- }).describe("The ID of the resource").and(
2060
- zod.object({
2061
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2062
- })
2063
- ).nullish(),
2064
- jiraProjectVersion: zod.object({
2065
- id: zod.number().min(1)
2066
- }).describe("The ID of the resource").and(
2067
- zod.object({
2068
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2069
- })
2070
- ).nullish().describe(
2071
- "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
2072
- ),
2073
- testExecutionStatus: zod.object({
2074
- id: zod.number().min(1)
2075
- }).describe("The ID of the resource").and(
2076
- zod.object({
2077
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2078
- })
2079
- ),
2080
- actualEndDate: zod.string().datetime({}).optional().describe(
2081
- "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
2082
- ),
2083
- estimatedTime: zod.number().min(getTestExecutionResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
2084
- executionTime: zod.number().min(getTestExecutionResponseExecutionTimeMin).nullish().describe("Actual test execution time in milliseconds."),
2085
- executedById: zod.string().regex(getTestExecutionResponseExecutedByIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2086
- assignedToId: zod.string().regex(getTestExecutionResponseAssignedToIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2087
- comment: zod.string().nullish().describe("Comment added against overall test case execution."),
2088
- automated: zod.boolean().optional().describe("Indicates if the test execution was done manually or not."),
2089
- testCycle: zod.object({
2090
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2091
- }).and(
2092
- zod.object({
2093
- id: zod.number().min(1).optional()
2094
- })
2095
- ).nullish(),
2096
- customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2097
- "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"
2098
- ),
2099
- links: zod.object({
2100
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2101
- }).and(
2102
- zod.object({
2103
- issues: zod.array(
2104
- zod.object({
2105
- issueId: zod.number().min(1).describe("The Jira issue ID")
2106
- }).and(
2107
- zod.object({
2108
- self: zod.string().url().optional().describe(
2109
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
2110
- ),
2111
- id: zod.number().min(1).optional().describe(
2112
- "The ID that represents the link between the entity and the Jira issue."
2113
- ),
2114
- target: zod.string().url().optional().describe(
2115
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
2116
- ),
2117
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
2118
- })
2119
- )
2120
- ).optional().describe("A list of Jira issues linked to this entity")
2121
- })
2122
- ).optional()
2123
- });
1988
+ id: zod.number().min(1),
1989
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1990
+ }).strict().nullish(),
1991
+ jiraProjectVersion: zod.object({
1992
+ id: zod.number().min(1),
1993
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
1994
+ }).strict().nullish().describe(
1995
+ "ID and Link to fetch information about Jira Project version. Relates to 'Version' or 'Releases' in Jira projects."
1996
+ ),
1997
+ testExecutionStatus: zod.object({
1998
+ id: zod.number().min(1),
1999
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2000
+ }).strict(),
2001
+ actualEndDate: zod.string().datetime({}).optional().describe(
2002
+ "The actual end date of the test cycle. Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
2003
+ ),
2004
+ estimatedTime: zod.number().min(getTestExecution200ResponseEstimatedTimeMin).nullish().describe("Estimated duration in milliseconds."),
2005
+ executionTime: zod.number().min(getTestExecution200ResponseExecutionTimeMin).nullish().describe("Actual test execution time in milliseconds."),
2006
+ executedById: zod.string().regex(getTestExecution200ResponseExecutedByIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2007
+ assignedToId: zod.string().regex(getTestExecution200ResponseAssignedToIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2008
+ comment: zod.string().nullish().describe("Comment added against overall test case execution."),
2009
+ automated: zod.boolean().optional().describe("Indicates if the test execution was done manually or not."),
2010
+ testCycle: zod.object({
2011
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2012
+ id: zod.number().min(1).optional()
2013
+ }).strict().nullish(),
2014
+ customFields: zod.record(zod.string(), zod.unknown()).optional().describe(
2015
+ "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"
2016
+ ),
2017
+ links: zod.object({
2018
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2019
+ issues: zod.array(
2020
+ zod.object({
2021
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
2022
+ self: zod.string().url().optional().describe(
2023
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
2024
+ ),
2025
+ id: zod.number().min(1).optional().describe(
2026
+ "The ID that represents the link between the entity and the Jira issue."
2027
+ ),
2028
+ target: zod.string().url().optional().describe(
2029
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
2030
+ ),
2031
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
2032
+ }).strict()
2033
+ ).optional().describe("A list of Jira issues linked to this entity")
2034
+ }).strict().optional()
2035
+ }).strict();
2036
+ zod.object({
2037
+ errorCode: zod.number(),
2038
+ message: zod.string()
2039
+ }).strict();
2124
2040
  const updateTestExecutionPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2125
2041
  zod.object({
2126
2042
  testExecutionIdOrKey: zod.string().regex(updateTestExecutionPathTestExecutionIdOrKeyRegExp).describe(
@@ -2142,6 +2058,10 @@ zod.object({
2142
2058
  assignedToId: zod.string().regex(updateTestExecutionBodyAssignedToIdRegExp).nullish().describe("Atlassian Account ID of the Jira user."),
2143
2059
  comment: zod.string().nullish().describe("Comment added against overall test case execution.")
2144
2060
  });
2061
+ zod.object({
2062
+ errorCode: zod.number(),
2063
+ message: zod.string()
2064
+ }).strict();
2145
2065
  const getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2146
2066
  zod.object({
2147
2067
  testExecutionIdOrKey: zod.string().regex(getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp).describe(
@@ -2149,6 +2069,7 @@ zod.object({
2149
2069
  )
2150
2070
  });
2151
2071
  const getTestExecutionTestStepsQueryMaxResultsDefault = 10;
2072
+ const getTestExecutionTestStepsQueryStartAtDefault = 0;
2152
2073
  const getTestExecutionTestStepsQueryStartAtMin = 0;
2153
2074
  const getTestExecutionTestStepsQueryStartAtMax = 1e6;
2154
2075
  const getTestExecutionTestStepsQueryTestDataRowNumberMin = 0;
@@ -2156,58 +2077,50 @@ zod.object({
2156
2077
  maxResults: zod.number().min(1).default(getTestExecutionTestStepsQueryMaxResultsDefault).describe(
2157
2078
  "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"
2158
2079
  ),
2159
- startAt: zod.number().min(getTestExecutionTestStepsQueryStartAtMin).max(getTestExecutionTestStepsQueryStartAtMax).optional().describe(
2080
+ startAt: zod.number().min(getTestExecutionTestStepsQueryStartAtMin).max(getTestExecutionTestStepsQueryStartAtMax).default(getTestExecutionTestStepsQueryStartAtDefault).describe(
2160
2081
  "Zero-indexed starting position. Should be a multiple of maxResults."
2161
2082
  ),
2162
2083
  testDataRowNumber: zod.number().min(getTestExecutionTestStepsQueryTestDataRowNumberMin).optional().describe("The id of the test data row to retrieve.")
2163
2084
  });
2164
- const getTestExecutionTestStepsResponseStartAtMin = 0;
2165
- const getTestExecutionTestStepsResponseTotalMin = 0;
2085
+ const getTestExecutionTestSteps200ResponseOneStartAtMin = 0;
2086
+ const getTestExecutionTestSteps200ResponseOneTotalMin = 0;
2166
2087
  zod.object({
2167
2088
  next: zod.string().url().nullish().describe(
2168
2089
  "URL to the next page of results, or null if there are no more results."
2169
2090
  ),
2170
- startAt: zod.number().min(getTestExecutionTestStepsResponseStartAtMin).describe(
2091
+ startAt: zod.number().min(getTestExecutionTestSteps200ResponseOneStartAtMin).describe(
2171
2092
  "Indicates the index of the first item returned in the page of results."
2172
2093
  ),
2173
2094
  maxResults: zod.number().min(1).describe(
2174
2095
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
2175
2096
  ),
2176
- total: zod.number().min(getTestExecutionTestStepsResponseTotalMin).optional().describe(
2097
+ total: zod.number().min(getTestExecutionTestSteps200ResponseOneTotalMin).optional().describe(
2177
2098
  "Indicates the total number of items available across all pages."
2178
2099
  ),
2179
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
2180
- }).and(
2181
- zod.object({
2182
- values: zod.array(
2183
- zod.object({
2184
- inline: zod.object({
2185
- description: zod.string().optional().describe("The instruction to be followed"),
2186
- testData: zod.string().optional().describe(
2187
- "Any test data required to perform the instruction (optional). The fields values provided can be interpolated into the description."
2188
- ),
2189
- expectedResult: zod.string().optional().describe(
2190
- "The expected outcome of executing the instruction"
2191
- ),
2192
- actualResult: zod.string().optional().describe(
2193
- "The actual outcome of executing the instruction"
2194
- ),
2195
- testDataRowNumber: zod.number().optional().describe("The id of the test data row"),
2196
- reflectRef: zod.string().optional().describe("The AI reference. Zephyr only feature"),
2197
- status: zod.object({
2198
- id: zod.number().min(1)
2199
- }).describe("The ID of the resource").and(
2200
- zod.object({
2201
- self: zod.string().url().optional().describe(
2202
- "The REST API endpoint to get more resource details."
2203
- )
2204
- })
2205
- ).optional()
2206
- }).optional()
2207
- }).describe("Inline test step")
2208
- ).optional().describe("The list of test steps")
2209
- })
2210
- ).describe("Response body when retrieving test steps for a test execution");
2100
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2101
+ values: zod.array(
2102
+ zod.object({
2103
+ inline: zod.object({
2104
+ description: zod.string().optional().describe("The instruction to be followed"),
2105
+ testData: zod.string().optional().describe(
2106
+ "Any test data required to perform the instruction (optional). The fields values provided can be interpolated into the description."
2107
+ ),
2108
+ expectedResult: zod.string().optional().describe(
2109
+ "The expected outcome of executing the instruction"
2110
+ ),
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"),
2114
+ status: zod.object({
2115
+ id: zod.number().min(1),
2116
+ self: zod.string().url().optional().describe(
2117
+ "The REST API endpoint to get more resource details."
2118
+ )
2119
+ }).strict().optional()
2120
+ }).strict().optional()
2121
+ }).strict().describe("Inline test step")
2122
+ ).optional().describe("The list of test steps")
2123
+ }).strict().describe("Response body when retrieving test steps for a test execution");
2211
2124
  const putTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2212
2125
  zod.object({
2213
2126
  testExecutionIdOrKey: zod.string().regex(putTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp).describe(
@@ -2223,6 +2136,28 @@ zod.object({
2223
2136
  })
2224
2137
  ).optional()
2225
2138
  });
2139
+ zod.object({
2140
+ errorCode: zod.number(),
2141
+ message: zod.string()
2142
+ }).strict();
2143
+ zod.object({
2144
+ errorCode: zod.number(),
2145
+ message: zod.string()
2146
+ }).strict();
2147
+ zod.union([
2148
+ zod.object({
2149
+ errorCode: zod.number(),
2150
+ message: zod.string()
2151
+ }).strict(),
2152
+ zod.object({
2153
+ errorCode: zod.number(),
2154
+ message: zod.string()
2155
+ }).strict()
2156
+ ]);
2157
+ zod.object({
2158
+ errorCode: zod.number(),
2159
+ message: zod.string()
2160
+ }).strict();
2226
2161
  const syncTestExecutionScriptPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2227
2162
  zod.object({
2228
2163
  testExecutionIdOrKey: zod.string().regex(syncTestExecutionScriptPathTestExecutionIdOrKeyRegExp).describe(
@@ -2231,7 +2166,19 @@ zod.object({
2231
2166
  });
2232
2167
  zod.object({
2233
2168
  self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2234
- });
2169
+ }).strict();
2170
+ zod.object({
2171
+ errorCode: zod.number(),
2172
+ message: zod.string()
2173
+ }).strict();
2174
+ zod.object({
2175
+ errorCode: zod.number(),
2176
+ message: zod.string()
2177
+ }).strict();
2178
+ zod.object({
2179
+ errorCode: zod.number(),
2180
+ message: zod.string()
2181
+ }).strict();
2235
2182
  const listTestExecutionLinksPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2236
2183
  zod.object({
2237
2184
  testExecutionIdOrKey: zod.string().regex(listTestExecutionLinksPathTestExecutionIdOrKeyRegExp).describe(
@@ -2239,29 +2186,27 @@ zod.object({
2239
2186
  )
2240
2187
  });
2241
2188
  zod.object({
2242
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2243
- }).and(
2244
- zod.object({
2245
- issues: zod.array(
2246
- zod.object({
2247
- issueId: zod.number().min(1).describe("The Jira issue ID")
2248
- }).and(
2249
- zod.object({
2250
- self: zod.string().url().optional().describe(
2251
- "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
2252
- ),
2253
- id: zod.number().min(1).optional().describe(
2254
- "The ID that represents the link between the entity and the Jira issue."
2255
- ),
2256
- target: zod.string().url().optional().describe(
2257
- "The Jira Cloud REST API endpoint to get the full representation of the issue"
2258
- ),
2259
- type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
2260
- })
2261
- )
2262
- ).optional().describe("A list of Jira issues linked to this entity")
2263
- })
2264
- );
2189
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details."),
2190
+ issues: zod.array(
2191
+ zod.object({
2192
+ issueId: zod.number().min(1).describe("The Jira issue ID"),
2193
+ self: zod.string().url().optional().describe(
2194
+ "The Zephyr REST API endpoint relative to the link between the entity and the Jira issue."
2195
+ ),
2196
+ id: zod.number().min(1).optional().describe(
2197
+ "The ID that represents the link between the entity and the Jira issue."
2198
+ ),
2199
+ target: zod.string().url().optional().describe(
2200
+ "The Jira Cloud REST API endpoint to get the full representation of the issue"
2201
+ ),
2202
+ type: zod.enum(["COVERAGE", "BLOCKS", "RELATED"]).optional().describe("The link type")
2203
+ }).strict()
2204
+ ).optional().describe("A list of Jira issues linked to this entity")
2205
+ }).strict();
2206
+ zod.object({
2207
+ errorCode: zod.number(),
2208
+ message: zod.string()
2209
+ }).strict();
2265
2210
  const createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp = /([0-9]+)|(.+-E[0-9]+)/;
2266
2211
  zod.object({
2267
2212
  testExecutionIdOrKey: zod.string().regex(createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp).describe(
@@ -2271,58 +2216,69 @@ zod.object({
2271
2216
  zod.object({
2272
2217
  issueId: zod.number().min(1).describe("The Jira issue ID")
2273
2218
  });
2219
+ zod.object({
2220
+ errorCode: zod.number(),
2221
+ message: zod.string()
2222
+ }).strict();
2274
2223
  const listProjectsQueryMaxResultsDefault = 10;
2224
+ const listProjectsQueryStartAtDefault = 0;
2275
2225
  const listProjectsQueryStartAtMin = 0;
2276
2226
  const listProjectsQueryStartAtMax = 1e6;
2277
- const listProjectsQueryParams = zod.object({
2227
+ const ListProjectsQueryParams = zod.object({
2278
2228
  maxResults: zod.number().min(1).default(listProjectsQueryMaxResultsDefault).describe(
2279
2229
  "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"
2280
2230
  ),
2281
- startAt: zod.number().min(listProjectsQueryStartAtMin).max(listProjectsQueryStartAtMax).optional().describe(
2231
+ startAt: zod.number().min(listProjectsQueryStartAtMin).max(listProjectsQueryStartAtMax).default(listProjectsQueryStartAtDefault).describe(
2282
2232
  "Zero-indexed starting position. Should be a multiple of maxResults."
2283
2233
  )
2284
2234
  });
2285
- const listProjectsResponseStartAtMin = 0;
2286
- const listProjectsResponseTotalMin = 0;
2287
- const listProjectsResponse = zod.object({
2235
+ const listProjects200ResponseOneStartAtMin = 0;
2236
+ const listProjects200ResponseOneTotalMin = 0;
2237
+ const ListProjects200Response = zod.object({
2288
2238
  next: zod.string().url().nullish().describe(
2289
2239
  "URL to the next page of results, or null if there are no more results."
2290
2240
  ),
2291
- startAt: zod.number().min(listProjectsResponseStartAtMin).describe(
2241
+ startAt: zod.number().min(listProjects200ResponseOneStartAtMin).describe(
2292
2242
  "Indicates the index of the first item returned in the page of results."
2293
2243
  ),
2294
2244
  maxResults: zod.number().min(1).describe(
2295
2245
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
2296
2246
  ),
2297
- total: zod.number().min(listProjectsResponseTotalMin).optional().describe(
2247
+ total: zod.number().min(listProjects200ResponseOneTotalMin).optional().describe(
2298
2248
  "Indicates the total number of items available across all pages."
2299
2249
  ),
2300
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
2301
- }).and(
2302
- zod.object({
2303
- values: zod.array(
2304
- zod.object({
2305
- id: zod.number().describe("The ID of the project in Zephyr."),
2306
- jiraProjectId: zod.number().describe("The ID of the project in Jira."),
2307
- key: zod.string(),
2308
- enabled: zod.boolean().describe(
2309
- "Indicates whether the project has Zephyr enabled on it."
2310
- )
2311
- })
2312
- ).optional()
2313
- })
2314
- );
2250
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2251
+ values: zod.array(
2252
+ zod.object({
2253
+ id: zod.number().describe("The ID of the project in Zephyr."),
2254
+ jiraProjectId: zod.number().describe("The ID of the project in Jira."),
2255
+ key: zod.string(),
2256
+ enabled: zod.boolean().describe(
2257
+ "Indicates whether the project has Zephyr enabled on it."
2258
+ )
2259
+ }).strict()
2260
+ ).optional()
2261
+ }).strict();
2262
+ zod.object({
2263
+ errorCode: zod.number(),
2264
+ message: zod.string()
2265
+ }).strict();
2315
2266
  const getProjectPathProjectIdOrKeyRegExp = /([0-9]+)|([A-Z][A-Z_0-9]+)/;
2316
- const getProjectParams = zod.object({
2267
+ const GetProjectParams = zod.object({
2317
2268
  projectIdOrKey: zod.string().regex(getProjectPathProjectIdOrKeyRegExp).describe("The Zephyr project ID or Jira project key")
2318
2269
  });
2319
- const getProjectResponse = zod.object({
2270
+ const GetProject200Response = zod.object({
2320
2271
  id: zod.number().describe("The ID of the project in Zephyr."),
2321
2272
  jiraProjectId: zod.number().describe("The ID of the project in Jira."),
2322
2273
  key: zod.string(),
2323
2274
  enabled: zod.boolean().describe("Indicates whether the project has Zephyr enabled on it.")
2324
- });
2275
+ }).strict();
2276
+ zod.object({
2277
+ errorCode: zod.number(),
2278
+ message: zod.string()
2279
+ }).strict();
2325
2280
  const listFoldersQueryMaxResultsDefault = 10;
2281
+ const listFoldersQueryStartAtDefault = 0;
2326
2282
  const listFoldersQueryStartAtMin = 0;
2327
2283
  const listFoldersQueryStartAtMax = 1e6;
2328
2284
  const listFoldersQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
@@ -2330,7 +2286,7 @@ zod.object({
2330
2286
  maxResults: zod.number().min(1).default(listFoldersQueryMaxResultsDefault).describe(
2331
2287
  "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"
2332
2288
  ),
2333
- startAt: zod.number().min(listFoldersQueryStartAtMin).max(listFoldersQueryStartAtMax).optional().describe(
2289
+ startAt: zod.number().min(listFoldersQueryStartAtMin).max(listFoldersQueryStartAtMax).default(listFoldersQueryStartAtDefault).describe(
2334
2290
  "Zero-indexed starting position. Should be a multiple of maxResults."
2335
2291
  ),
2336
2292
  projectKey: zod.string().regex(listFoldersQueryProjectKeyRegExp).optional().describe("Jira project key filter"),
@@ -2338,48 +2294,47 @@ zod.object({
2338
2294
  'Folder type filter. Either `"TEST_CASE"`, `"TEST_PLAN"` or `"TEST_CYCLE"`'
2339
2295
  )
2340
2296
  });
2341
- const listFoldersResponseStartAtMin = 0;
2342
- const listFoldersResponseTotalMin = 0;
2343
- const listFoldersResponseValuesItemNameRegExp = /^(?!\\s*$).+/;
2344
- const listFoldersResponseValuesItemIndexMin = 0;
2297
+ const listFolders200ResponseOneStartAtMin = 0;
2298
+ const listFolders200ResponseOneTotalMin = 0;
2299
+ const listFolders200ResponseTwoValuesItemNameMax = 255;
2300
+ const listFolders200ResponseTwoValuesItemNameRegExp = /^(?!\\s*$).+/;
2301
+ const listFolders200ResponseTwoValuesItemIndexMin = 0;
2345
2302
  zod.object({
2346
2303
  next: zod.string().url().nullish().describe(
2347
2304
  "URL to the next page of results, or null if there are no more results."
2348
2305
  ),
2349
- startAt: zod.number().min(listFoldersResponseStartAtMin).describe(
2306
+ startAt: zod.number().min(listFolders200ResponseOneStartAtMin).describe(
2350
2307
  "Indicates the index of the first item returned in the page of results."
2351
2308
  ),
2352
2309
  maxResults: zod.number().min(1).describe(
2353
2310
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
2354
2311
  ),
2355
- total: zod.number().min(listFoldersResponseTotalMin).optional().describe(
2312
+ total: zod.number().min(listFolders200ResponseOneTotalMin).optional().describe(
2356
2313
  "Indicates the total number of items available across all pages."
2357
2314
  ),
2358
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
2359
- }).and(
2360
- zod.object({
2361
- values: zod.array(
2362
- zod.object({
2315
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2316
+ values: zod.array(
2317
+ zod.object({
2318
+ id: zod.number().min(1),
2319
+ parentId: zod.number().min(1),
2320
+ name: zod.string().min(1).max(listFolders200ResponseTwoValuesItemNameMax).regex(listFolders200ResponseTwoValuesItemNameRegExp),
2321
+ index: zod.number().min(listFolders200ResponseTwoValuesItemIndexMin),
2322
+ folderType: zod.string().describe(
2323
+ 'Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`'
2324
+ ),
2325
+ project: zod.object({
2363
2326
  id: zod.number().min(1),
2364
- parentId: zod.number().min(1),
2365
- name: zod.string().regex(listFoldersResponseValuesItemNameRegExp),
2366
- index: zod.number().min(listFoldersResponseValuesItemIndexMin),
2367
- folderType: zod.string().describe(
2368
- 'Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`'
2369
- ),
2370
- project: zod.object({
2371
- id: zod.number().min(1)
2372
- }).describe("The ID of the resource").and(
2373
- zod.object({
2374
- self: zod.string().url().optional().describe(
2375
- "The REST API endpoint to get more resource details."
2376
- )
2377
- })
2378
- ).optional().describe("ID and link relative to Zephyr project.")
2379
- })
2380
- ).optional()
2381
- })
2382
- );
2327
+ self: zod.string().url().optional().describe(
2328
+ "The REST API endpoint to get more resource details."
2329
+ )
2330
+ }).strict().optional().describe("ID and link relative to Zephyr project.")
2331
+ }).strict()
2332
+ ).optional()
2333
+ }).strict();
2334
+ zod.object({
2335
+ errorCode: zod.number(),
2336
+ message: zod.string()
2337
+ }).strict();
2383
2338
  const createFolderBodyNameMax = 255;
2384
2339
  const createFolderBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2385
2340
  zod.object({
@@ -2390,83 +2345,91 @@ zod.object({
2390
2345
  projectKey: zod.string().regex(createFolderBodyProjectKeyRegExp).describe("Jira project key."),
2391
2346
  folderType: zod.string().describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`')
2392
2347
  });
2348
+ zod.object({
2349
+ id: zod.number().min(1).optional(),
2350
+ self: zod.string().optional()
2351
+ }).strict();
2352
+ zod.object({
2353
+ errorCode: zod.number(),
2354
+ message: zod.string()
2355
+ }).strict();
2393
2356
  zod.object({
2394
2357
  folderId: zod.number().min(1).describe("Folder ID")
2395
2358
  });
2396
- const getFolderResponseNameRegExp = /^(?!\\s*$).+/;
2397
- const getFolderResponseIndexMin = 0;
2359
+ const getFolder200ResponseNameMax = 255;
2360
+ const getFolder200ResponseNameRegExp = /^(?!\\s*$).+/;
2361
+ const getFolder200ResponseIndexMin = 0;
2398
2362
  zod.object({
2399
2363
  id: zod.number().min(1),
2400
2364
  parentId: zod.number().min(1),
2401
- name: zod.string().regex(getFolderResponseNameRegExp),
2402
- index: zod.number().min(getFolderResponseIndexMin),
2365
+ name: zod.string().min(1).max(getFolder200ResponseNameMax).regex(getFolder200ResponseNameRegExp),
2366
+ index: zod.number().min(getFolder200ResponseIndexMin),
2403
2367
  folderType: zod.string().describe('Valid values: `"TEST_CASE"`, `"TEST_PLAN"`, `"TEST_CYCLE"`'),
2404
2368
  project: zod.object({
2405
- id: zod.number().min(1)
2406
- }).describe("The ID of the resource").and(
2407
- zod.object({
2408
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2409
- })
2410
- ).optional().describe("ID and link relative to Zephyr project.")
2411
- });
2369
+ id: zod.number().min(1),
2370
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2371
+ }).strict().optional().describe("ID and link relative to Zephyr project.")
2372
+ }).strict();
2373
+ zod.object({
2374
+ errorCode: zod.number(),
2375
+ message: zod.string()
2376
+ }).strict();
2412
2377
  const listPrioritiesQueryMaxResultsDefault = 10;
2378
+ const listPrioritiesQueryStartAtDefault = 0;
2413
2379
  const listPrioritiesQueryStartAtMin = 0;
2414
2380
  const listPrioritiesQueryStartAtMax = 1e6;
2415
2381
  const listPrioritiesQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2416
- const listPrioritiesQueryParams = zod.object({
2382
+ const ListPrioritiesQueryParams = zod.object({
2417
2383
  maxResults: zod.number().min(1).default(listPrioritiesQueryMaxResultsDefault).describe(
2418
2384
  "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"
2419
2385
  ),
2420
- startAt: zod.number().min(listPrioritiesQueryStartAtMin).max(listPrioritiesQueryStartAtMax).optional().describe(
2386
+ startAt: zod.number().min(listPrioritiesQueryStartAtMin).max(listPrioritiesQueryStartAtMax).default(listPrioritiesQueryStartAtDefault).describe(
2421
2387
  "Zero-indexed starting position. Should be a multiple of maxResults."
2422
2388
  ),
2423
2389
  projectKey: zod.string().regex(listPrioritiesQueryProjectKeyRegExp).optional().describe("Jira project key filter")
2424
2390
  });
2425
- const listPrioritiesResponseStartAtMin = 0;
2426
- const listPrioritiesResponseTotalMin = 0;
2427
- const listPrioritiesResponseValuesItemNameRegExp = /^(?!\\s*$).+/;
2428
- const listPrioritiesResponseValuesItemIndexMin = 0;
2429
- const listPrioritiesResponseValuesItemColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2430
- const listPrioritiesResponse = zod.object({
2391
+ const listPriorities200ResponseOneStartAtMin = 0;
2392
+ const listPriorities200ResponseOneTotalMin = 0;
2393
+ const listPriorities200ResponseTwoValuesItemOneNameMax = 255;
2394
+ const listPriorities200ResponseTwoValuesItemOneNameRegExp = /^(?!\\s*$).+/;
2395
+ const listPriorities200ResponseTwoValuesItemOneIndexMin = 0;
2396
+ const listPriorities200ResponseTwoValuesItemTwoColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2397
+ const listPriorities200ResponseTwoValuesItemTwoDefaultDefault = false;
2398
+ const ListPriorities200Response = zod.object({
2431
2399
  next: zod.string().url().nullish().describe(
2432
2400
  "URL to the next page of results, or null if there are no more results."
2433
2401
  ),
2434
- startAt: zod.number().min(listPrioritiesResponseStartAtMin).describe(
2402
+ startAt: zod.number().min(listPriorities200ResponseOneStartAtMin).describe(
2435
2403
  "Indicates the index of the first item returned in the page of results."
2436
2404
  ),
2437
2405
  maxResults: zod.number().min(1).describe(
2438
2406
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
2439
2407
  ),
2440
- total: zod.number().min(listPrioritiesResponseTotalMin).optional().describe(
2408
+ total: zod.number().min(listPriorities200ResponseOneTotalMin).optional().describe(
2441
2409
  "Indicates the total number of items available across all pages."
2442
2410
  ),
2443
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
2444
- }).and(
2445
- zod.object({
2446
- values: zod.array(
2447
- zod.object({
2411
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2412
+ values: zod.array(
2413
+ zod.object({
2414
+ id: zod.number().min(1),
2415
+ project: zod.object({
2448
2416
  id: zod.number().min(1),
2449
- project: zod.object({
2450
- id: zod.number().min(1)
2451
- }).describe("The ID of the resource").and(
2452
- zod.object({
2453
- self: zod.string().url().optional().describe(
2454
- "The REST API endpoint to get more resource details."
2455
- )
2456
- })
2457
- ).describe("ID and link relative to Zephyr project."),
2458
- name: zod.string().regex(listPrioritiesResponseValuesItemNameRegExp),
2459
- description: zod.string().nullish().describe("Description outlining the scope."),
2460
- index: zod.number().min(listPrioritiesResponseValuesItemIndexMin)
2461
- }).and(
2462
- zod.object({
2463
- color: zod.string().regex(listPrioritiesResponseValuesItemColorRegExp).optional().describe("A color in hexadecimal format"),
2464
- default: zod.boolean().optional()
2465
- })
2466
- )
2467
- ).optional()
2468
- })
2469
- );
2417
+ self: zod.string().url().optional().describe(
2418
+ "The REST API endpoint to get more resource details."
2419
+ )
2420
+ }).strict().describe("ID and link relative to Zephyr project."),
2421
+ name: zod.string().min(1).max(listPriorities200ResponseTwoValuesItemOneNameMax).regex(listPriorities200ResponseTwoValuesItemOneNameRegExp),
2422
+ description: zod.string().nullish().describe("Description outlining the scope."),
2423
+ index: zod.number().min(listPriorities200ResponseTwoValuesItemOneIndexMin),
2424
+ color: zod.string().regex(listPriorities200ResponseTwoValuesItemTwoColorRegExp).optional().describe("A color in hexadecimal format"),
2425
+ default: zod.boolean().default(listPriorities200ResponseTwoValuesItemTwoDefaultDefault)
2426
+ }).strict()
2427
+ ).optional()
2428
+ }).strict();
2429
+ zod.object({
2430
+ errorCode: zod.number(),
2431
+ message: zod.string()
2432
+ }).strict();
2470
2433
  const createPriorityBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2471
2434
  const createPriorityBodyNameMax = 255;
2472
2435
  const createPriorityBodyDescriptionMax = 255;
@@ -2477,30 +2440,42 @@ zod.object({
2477
2440
  description: zod.string().min(1).max(createPriorityBodyDescriptionMax).optional().describe("The priority description."),
2478
2441
  color: zod.string().regex(createPriorityBodyColorRegExp).optional().describe("A color in hexadecimal format")
2479
2442
  });
2443
+ zod.object({
2444
+ id: zod.number().min(1).optional(),
2445
+ self: zod.string().optional()
2446
+ }).strict();
2447
+ zod.object({
2448
+ errorCode: zod.number(),
2449
+ message: zod.string()
2450
+ }).strict();
2480
2451
  zod.object({
2481
2452
  priorityId: zod.number().min(1)
2482
2453
  });
2483
- const getPriorityResponseNameRegExp = /^(?!\\s*$).+/;
2484
- const getPriorityResponseIndexMin = 0;
2485
- const getPriorityResponseColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2454
+ const getPriority200ResponseOneNameMax = 255;
2455
+ const getPriority200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2456
+ const getPriority200ResponseOneIndexMin = 0;
2457
+ const getPriority200ResponseTwoColorRegExp = /#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/;
2458
+ const getPriority200ResponseTwoDefaultDefault = false;
2486
2459
  zod.object({
2487
2460
  id: zod.number().min(1),
2488
2461
  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."),
2495
- name: zod.string().regex(getPriorityResponseNameRegExp),
2462
+ id: zod.number().min(1),
2463
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2464
+ }).strict().describe("ID and link relative to Zephyr project."),
2465
+ name: zod.string().min(1).max(getPriority200ResponseOneNameMax).regex(getPriority200ResponseOneNameRegExp),
2496
2466
  description: zod.string().nullish().describe("Description outlining the scope."),
2497
- index: zod.number().min(getPriorityResponseIndexMin)
2498
- }).and(
2499
- zod.object({
2500
- color: zod.string().regex(getPriorityResponseColorRegExp).optional().describe("A color in hexadecimal format"),
2501
- default: zod.boolean().optional()
2502
- })
2503
- );
2467
+ index: zod.number().min(getPriority200ResponseOneIndexMin),
2468
+ color: zod.string().regex(getPriority200ResponseTwoColorRegExp).optional().describe("A color in hexadecimal format"),
2469
+ default: zod.boolean().default(getPriority200ResponseTwoDefaultDefault)
2470
+ }).strict();
2471
+ zod.object({
2472
+ errorCode: zod.number(),
2473
+ message: zod.string()
2474
+ }).strict();
2475
+ zod.object({
2476
+ errorCode: zod.number(),
2477
+ message: zod.string()
2478
+ }).strict();
2504
2479
  zod.object({
2505
2480
  priorityId: zod.number().min(1)
2506
2481
  });
@@ -2523,67 +2498,70 @@ zod.object({
2523
2498
  default: zod.boolean(),
2524
2499
  color: zod.string().regex(updatePriorityBodyColorRegExp).optional().describe("A color in hexadecimal format")
2525
2500
  });
2501
+ zod.object({
2502
+ errorCode: zod.number(),
2503
+ message: zod.string()
2504
+ }).strict();
2526
2505
  const listStatusesQueryMaxResultsDefault = 10;
2506
+ const listStatusesQueryStartAtDefault = 0;
2527
2507
  const listStatusesQueryStartAtMin = 0;
2528
2508
  const listStatusesQueryStartAtMax = 1e6;
2529
2509
  const listStatusesQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2530
- const listStatusesQueryParams = zod.object({
2510
+ const ListStatusesQueryParams = zod.object({
2531
2511
  maxResults: zod.number().min(1).default(listStatusesQueryMaxResultsDefault).describe(
2532
2512
  "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"
2533
2513
  ),
2534
- startAt: zod.number().min(listStatusesQueryStartAtMin).max(listStatusesQueryStartAtMax).optional().describe(
2514
+ startAt: zod.number().min(listStatusesQueryStartAtMin).max(listStatusesQueryStartAtMax).default(listStatusesQueryStartAtDefault).describe(
2535
2515
  "Zero-indexed starting position. Should be a multiple of maxResults."
2536
2516
  ),
2537
2517
  projectKey: zod.string().regex(listStatusesQueryProjectKeyRegExp).optional().describe("Jira project key filter"),
2538
2518
  statusType: zod.enum(["TEST_CASE", "TEST_PLAN", "TEST_CYCLE", "TEST_EXECUTION"]).optional().describe("Determines which type of entity the status belongs to.")
2539
2519
  });
2540
- const listStatusesResponseStartAtMin = 0;
2541
- const listStatusesResponseTotalMin = 0;
2542
- const listStatusesResponseValuesItemNameRegExp = /^(?!\\s*$).+/;
2543
- const listStatusesResponseValuesItemIndexMin = 0;
2544
- const listStatusesResponse = zod.object({
2520
+ const listStatuses200ResponseOneStartAtMin = 0;
2521
+ const listStatuses200ResponseOneTotalMin = 0;
2522
+ const listStatuses200ResponseTwoValuesItemOneNameMax = 255;
2523
+ const listStatuses200ResponseTwoValuesItemOneNameRegExp = /^(?!\\s*$).+/;
2524
+ const listStatuses200ResponseTwoValuesItemOneIndexMin = 0;
2525
+ const listStatuses200ResponseTwoValuesItemTwoArchivedDefault = false;
2526
+ const listStatuses200ResponseTwoValuesItemTwoDefaultDefault = false;
2527
+ const ListStatuses200Response = zod.object({
2545
2528
  next: zod.string().url().nullish().describe(
2546
2529
  "URL to the next page of results, or null if there are no more results."
2547
2530
  ),
2548
- startAt: zod.number().min(listStatusesResponseStartAtMin).describe(
2531
+ startAt: zod.number().min(listStatuses200ResponseOneStartAtMin).describe(
2549
2532
  "Indicates the index of the first item returned in the page of results."
2550
2533
  ),
2551
2534
  maxResults: zod.number().min(1).describe(
2552
2535
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
2553
2536
  ),
2554
- total: zod.number().min(listStatusesResponseTotalMin).optional().describe(
2537
+ total: zod.number().min(listStatuses200ResponseOneTotalMin).optional().describe(
2555
2538
  "Indicates the total number of items available across all pages."
2556
2539
  ),
2557
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
2558
- }).and(
2559
- zod.object({
2560
- values: zod.array(
2561
- zod.object({
2540
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2541
+ values: zod.array(
2542
+ zod.object({
2543
+ id: zod.number().min(1),
2544
+ project: zod.object({
2562
2545
  id: zod.number().min(1),
2563
- project: zod.object({
2564
- id: zod.number().min(1)
2565
- }).describe("The ID of the resource").and(
2566
- zod.object({
2567
- self: zod.string().url().optional().describe(
2568
- "The REST API endpoint to get more resource details."
2569
- )
2570
- })
2571
- ).describe("ID and link relative to Zephyr project."),
2572
- name: zod.string().regex(listStatusesResponseValuesItemNameRegExp),
2573
- description: zod.string().nullish().describe("Description outlining the scope."),
2574
- index: zod.number().min(listStatusesResponseValuesItemIndexMin)
2575
- }).and(
2576
- zod.object({
2577
- color: zod.string().optional(),
2578
- archived: zod.boolean().optional().describe(
2579
- "Determines whether the status is archived. Archived statuses are read-only and cannot be assigned to entities."
2580
- ),
2581
- default: zod.boolean().optional()
2582
- })
2583
- )
2584
- ).optional()
2585
- })
2586
- );
2546
+ self: zod.string().url().optional().describe(
2547
+ "The REST API endpoint to get more resource details."
2548
+ )
2549
+ }).strict().describe("ID and link relative to Zephyr project."),
2550
+ name: zod.string().min(1).max(listStatuses200ResponseTwoValuesItemOneNameMax).regex(listStatuses200ResponseTwoValuesItemOneNameRegExp),
2551
+ description: zod.string().nullish().describe("Description outlining the scope."),
2552
+ index: zod.number().min(listStatuses200ResponseTwoValuesItemOneIndexMin),
2553
+ color: zod.string().optional(),
2554
+ archived: zod.boolean().default(listStatuses200ResponseTwoValuesItemTwoArchivedDefault).describe(
2555
+ "Determines whether the status is archived. Archived statuses are read-only and cannot be assigned to entities."
2556
+ ),
2557
+ default: zod.boolean().default(listStatuses200ResponseTwoValuesItemTwoDefaultDefault)
2558
+ }).strict()
2559
+ ).optional()
2560
+ }).strict();
2561
+ zod.object({
2562
+ errorCode: zod.number(),
2563
+ message: zod.string()
2564
+ }).strict();
2587
2565
  const createStatusBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2588
2566
  const createStatusBodyNameMax = 255;
2589
2567
  const createStatusBodyDescriptionMax = 255;
@@ -2595,32 +2573,45 @@ zod.object({
2595
2573
  description: zod.string().min(1).max(createStatusBodyDescriptionMax).optional().describe("The status description."),
2596
2574
  color: zod.string().regex(createStatusBodyColorRegExp).optional().describe("A color in hexadecimal format")
2597
2575
  });
2576
+ zod.object({
2577
+ id: zod.number().min(1).optional(),
2578
+ self: zod.string().optional()
2579
+ }).strict();
2580
+ zod.object({
2581
+ errorCode: zod.number(),
2582
+ message: zod.string()
2583
+ }).strict();
2598
2584
  zod.object({
2599
2585
  statusId: zod.number().min(1)
2600
2586
  });
2601
- const getStatusResponseNameRegExp = /^(?!\\s*$).+/;
2602
- const getStatusResponseIndexMin = 0;
2587
+ const getStatus200ResponseOneNameMax = 255;
2588
+ const getStatus200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2589
+ const getStatus200ResponseOneIndexMin = 0;
2590
+ const getStatus200ResponseTwoArchivedDefault = false;
2591
+ const getStatus200ResponseTwoDefaultDefault = false;
2603
2592
  zod.object({
2604
2593
  id: zod.number().min(1),
2605
2594
  project: zod.object({
2606
- id: zod.number().min(1)
2607
- }).describe("The ID of the resource").and(
2608
- zod.object({
2609
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2610
- })
2611
- ).describe("ID and link relative to Zephyr project."),
2612
- name: zod.string().regex(getStatusResponseNameRegExp),
2595
+ id: zod.number().min(1),
2596
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2597
+ }).strict().describe("ID and link relative to Zephyr project."),
2598
+ name: zod.string().min(1).max(getStatus200ResponseOneNameMax).regex(getStatus200ResponseOneNameRegExp),
2613
2599
  description: zod.string().nullish().describe("Description outlining the scope."),
2614
- index: zod.number().min(getStatusResponseIndexMin)
2615
- }).and(
2616
- zod.object({
2617
- color: zod.string().optional(),
2618
- archived: zod.boolean().optional().describe(
2619
- "Determines whether the status is archived. Archived statuses are read-only and cannot be assigned to entities."
2620
- ),
2621
- default: zod.boolean().optional()
2622
- })
2623
- );
2600
+ index: zod.number().min(getStatus200ResponseOneIndexMin),
2601
+ color: zod.string().optional(),
2602
+ archived: zod.boolean().default(getStatus200ResponseTwoArchivedDefault).describe(
2603
+ "Determines whether the status is archived. Archived statuses are read-only and cannot be assigned to entities."
2604
+ ),
2605
+ default: zod.boolean().default(getStatus200ResponseTwoDefaultDefault)
2606
+ }).strict();
2607
+ zod.object({
2608
+ errorCode: zod.number(),
2609
+ message: zod.string()
2610
+ }).strict();
2611
+ zod.object({
2612
+ errorCode: zod.number(),
2613
+ message: zod.string()
2614
+ }).strict();
2624
2615
  zod.object({
2625
2616
  statusId: zod.number().min(1)
2626
2617
  });
@@ -2644,62 +2635,66 @@ zod.object({
2644
2635
  default: zod.boolean(),
2645
2636
  color: zod.string().regex(updateStatusBodyColorRegExp).optional().describe("A color in hexadecimal format")
2646
2637
  });
2638
+ zod.object({
2639
+ errorCode: zod.number(),
2640
+ message: zod.string()
2641
+ }).strict();
2647
2642
  const listEnvironmentsQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2648
2643
  const listEnvironmentsQueryMaxResultsDefault = 10;
2644
+ const listEnvironmentsQueryStartAtDefault = 0;
2649
2645
  const listEnvironmentsQueryStartAtMin = 0;
2650
2646
  const listEnvironmentsQueryStartAtMax = 1e6;
2651
- const listEnvironmentsQueryParams = zod.object({
2647
+ const ListEnvironmentsQueryParams = zod.object({
2652
2648
  projectKey: zod.string().regex(listEnvironmentsQueryProjectKeyRegExp).optional().describe("Jira project key filter"),
2653
2649
  maxResults: zod.number().min(1).default(listEnvironmentsQueryMaxResultsDefault).describe(
2654
2650
  "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"
2655
2651
  ),
2656
- startAt: zod.number().min(listEnvironmentsQueryStartAtMin).max(listEnvironmentsQueryStartAtMax).optional().describe(
2652
+ startAt: zod.number().min(listEnvironmentsQueryStartAtMin).max(listEnvironmentsQueryStartAtMax).default(listEnvironmentsQueryStartAtDefault).describe(
2657
2653
  "Zero-indexed starting position. Should be a multiple of maxResults."
2658
2654
  )
2659
2655
  });
2660
- const listEnvironmentsResponseStartAtMin = 0;
2661
- const listEnvironmentsResponseTotalMin = 0;
2662
- const listEnvironmentsResponseValuesItemNameRegExp = /^(?!\\s*$).+/;
2663
- const listEnvironmentsResponseValuesItemIndexMin = 0;
2664
- const listEnvironmentsResponse = zod.object({
2656
+ const listEnvironments200ResponseOneStartAtMin = 0;
2657
+ const listEnvironments200ResponseOneTotalMin = 0;
2658
+ const listEnvironments200ResponseTwoValuesItemOneNameMax = 255;
2659
+ const listEnvironments200ResponseTwoValuesItemOneNameRegExp = /^(?!\\s*$).+/;
2660
+ const listEnvironments200ResponseTwoValuesItemOneIndexMin = 0;
2661
+ const listEnvironments200ResponseTwoValuesItemTwoArchivedDefault = false;
2662
+ const ListEnvironments200Response = zod.object({
2665
2663
  next: zod.string().url().nullish().describe(
2666
2664
  "URL to the next page of results, or null if there are no more results."
2667
2665
  ),
2668
- startAt: zod.number().min(listEnvironmentsResponseStartAtMin).describe(
2666
+ startAt: zod.number().min(listEnvironments200ResponseOneStartAtMin).describe(
2669
2667
  "Indicates the index of the first item returned in the page of results."
2670
2668
  ),
2671
2669
  maxResults: zod.number().min(1).describe(
2672
2670
  "Indicates the maximum number of results in this response. Note that the server may enforce a lower limit than requested, depending on resource availability or other internal constraints."
2673
2671
  ),
2674
- total: zod.number().min(listEnvironmentsResponseTotalMin).optional().describe(
2672
+ total: zod.number().min(listEnvironments200ResponseOneTotalMin).optional().describe(
2675
2673
  "Indicates the total number of items available across all pages."
2676
2674
  ),
2677
- isLast: zod.boolean().optional().describe("Indicates if this is the last page of results.")
2678
- }).and(
2679
- zod.object({
2680
- values: zod.array(
2681
- zod.object({
2675
+ isLast: zod.boolean().optional().describe("Indicates if this is the last page of results."),
2676
+ values: zod.array(
2677
+ zod.object({
2678
+ id: zod.number().min(1),
2679
+ project: zod.object({
2682
2680
  id: zod.number().min(1),
2683
- project: zod.object({
2684
- id: zod.number().min(1)
2685
- }).describe("The ID of the resource").and(
2686
- zod.object({
2687
- self: zod.string().url().optional().describe(
2688
- "The REST API endpoint to get more resource details."
2689
- )
2690
- })
2691
- ).describe("ID and link relative to Zephyr project."),
2692
- name: zod.string().regex(listEnvironmentsResponseValuesItemNameRegExp),
2693
- description: zod.string().nullish().describe("Description outlining the scope."),
2694
- index: zod.number().min(listEnvironmentsResponseValuesItemIndexMin)
2695
- }).and(
2696
- zod.object({
2697
- archived: zod.boolean().optional()
2698
- })
2681
+ self: zod.string().url().optional().describe(
2682
+ "The REST API endpoint to get more resource details."
2683
+ )
2684
+ }).strict().describe("ID and link relative to Zephyr project."),
2685
+ name: zod.string().min(1).max(listEnvironments200ResponseTwoValuesItemOneNameMax).regex(listEnvironments200ResponseTwoValuesItemOneNameRegExp),
2686
+ description: zod.string().nullish().describe("Description outlining the scope."),
2687
+ index: zod.number().min(listEnvironments200ResponseTwoValuesItemOneIndexMin),
2688
+ archived: zod.boolean().default(
2689
+ listEnvironments200ResponseTwoValuesItemTwoArchivedDefault
2699
2690
  )
2700
- ).optional()
2701
- })
2702
- );
2691
+ }).strict()
2692
+ ).optional()
2693
+ }).strict();
2694
+ zod.object({
2695
+ errorCode: zod.number(),
2696
+ message: zod.string()
2697
+ }).strict();
2703
2698
  const createEnvironmentBodyProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2704
2699
  const createEnvironmentBodyNameMax = 255;
2705
2700
  const createEnvironmentBodyDescriptionMax = 255;
@@ -2708,28 +2703,58 @@ zod.object({
2708
2703
  name: zod.string().min(1).max(createEnvironmentBodyNameMax).describe("The environment name."),
2709
2704
  description: zod.string().min(1).max(createEnvironmentBodyDescriptionMax).optional().describe("The environment description.")
2710
2705
  });
2706
+ zod.object({
2707
+ id: zod.number().min(1).optional(),
2708
+ self: zod.string().optional()
2709
+ }).strict();
2710
+ zod.union([
2711
+ zod.object({
2712
+ errorCode: zod.number(),
2713
+ message: zod.string()
2714
+ }).strict(),
2715
+ zod.object({
2716
+ errorCode: zod.number(),
2717
+ message: zod.string()
2718
+ }).strict(),
2719
+ zod.object({
2720
+ errorCode: zod.number(),
2721
+ message: zod.string()
2722
+ }).strict(),
2723
+ zod.object({
2724
+ errorCode: zod.number(),
2725
+ message: zod.string()
2726
+ }).strict()
2727
+ ]);
2728
+ zod.object({
2729
+ errorCode: zod.number(),
2730
+ message: zod.string()
2731
+ }).strict();
2711
2732
  zod.object({
2712
2733
  environmentId: zod.number().min(1)
2713
2734
  });
2714
- const getEnvironmentResponseNameRegExp = /^(?!\\s*$).+/;
2715
- const getEnvironmentResponseIndexMin = 0;
2735
+ const getEnvironment200ResponseOneNameMax = 255;
2736
+ const getEnvironment200ResponseOneNameRegExp = /^(?!\\s*$).+/;
2737
+ const getEnvironment200ResponseOneIndexMin = 0;
2738
+ const getEnvironment200ResponseTwoArchivedDefault = false;
2716
2739
  zod.object({
2717
2740
  id: zod.number().min(1),
2718
2741
  project: zod.object({
2719
- id: zod.number().min(1)
2720
- }).describe("The ID of the resource").and(
2721
- zod.object({
2722
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2723
- })
2724
- ).describe("ID and link relative to Zephyr project."),
2725
- name: zod.string().regex(getEnvironmentResponseNameRegExp),
2742
+ id: zod.number().min(1),
2743
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2744
+ }).strict().describe("ID and link relative to Zephyr project."),
2745
+ name: zod.string().min(1).max(getEnvironment200ResponseOneNameMax).regex(getEnvironment200ResponseOneNameRegExp),
2726
2746
  description: zod.string().nullish().describe("Description outlining the scope."),
2727
- index: zod.number().min(getEnvironmentResponseIndexMin)
2728
- }).and(
2729
- zod.object({
2730
- archived: zod.boolean().optional()
2731
- })
2732
- );
2747
+ index: zod.number().min(getEnvironment200ResponseOneIndexMin),
2748
+ archived: zod.boolean().default(getEnvironment200ResponseTwoArchivedDefault)
2749
+ }).strict();
2750
+ zod.object({
2751
+ errorCode: zod.number(),
2752
+ message: zod.string()
2753
+ }).strict();
2754
+ zod.object({
2755
+ errorCode: zod.number(),
2756
+ message: zod.string()
2757
+ }).strict();
2733
2758
  zod.object({
2734
2759
  environmentId: zod.number().min(1)
2735
2760
  });
@@ -2749,81 +2774,117 @@ zod.object({
2749
2774
  description: zod.string().min(1).max(updateEnvironmentBodyDescriptionMax).optional().describe("The environment description."),
2750
2775
  index: zod.number().min(updateEnvironmentBodyIndexMin)
2751
2776
  });
2777
+ zod.union([
2778
+ zod.object({
2779
+ errorCode: zod.number(),
2780
+ message: zod.string()
2781
+ }).strict(),
2782
+ zod.object({
2783
+ errorCode: zod.number(),
2784
+ message: zod.string()
2785
+ }).strict(),
2786
+ zod.object({
2787
+ errorCode: zod.number(),
2788
+ message: zod.string()
2789
+ }).strict(),
2790
+ zod.object({
2791
+ errorCode: zod.number(),
2792
+ message: zod.string()
2793
+ }).strict(),
2794
+ zod.object({
2795
+ errorCode: zod.number(),
2796
+ message: zod.string()
2797
+ }).strict()
2798
+ ]);
2799
+ zod.object({
2800
+ errorCode: zod.number(),
2801
+ message: zod.string()
2802
+ }).strict();
2752
2803
  zod.object({
2753
2804
  linkId: zod.number().min(1)
2754
2805
  });
2806
+ zod.object({
2807
+ errorCode: zod.number(),
2808
+ message: zod.string()
2809
+ }).strict();
2755
2810
  const getIssueLinkTestCasesPathIssueKeyRegExp = /.+-[0-9]+/;
2756
2811
  zod.object({
2757
2812
  issueKey: zod.string().regex(getIssueLinkTestCasesPathIssueKeyRegExp).describe("The key of the Jira issue")
2758
2813
  });
2759
- const getIssueLinkTestCasesResponseItem = zod.object({
2814
+ const GetIssueLinkTestCases200ResponseItem = zod.object({
2760
2815
  key: zod.string().optional(),
2761
- version: zod.number().optional()
2762
- }).and(
2763
- zod.object({
2764
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2765
- })
2766
- );
2816
+ version: zod.number().optional(),
2817
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2818
+ }).strict();
2767
2819
  zod.array(
2768
- getIssueLinkTestCasesResponseItem
2820
+ GetIssueLinkTestCases200ResponseItem
2769
2821
  );
2822
+ zod.object({
2823
+ errorCode: zod.number(),
2824
+ message: zod.string()
2825
+ }).strict();
2770
2826
  const getIssueLinkTestCyclesPathIssueKeyRegExp = /.+-[0-9]+/;
2771
2827
  zod.object({
2772
2828
  issueKey: zod.string().regex(getIssueLinkTestCyclesPathIssueKeyRegExp).describe("The key of the Jira issue")
2773
2829
  });
2774
- const getIssueLinkTestCyclesResponseItem = zod.object({
2775
- id: zod.number().min(1)
2776
- }).describe("The ID of the resource").and(
2777
- zod.object({
2778
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2779
- })
2780
- );
2830
+ const GetIssueLinkTestCycles200ResponseItem = zod.object({
2831
+ id: zod.number().min(1),
2832
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2833
+ }).strict();
2781
2834
  zod.array(
2782
- getIssueLinkTestCyclesResponseItem
2835
+ GetIssueLinkTestCycles200ResponseItem
2783
2836
  );
2837
+ zod.object({
2838
+ errorCode: zod.number(),
2839
+ message: zod.string()
2840
+ }).strict();
2784
2841
  const getIssueLinkTestPlansPathIssueKeyRegExp = /.+-[0-9]+/;
2785
2842
  zod.object({
2786
2843
  issueKey: zod.string().regex(getIssueLinkTestPlansPathIssueKeyRegExp).describe("The key of the Jira issue")
2787
2844
  });
2788
- const getIssueLinkTestPlansResponseItem = zod.object({
2789
- id: zod.number().min(1)
2790
- }).describe("The ID of the resource").and(
2791
- zod.object({
2792
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2793
- })
2794
- );
2845
+ const GetIssueLinkTestPlans200ResponseItem = zod.object({
2846
+ id: zod.number().min(1),
2847
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2848
+ }).strict();
2795
2849
  zod.array(
2796
- getIssueLinkTestPlansResponseItem
2850
+ GetIssueLinkTestPlans200ResponseItem
2797
2851
  );
2852
+ zod.object({
2853
+ errorCode: zod.number(),
2854
+ message: zod.string()
2855
+ }).strict();
2798
2856
  const getIssueLinkTestExecutionsPathIssueKeyRegExp = /.+-[0-9]+/;
2799
2857
  zod.object({
2800
2858
  issueKey: zod.string().regex(getIssueLinkTestExecutionsPathIssueKeyRegExp).describe("The key of the Jira issue")
2801
2859
  });
2802
- const getIssueLinkTestExecutionsResponseItem = zod.object({
2803
- id: zod.number().min(1)
2804
- }).describe("The ID of the resource").and(
2805
- zod.object({
2806
- self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2807
- })
2808
- );
2860
+ const GetIssueLinkTestExecutions200ResponseItem = zod.object({
2861
+ id: zod.number().min(1),
2862
+ self: zod.string().url().optional().describe("The REST API endpoint to get more resource details.")
2863
+ }).strict();
2809
2864
  zod.array(
2810
- getIssueLinkTestExecutionsResponseItem
2865
+ GetIssueLinkTestExecutions200ResponseItem
2811
2866
  );
2867
+ zod.object({
2868
+ errorCode: zod.number(),
2869
+ message: zod.string()
2870
+ }).strict();
2812
2871
  const createCustomExecutionsQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2872
+ const createCustomExecutionsQueryAutoCreateTestCasesDefault = false;
2813
2873
  zod.object({
2814
2874
  projectKey: zod.string().regex(createCustomExecutionsQueryProjectKeyRegExp).describe("Jira project key filter"),
2815
- autoCreateTestCases: zod.boolean().optional().describe("Indicate if test cases should be created if non existent.")
2875
+ autoCreateTestCases: zod.boolean().default(createCustomExecutionsQueryAutoCreateTestCasesDefault).describe("Indicate if test cases should be created if non existent.")
2816
2876
  });
2817
2877
  zod.object({
2818
2878
  "content-length": zod.number().describe(
2819
2879
  "The content-length header indicates the size of the message body, in bytes. https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2"
2820
2880
  )
2821
2881
  });
2882
+ const createCustomExecutionsBodyTestCycleNameMax = 255;
2822
2883
  const createCustomExecutionsBodyTestCycleNameRegExp = /^(?!\\s*$).+/;
2823
2884
  zod.object({
2824
2885
  file: zod.instanceof(File),
2825
2886
  testCycle: zod.object({
2826
- name: zod.string().regex(createCustomExecutionsBodyTestCycleNameRegExp).optional(),
2887
+ name: zod.string().min(1).max(createCustomExecutionsBodyTestCycleNameMax).regex(createCustomExecutionsBodyTestCycleNameRegExp).optional(),
2827
2888
  description: zod.string().nullish().describe("Description outlining the scope."),
2828
2889
  jiraProjectVersion: zod.number().min(1).optional().describe(
2829
2890
  "Jira Project Version ID. Relates to 'Version' or 'Releases' in Jira projects."
@@ -2836,29 +2897,35 @@ zod.object({
2836
2897
  "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."
2837
2898
  )
2838
2899
  });
2839
- const createCustomExecutionsResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2900
+ const createCustomExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2840
2901
  zod.object({
2841
2902
  testCycle: zod.object({
2842
2903
  id: zod.number().min(1).optional().describe("The id of the newly created test cycle."),
2843
2904
  url: zod.string().optional().describe("The URL pointing to the newly created test cycle."),
2844
- key: zod.string().regex(createCustomExecutionsResponseTestCycleKeyRegExp).optional().describe("The key of the newly created test cycle.")
2845
- }).optional()
2846
- });
2905
+ key: zod.string().regex(createCustomExecutions200ResponseTestCycleKeyRegExp).optional().describe("The key of the newly created test cycle.")
2906
+ }).strict().optional()
2907
+ }).strict();
2908
+ zod.object({
2909
+ errorCode: zod.number(),
2910
+ message: zod.string()
2911
+ }).strict();
2847
2912
  const createCucumberExecutionsQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2913
+ const createCucumberExecutionsQueryAutoCreateTestCasesDefault = false;
2848
2914
  zod.object({
2849
2915
  projectKey: zod.string().regex(createCucumberExecutionsQueryProjectKeyRegExp).describe("Jira project key filter"),
2850
- autoCreateTestCases: zod.boolean().optional().describe("Indicate if test cases should be created if non existent.")
2916
+ autoCreateTestCases: zod.boolean().default(createCucumberExecutionsQueryAutoCreateTestCasesDefault).describe("Indicate if test cases should be created if non existent.")
2851
2917
  });
2852
2918
  zod.object({
2853
2919
  "content-length": zod.number().describe(
2854
2920
  "The content-length header indicates the size of the message body, in bytes. https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2"
2855
2921
  )
2856
2922
  });
2923
+ const createCucumberExecutionsBodyTestCycleNameMax = 255;
2857
2924
  const createCucumberExecutionsBodyTestCycleNameRegExp = /^(?!\\s*$).+/;
2858
2925
  zod.object({
2859
2926
  file: zod.instanceof(File),
2860
2927
  testCycle: zod.object({
2861
- name: zod.string().regex(createCucumberExecutionsBodyTestCycleNameRegExp).optional(),
2928
+ name: zod.string().min(1).max(createCucumberExecutionsBodyTestCycleNameMax).regex(createCucumberExecutionsBodyTestCycleNameRegExp).optional(),
2862
2929
  description: zod.string().nullish().describe("Description outlining the scope."),
2863
2930
  jiraProjectVersion: zod.number().min(1).optional().describe(
2864
2931
  "Jira Project Version ID. Relates to 'Version' or 'Releases' in Jira projects."
@@ -2871,29 +2938,35 @@ zod.object({
2871
2938
  "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."
2872
2939
  )
2873
2940
  });
2874
- const createCucumberExecutionsResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2941
+ const createCucumberExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2875
2942
  zod.object({
2876
2943
  testCycle: zod.object({
2877
2944
  id: zod.number().min(1).optional().describe("The id of the newly created test cycle."),
2878
2945
  url: zod.string().optional().describe("The URL pointing to the newly created test cycle."),
2879
- key: zod.string().regex(createCucumberExecutionsResponseTestCycleKeyRegExp).optional().describe("The key of the newly created test cycle.")
2880
- }).optional()
2881
- });
2946
+ key: zod.string().regex(createCucumberExecutions200ResponseTestCycleKeyRegExp).optional().describe("The key of the newly created test cycle.")
2947
+ }).strict().optional()
2948
+ }).strict();
2949
+ zod.object({
2950
+ errorCode: zod.number(),
2951
+ message: zod.string()
2952
+ }).strict();
2882
2953
  const createJUnitExecutionsQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2954
+ const createJUnitExecutionsQueryAutoCreateTestCasesDefault = false;
2883
2955
  zod.object({
2884
2956
  projectKey: zod.string().regex(createJUnitExecutionsQueryProjectKeyRegExp).describe("Jira project key filter"),
2885
- autoCreateTestCases: zod.boolean().optional().describe("Indicate if test cases should be created if non existent.")
2957
+ autoCreateTestCases: zod.boolean().default(createJUnitExecutionsQueryAutoCreateTestCasesDefault).describe("Indicate if test cases should be created if non existent.")
2886
2958
  });
2887
2959
  zod.object({
2888
2960
  "content-length": zod.number().describe(
2889
2961
  "The content-length header indicates the size of the message body, in bytes. https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2"
2890
2962
  )
2891
2963
  });
2964
+ const createJUnitExecutionsBodyTestCycleNameMax = 255;
2892
2965
  const createJUnitExecutionsBodyTestCycleNameRegExp = /^(?!\\s*$).+/;
2893
2966
  zod.object({
2894
2967
  file: zod.instanceof(File),
2895
2968
  testCycle: zod.object({
2896
- name: zod.string().regex(createJUnitExecutionsBodyTestCycleNameRegExp).optional(),
2969
+ name: zod.string().min(1).max(createJUnitExecutionsBodyTestCycleNameMax).regex(createJUnitExecutionsBodyTestCycleNameRegExp).optional(),
2897
2970
  description: zod.string().nullish().describe("Description outlining the scope."),
2898
2971
  jiraProjectVersion: zod.number().min(1).optional().describe(
2899
2972
  "Jira Project Version ID. Relates to 'Version' or 'Releases' in Jira projects."
@@ -2906,14 +2979,18 @@ zod.object({
2906
2979
  "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."
2907
2980
  )
2908
2981
  });
2909
- const createJUnitExecutionsResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2982
+ const createJUnitExecutions200ResponseTestCycleKeyRegExp = /([A-Z][A-Z_0-9]+-R[0-9]+)/;
2910
2983
  zod.object({
2911
2984
  testCycle: zod.object({
2912
2985
  id: zod.number().min(1).optional().describe("The id of the newly created test cycle."),
2913
2986
  url: zod.string().optional().describe("The URL pointing to the newly created test cycle."),
2914
- key: zod.string().regex(createJUnitExecutionsResponseTestCycleKeyRegExp).optional().describe("The key of the newly created test cycle.")
2915
- }).optional()
2916
- });
2987
+ key: zod.string().regex(createJUnitExecutions200ResponseTestCycleKeyRegExp).optional().describe("The key of the newly created test cycle.")
2988
+ }).strict().optional()
2989
+ }).strict();
2990
+ zod.object({
2991
+ errorCode: zod.number(),
2992
+ message: zod.string()
2993
+ }).strict();
2917
2994
  const retrieveBDDTestCasesQueryProjectKeyRegExp = /([A-Z][A-Z_0-9]+)/;
2918
2995
  zod.object({
2919
2996
  projectKey: zod.string().regex(retrieveBDDTestCasesQueryProjectKeyRegExp).describe("Jira project key filter")
@@ -2921,21 +2998,74 @@ zod.object({
2921
2998
  zod.object({
2922
2999
  Accept: zod.enum(["application/zip"])
2923
3000
  });
3001
+ zod.object({
3002
+ errorCode: zod.number(),
3003
+ message: zod.string()
3004
+ }).strict();
3005
+ zod.object({
3006
+ errorCode: zod.number(),
3007
+ message: zod.string()
3008
+ }).strict();
2924
3009
  export {
3010
+ CreateTestCase201Response,
3011
+ CreateTestCaseBody,
3012
+ CreateTestCaseWebLink201Response,
3013
+ CreateTestCaseWebLinkBody,
3014
+ CreateTestCaseWebLinkParams,
3015
+ CreateTestCycle201Response,
3016
+ CreateTestCycleBody,
3017
+ CreateTestExecution201Response,
3018
+ CreateTestExecutionBody,
3019
+ GetIssueLinkTestCases200ResponseItem,
3020
+ GetIssueLinkTestCycles200ResponseItem,
3021
+ GetIssueLinkTestExecutions200ResponseItem,
3022
+ GetIssueLinkTestPlans200ResponseItem,
3023
+ GetProject200Response,
3024
+ GetProjectParams,
3025
+ GetTestCase200Response,
3026
+ GetTestCaseParams,
3027
+ GetTestCycle200Response,
3028
+ GetTestCycleParams,
3029
+ GetTestExecution200Response,
3030
+ GetTestExecutionParams,
3031
+ ListEnvironments200Response,
3032
+ ListEnvironmentsQueryParams,
3033
+ ListPriorities200Response,
3034
+ ListPrioritiesQueryParams,
3035
+ ListProjects200Response,
3036
+ ListProjectsQueryParams,
3037
+ ListStatuses200Response,
3038
+ ListStatusesQueryParams,
3039
+ ListTestCasesCursorPaginated200Response,
3040
+ ListTestCasesCursorPaginatedQueryParams,
3041
+ ListTestCycles200Response,
3042
+ ListTestCyclesQueryParams,
3043
+ ListTestExecutionsNextgen200Response,
3044
+ ListTestExecutionsNextgenQueryParams,
3045
+ UpdateTestCaseBody,
3046
+ UpdateTestCaseParams,
3047
+ UpdateTestCycleBody,
3048
+ UpdateTestCycleParams,
3049
+ createCucumberExecutions200ResponseTestCycleKeyRegExp,
3050
+ createCucumberExecutionsBodyTestCycleNameMax,
2925
3051
  createCucumberExecutionsBodyTestCycleNameRegExp,
3052
+ createCucumberExecutionsQueryAutoCreateTestCasesDefault,
2926
3053
  createCucumberExecutionsQueryProjectKeyRegExp,
2927
- createCucumberExecutionsResponseTestCycleKeyRegExp,
3054
+ createCustomExecutions200ResponseTestCycleKeyRegExp,
3055
+ createCustomExecutionsBodyTestCycleNameMax,
2928
3056
  createCustomExecutionsBodyTestCycleNameRegExp,
3057
+ createCustomExecutionsQueryAutoCreateTestCasesDefault,
2929
3058
  createCustomExecutionsQueryProjectKeyRegExp,
2930
- createCustomExecutionsResponseTestCycleKeyRegExp,
2931
3059
  createEnvironmentBodyDescriptionMax,
2932
3060
  createEnvironmentBodyNameMax,
2933
3061
  createEnvironmentBodyProjectKeyRegExp,
2934
3062
  createFolderBodyNameMax,
2935
3063
  createFolderBodyProjectKeyRegExp,
3064
+ createJUnitExecutions200ResponseTestCycleKeyRegExp,
3065
+ createJUnitExecutionsBodyTestCycleNameMax,
2936
3066
  createJUnitExecutionsBodyTestCycleNameRegExp,
3067
+ createJUnitExecutionsQueryAutoCreateTestCasesDefault,
2937
3068
  createJUnitExecutionsQueryProjectKeyRegExp,
2938
- createJUnitExecutionsResponseTestCycleKeyRegExp,
2939
3069
  createPriorityBodyColorRegExp,
2940
3070
  createPriorityBodyDescriptionMax,
2941
3071
  createPriorityBodyNameMax,
@@ -2946,6 +3076,8 @@ export {
2946
3076
  createStatusBodyProjectKeyRegExp,
2947
3077
  createTestCaseBodyComponentIdMin,
2948
3078
  createTestCaseBodyEstimatedTimeMin,
3079
+ createTestCaseBodyLabelsMax,
3080
+ createTestCaseBodyNameMax,
2949
3081
  createTestCaseBodyNameRegExp,
2950
3082
  createTestCaseBodyOwnerIdRegExp,
2951
3083
  createTestCaseBodyPriorityNameMax,
@@ -2953,9 +3085,10 @@ export {
2953
3085
  createTestCaseBodyStatusNameMax,
2954
3086
  createTestCaseIssueLinkPathTestCaseKeyRegExp,
2955
3087
  createTestCaseTestScriptPathTestCaseKeyRegExp,
2956
- createTestCaseTestStepsBodyItemsItemTestCaseTestCaseKeyRegExp,
3088
+ createTestCaseTestStepsBodyItemsItemTestCaseTwoTestCaseKeyRegExp,
2957
3089
  createTestCaseTestStepsPathTestCaseKeyRegExp,
2958
3090
  createTestCaseWebLinkPathTestCaseKeyRegExp,
3091
+ createTestCycleBodyNameMax,
2959
3092
  createTestCycleBodyNameRegExp,
2960
3093
  createTestCycleBodyOwnerIdRegExp,
2961
3094
  createTestCycleBodyProjectKeyRegExp,
@@ -2971,6 +3104,8 @@ export {
2971
3104
  createTestExecutionBodyTestCycleKeyRegExp,
2972
3105
  createTestExecutionBodyTestScriptResultsItemStatusNameMax,
2973
3106
  createTestExecutionIssueLinkPathTestExecutionIdOrKeyRegExp,
3107
+ createTestPlanBodyLabelsMax,
3108
+ createTestPlanBodyNameMax,
2974
3109
  createTestPlanBodyNameRegExp,
2975
3110
  createTestPlanBodyOwnerIdRegExp,
2976
3111
  createTestPlanBodyProjectKeyRegExp,
@@ -2979,196 +3114,217 @@ export {
2979
3114
  createTestPlanTestCycleLinkBodyTestCycleIdOrKeyRegExp,
2980
3115
  createTestPlanTestCycleLinkPathTestPlanIdOrKeyRegExp,
2981
3116
  createTestPlanWebLinkPathTestPlanIdOrKeyRegExp,
2982
- getEnvironmentResponseIndexMin,
2983
- getEnvironmentResponseNameRegExp,
2984
- getFolderResponseIndexMin,
2985
- getFolderResponseNameRegExp,
3117
+ getEnvironment200ResponseOneIndexMin,
3118
+ getEnvironment200ResponseOneNameMax,
3119
+ getEnvironment200ResponseOneNameRegExp,
3120
+ getEnvironment200ResponseTwoArchivedDefault,
3121
+ getFolder200ResponseIndexMin,
3122
+ getFolder200ResponseNameMax,
3123
+ getFolder200ResponseNameRegExp,
2986
3124
  getIssueLinkTestCasesPathIssueKeyRegExp,
2987
- getIssueLinkTestCasesResponseItem,
2988
3125
  getIssueLinkTestCyclesPathIssueKeyRegExp,
2989
- getIssueLinkTestCyclesResponseItem,
2990
3126
  getIssueLinkTestExecutionsPathIssueKeyRegExp,
2991
- getIssueLinkTestExecutionsResponseItem,
2992
3127
  getIssueLinkTestPlansPathIssueKeyRegExp,
2993
- getIssueLinkTestPlansResponseItem,
2994
- getPriorityResponseColorRegExp,
2995
- getPriorityResponseIndexMin,
2996
- getPriorityResponseNameRegExp,
2997
- getProjectParams,
3128
+ getPriority200ResponseOneIndexMin,
3129
+ getPriority200ResponseOneNameMax,
3130
+ getPriority200ResponseOneNameRegExp,
3131
+ getPriority200ResponseTwoColorRegExp,
3132
+ getPriority200ResponseTwoDefaultDefault,
2998
3133
  getProjectPathProjectIdOrKeyRegExp,
2999
- getProjectResponse,
3000
- getStatusResponseIndexMin,
3001
- getStatusResponseNameRegExp,
3134
+ getStatus200ResponseOneIndexMin,
3135
+ getStatus200ResponseOneNameMax,
3136
+ getStatus200ResponseOneNameRegExp,
3137
+ getStatus200ResponseTwoArchivedDefault,
3138
+ getStatus200ResponseTwoDefaultDefault,
3139
+ getTestCase200ResponseEstimatedTimeMin,
3140
+ getTestCase200ResponseKeyRegExp,
3141
+ getTestCase200ResponseLabelsMax,
3142
+ getTestCase200ResponseNameMax,
3143
+ getTestCase200ResponseNameRegExp,
3144
+ getTestCase200ResponseOwnerAccountIdRegExp,
3002
3145
  getTestCaseLinksPathTestCaseKeyRegExp,
3003
- getTestCaseParams,
3004
3146
  getTestCasePathTestCaseKeyRegExp,
3005
- getTestCaseResponse,
3006
- getTestCaseResponseEstimatedTimeMin,
3007
- getTestCaseResponseKeyRegExp,
3008
- getTestCaseResponseNameRegExp,
3009
- getTestCaseResponseOwnerAccountIdRegExp,
3010
3147
  getTestCaseTestScriptPathTestCaseKeyRegExp,
3148
+ getTestCaseTestSteps200ResponseOneStartAtMin,
3149
+ getTestCaseTestSteps200ResponseOneTotalMin,
3150
+ getTestCaseTestSteps200ResponseTwoValuesItemTestCaseTwoTestCaseKeyRegExp,
3011
3151
  getTestCaseTestStepsPathTestCaseKeyRegExp,
3012
3152
  getTestCaseTestStepsQueryMaxResultsDefault,
3153
+ getTestCaseTestStepsQueryStartAtDefault,
3013
3154
  getTestCaseTestStepsQueryStartAtMax,
3014
3155
  getTestCaseTestStepsQueryStartAtMin,
3015
- getTestCaseTestStepsResponseStartAtMin,
3016
- getTestCaseTestStepsResponseTotalMin,
3017
- getTestCaseTestStepsResponseValuesItemTestCaseTestCaseKeyRegExp,
3156
+ getTestCaseVersion200ResponseEstimatedTimeMin,
3157
+ getTestCaseVersion200ResponseKeyRegExp,
3158
+ getTestCaseVersion200ResponseLabelsMax,
3159
+ getTestCaseVersion200ResponseNameMax,
3160
+ getTestCaseVersion200ResponseNameRegExp,
3161
+ getTestCaseVersion200ResponseOwnerAccountIdRegExp,
3018
3162
  getTestCaseVersionPathTestCaseKeyRegExp,
3019
- getTestCaseVersionResponseEstimatedTimeMin,
3020
- getTestCaseVersionResponseKeyRegExp,
3021
- getTestCaseVersionResponseNameRegExp,
3022
- getTestCaseVersionResponseOwnerAccountIdRegExp,
3163
+ getTestCycle200ResponseKeyRegExp,
3164
+ getTestCycle200ResponseNameRegExp,
3165
+ getTestCycle200ResponseOwnerAccountIdRegExp,
3023
3166
  getTestCycleLinksPathTestCycleIdOrKeyRegExp,
3024
- getTestCycleParams,
3025
3167
  getTestCyclePathTestCycleIdOrKeyRegExp,
3026
- getTestCycleResponse,
3027
- getTestCycleResponseKeyRegExp,
3028
- getTestCycleResponseNameRegExp,
3029
- getTestCycleResponseOwnerAccountIdRegExp,
3030
- getTestExecutionParams,
3168
+ getTestExecution200ResponseAssignedToIdRegExp,
3169
+ getTestExecution200ResponseEstimatedTimeMin,
3170
+ getTestExecution200ResponseExecutedByIdRegExp,
3171
+ getTestExecution200ResponseExecutionTimeMin,
3172
+ getTestExecution200ResponseKeyRegExp,
3031
3173
  getTestExecutionPathTestExecutionIdOrKeyRegExp,
3032
- getTestExecutionResponse,
3033
- getTestExecutionResponseAssignedToIdRegExp,
3034
- getTestExecutionResponseEstimatedTimeMin,
3035
- getTestExecutionResponseExecutedByIdRegExp,
3036
- getTestExecutionResponseExecutionTimeMin,
3037
- getTestExecutionResponseKeyRegExp,
3174
+ getTestExecutionQueryIncludeStepLinksDefault,
3175
+ getTestExecutionTestSteps200ResponseOneStartAtMin,
3176
+ getTestExecutionTestSteps200ResponseOneTotalMin,
3038
3177
  getTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp,
3039
3178
  getTestExecutionTestStepsQueryMaxResultsDefault,
3179
+ getTestExecutionTestStepsQueryStartAtDefault,
3040
3180
  getTestExecutionTestStepsQueryStartAtMax,
3041
3181
  getTestExecutionTestStepsQueryStartAtMin,
3042
3182
  getTestExecutionTestStepsQueryTestDataRowNumberMin,
3043
- getTestExecutionTestStepsResponseStartAtMin,
3044
- getTestExecutionTestStepsResponseTotalMin,
3183
+ getTestPlan200ResponseKeyRegExp,
3184
+ getTestPlan200ResponseLabelsMax,
3185
+ getTestPlan200ResponseNameMax,
3186
+ getTestPlan200ResponseNameRegExp,
3187
+ getTestPlan200ResponseOwnerAccountIdRegExp,
3045
3188
  getTestPlanPathTestPlanIdOrKeyRegExp,
3046
- getTestPlanResponseKeyRegExp,
3047
- getTestPlanResponseNameRegExp,
3048
- getTestPlanResponseOwnerAccountIdRegExp,
3189
+ listEnvironments200ResponseOneStartAtMin,
3190
+ listEnvironments200ResponseOneTotalMin,
3191
+ listEnvironments200ResponseTwoValuesItemOneIndexMin,
3192
+ listEnvironments200ResponseTwoValuesItemOneNameMax,
3193
+ listEnvironments200ResponseTwoValuesItemOneNameRegExp,
3194
+ listEnvironments200ResponseTwoValuesItemTwoArchivedDefault,
3049
3195
  listEnvironmentsQueryMaxResultsDefault,
3050
- listEnvironmentsQueryParams,
3051
3196
  listEnvironmentsQueryProjectKeyRegExp,
3197
+ listEnvironmentsQueryStartAtDefault,
3052
3198
  listEnvironmentsQueryStartAtMax,
3053
3199
  listEnvironmentsQueryStartAtMin,
3054
- listEnvironmentsResponse,
3055
- listEnvironmentsResponseStartAtMin,
3056
- listEnvironmentsResponseTotalMin,
3057
- listEnvironmentsResponseValuesItemIndexMin,
3058
- listEnvironmentsResponseValuesItemNameRegExp,
3200
+ listFolders200ResponseOneStartAtMin,
3201
+ listFolders200ResponseOneTotalMin,
3202
+ listFolders200ResponseTwoValuesItemIndexMin,
3203
+ listFolders200ResponseTwoValuesItemNameMax,
3204
+ listFolders200ResponseTwoValuesItemNameRegExp,
3059
3205
  listFoldersQueryMaxResultsDefault,
3060
3206
  listFoldersQueryProjectKeyRegExp,
3207
+ listFoldersQueryStartAtDefault,
3061
3208
  listFoldersQueryStartAtMax,
3062
3209
  listFoldersQueryStartAtMin,
3063
- listFoldersResponseStartAtMin,
3064
- listFoldersResponseTotalMin,
3065
- listFoldersResponseValuesItemIndexMin,
3066
- listFoldersResponseValuesItemNameRegExp,
3210
+ listPriorities200ResponseOneStartAtMin,
3211
+ listPriorities200ResponseOneTotalMin,
3212
+ listPriorities200ResponseTwoValuesItemOneIndexMin,
3213
+ listPriorities200ResponseTwoValuesItemOneNameMax,
3214
+ listPriorities200ResponseTwoValuesItemOneNameRegExp,
3215
+ listPriorities200ResponseTwoValuesItemTwoColorRegExp,
3216
+ listPriorities200ResponseTwoValuesItemTwoDefaultDefault,
3067
3217
  listPrioritiesQueryMaxResultsDefault,
3068
- listPrioritiesQueryParams,
3069
3218
  listPrioritiesQueryProjectKeyRegExp,
3219
+ listPrioritiesQueryStartAtDefault,
3070
3220
  listPrioritiesQueryStartAtMax,
3071
3221
  listPrioritiesQueryStartAtMin,
3072
- listPrioritiesResponse,
3073
- listPrioritiesResponseStartAtMin,
3074
- listPrioritiesResponseTotalMin,
3075
- listPrioritiesResponseValuesItemColorRegExp,
3076
- listPrioritiesResponseValuesItemIndexMin,
3077
- listPrioritiesResponseValuesItemNameRegExp,
3222
+ listProjects200ResponseOneStartAtMin,
3223
+ listProjects200ResponseOneTotalMin,
3078
3224
  listProjectsQueryMaxResultsDefault,
3079
- listProjectsQueryParams,
3225
+ listProjectsQueryStartAtDefault,
3080
3226
  listProjectsQueryStartAtMax,
3081
3227
  listProjectsQueryStartAtMin,
3082
- listProjectsResponse,
3083
- listProjectsResponseStartAtMin,
3084
- listProjectsResponseTotalMin,
3228
+ listStatuses200ResponseOneStartAtMin,
3229
+ listStatuses200ResponseOneTotalMin,
3230
+ listStatuses200ResponseTwoValuesItemOneIndexMin,
3231
+ listStatuses200ResponseTwoValuesItemOneNameMax,
3232
+ listStatuses200ResponseTwoValuesItemOneNameRegExp,
3233
+ listStatuses200ResponseTwoValuesItemTwoArchivedDefault,
3234
+ listStatuses200ResponseTwoValuesItemTwoDefaultDefault,
3085
3235
  listStatusesQueryMaxResultsDefault,
3086
- listStatusesQueryParams,
3087
3236
  listStatusesQueryProjectKeyRegExp,
3237
+ listStatusesQueryStartAtDefault,
3088
3238
  listStatusesQueryStartAtMax,
3089
3239
  listStatusesQueryStartAtMin,
3090
- listStatusesResponse,
3091
- listStatusesResponseStartAtMin,
3092
- listStatusesResponseTotalMin,
3093
- listStatusesResponseValuesItemIndexMin,
3094
- listStatusesResponseValuesItemNameRegExp,
3240
+ listTestCaseVersions200ResponseOneStartAtMin,
3241
+ listTestCaseVersions200ResponseOneTotalMin,
3095
3242
  listTestCaseVersionsPathTestCaseKeyRegExp,
3096
3243
  listTestCaseVersionsQueryMaxResultsDefault,
3244
+ listTestCaseVersionsQueryStartAtDefault,
3097
3245
  listTestCaseVersionsQueryStartAtMax,
3098
3246
  listTestCaseVersionsQueryStartAtMin,
3099
- listTestCaseVersionsResponseStartAtMin,
3100
- listTestCaseVersionsResponseTotalMin,
3247
+ listTestCases200ResponseOneStartAtMin,
3248
+ listTestCases200ResponseOneTotalMin,
3249
+ listTestCases200ResponseTwoValuesItemEstimatedTimeMin,
3250
+ listTestCases200ResponseTwoValuesItemKeyRegExp,
3251
+ listTestCases200ResponseTwoValuesItemLabelsMax,
3252
+ listTestCases200ResponseTwoValuesItemNameMax,
3253
+ listTestCases200ResponseTwoValuesItemNameRegExp,
3254
+ listTestCases200ResponseTwoValuesItemOwnerAccountIdRegExp,
3255
+ listTestCasesCursorPaginated200ResponseOneLimitMin,
3256
+ listTestCasesCursorPaginated200ResponseOneNextStartAtIdMin,
3257
+ listTestCasesCursorPaginated200ResponseTwoValuesItemEstimatedTimeMin,
3258
+ listTestCasesCursorPaginated200ResponseTwoValuesItemKeyRegExp,
3259
+ listTestCasesCursorPaginated200ResponseTwoValuesItemLabelsMax,
3260
+ listTestCasesCursorPaginated200ResponseTwoValuesItemNameMax,
3261
+ listTestCasesCursorPaginated200ResponseTwoValuesItemNameRegExp,
3262
+ listTestCasesCursorPaginated200ResponseTwoValuesItemOwnerAccountIdRegExp,
3101
3263
  listTestCasesCursorPaginatedQueryLimitDefault,
3102
3264
  listTestCasesCursorPaginatedQueryLimitMax,
3103
- listTestCasesCursorPaginatedQueryParams,
3104
3265
  listTestCasesCursorPaginatedQueryProjectKeyRegExp,
3266
+ listTestCasesCursorPaginatedQueryStartAtIdDefault,
3105
3267
  listTestCasesCursorPaginatedQueryStartAtIdMin,
3106
- listTestCasesCursorPaginatedResponse,
3107
- listTestCasesCursorPaginatedResponseLimitMin,
3108
- listTestCasesCursorPaginatedResponseNextStartAtIdMin,
3109
- listTestCasesCursorPaginatedResponseValuesItemEstimatedTimeMin,
3110
- listTestCasesCursorPaginatedResponseValuesItemKeyRegExp,
3111
- listTestCasesCursorPaginatedResponseValuesItemNameRegExp,
3112
- listTestCasesCursorPaginatedResponseValuesItemOwnerAccountIdRegExp,
3113
3268
  listTestCasesQueryMaxResultsDefault,
3114
3269
  listTestCasesQueryProjectKeyRegExp,
3270
+ listTestCasesQueryStartAtDefault,
3115
3271
  listTestCasesQueryStartAtMax,
3116
3272
  listTestCasesQueryStartAtMin,
3117
- listTestCasesResponseStartAtMin,
3118
- listTestCasesResponseTotalMin,
3119
- listTestCasesResponseValuesItemEstimatedTimeMin,
3120
- listTestCasesResponseValuesItemKeyRegExp,
3121
- listTestCasesResponseValuesItemNameRegExp,
3122
- listTestCasesResponseValuesItemOwnerAccountIdRegExp,
3273
+ listTestCycles200ResponseOneStartAtMin,
3274
+ listTestCycles200ResponseOneTotalMin,
3275
+ listTestCycles200ResponseTwoValuesItemKeyRegExp,
3276
+ listTestCycles200ResponseTwoValuesItemNameRegExp,
3277
+ listTestCycles200ResponseTwoValuesItemOwnerAccountIdRegExp,
3123
3278
  listTestCyclesQueryMaxResultsDefault,
3124
- listTestCyclesQueryParams,
3125
3279
  listTestCyclesQueryProjectKeyRegExp,
3280
+ listTestCyclesQueryStartAtDefault,
3126
3281
  listTestCyclesQueryStartAtMax,
3127
3282
  listTestCyclesQueryStartAtMin,
3128
- listTestCyclesResponse,
3129
- listTestCyclesResponseStartAtMin,
3130
- listTestCyclesResponseTotalMin,
3131
- listTestCyclesResponseValuesItemKeyRegExp,
3132
- listTestCyclesResponseValuesItemNameRegExp,
3133
- listTestCyclesResponseValuesItemOwnerAccountIdRegExp,
3134
3283
  listTestExecutionLinksPathTestExecutionIdOrKeyRegExp,
3284
+ listTestExecutions200ResponseOneStartAtMin,
3285
+ listTestExecutions200ResponseOneTotalMin,
3286
+ listTestExecutions200ResponseTwoValuesItemAssignedToIdRegExp,
3287
+ listTestExecutions200ResponseTwoValuesItemEstimatedTimeMin,
3288
+ listTestExecutions200ResponseTwoValuesItemExecutedByIdRegExp,
3289
+ listTestExecutions200ResponseTwoValuesItemExecutionTimeMin,
3290
+ listTestExecutions200ResponseTwoValuesItemKeyRegExp,
3291
+ listTestExecutionsNextgen200ResponseOneLimitMin,
3292
+ listTestExecutionsNextgen200ResponseOneNextStartAtIdMin,
3293
+ listTestExecutionsNextgen200ResponseTwoValuesItemAssignedToIdRegExp,
3294
+ listTestExecutionsNextgen200ResponseTwoValuesItemEstimatedTimeMin,
3295
+ listTestExecutionsNextgen200ResponseTwoValuesItemExecutedByIdRegExp,
3296
+ listTestExecutionsNextgen200ResponseTwoValuesItemExecutionTimeMin,
3297
+ listTestExecutionsNextgen200ResponseTwoValuesItemKeyRegExp,
3298
+ listTestExecutionsNextgenQueryIncludeStepLinksDefault,
3135
3299
  listTestExecutionsNextgenQueryLimitDefault,
3136
3300
  listTestExecutionsNextgenQueryLimitMax,
3137
- listTestExecutionsNextgenQueryParams,
3301
+ listTestExecutionsNextgenQueryOnlyLastExecutionsDefault,
3138
3302
  listTestExecutionsNextgenQueryProjectKeyRegExp,
3303
+ listTestExecutionsNextgenQueryStartAtIdDefault,
3139
3304
  listTestExecutionsNextgenQueryStartAtIdMin,
3140
3305
  listTestExecutionsNextgenQueryTestCaseRegExp,
3141
3306
  listTestExecutionsNextgenQueryTestCycleRegExp,
3142
- listTestExecutionsNextgenResponse,
3143
- listTestExecutionsNextgenResponseLimitMin,
3144
- listTestExecutionsNextgenResponseNextStartAtIdMin,
3145
- listTestExecutionsNextgenResponseValuesItemAssignedToIdRegExp,
3146
- listTestExecutionsNextgenResponseValuesItemEstimatedTimeMin,
3147
- listTestExecutionsNextgenResponseValuesItemExecutedByIdRegExp,
3148
- listTestExecutionsNextgenResponseValuesItemExecutionTimeMin,
3149
- listTestExecutionsNextgenResponseValuesItemKeyRegExp,
3307
+ listTestExecutionsQueryIncludeStepLinksDefault,
3150
3308
  listTestExecutionsQueryMaxResultsDefault,
3309
+ listTestExecutionsQueryOnlyLastExecutionsDefault,
3151
3310
  listTestExecutionsQueryProjectKeyRegExp,
3311
+ listTestExecutionsQueryStartAtDefault,
3152
3312
  listTestExecutionsQueryStartAtMax,
3153
3313
  listTestExecutionsQueryStartAtMin,
3154
3314
  listTestExecutionsQueryTestCaseRegExp,
3155
3315
  listTestExecutionsQueryTestCycleRegExp,
3156
- listTestExecutionsResponseStartAtMin,
3157
- listTestExecutionsResponseTotalMin,
3158
- listTestExecutionsResponseValuesItemAssignedToIdRegExp,
3159
- listTestExecutionsResponseValuesItemEstimatedTimeMin,
3160
- listTestExecutionsResponseValuesItemExecutedByIdRegExp,
3161
- listTestExecutionsResponseValuesItemExecutionTimeMin,
3162
- listTestExecutionsResponseValuesItemKeyRegExp,
3316
+ listTestPlans200ResponseOneStartAtMin,
3317
+ listTestPlans200ResponseOneTotalMin,
3318
+ listTestPlans200ResponseTwoValuesItemKeyRegExp,
3319
+ listTestPlans200ResponseTwoValuesItemLabelsMax,
3320
+ listTestPlans200ResponseTwoValuesItemNameMax,
3321
+ listTestPlans200ResponseTwoValuesItemNameRegExp,
3322
+ listTestPlans200ResponseTwoValuesItemOwnerAccountIdRegExp,
3163
3323
  listTestPlansQueryMaxResultsDefault,
3164
3324
  listTestPlansQueryProjectKeyRegExp,
3325
+ listTestPlansQueryStartAtDefault,
3165
3326
  listTestPlansQueryStartAtMax,
3166
3327
  listTestPlansQueryStartAtMin,
3167
- listTestPlansResponseStartAtMin,
3168
- listTestPlansResponseTotalMin,
3169
- listTestPlansResponseValuesItemKeyRegExp,
3170
- listTestPlansResponseValuesItemNameRegExp,
3171
- listTestPlansResponseValuesItemOwnerAccountIdRegExp,
3172
3328
  putTestExecutionTestStepsBodyStepsItemStatusNameMax,
3173
3329
  putTestExecutionTestStepsPathTestExecutionIdOrKeyRegExp,
3174
3330
  retrieveBDDTestCasesQueryProjectKeyRegExp,
@@ -3186,6 +3342,8 @@ export {
3186
3342
  updateStatusBodyNameMax,
3187
3343
  updateTestCaseBodyEstimatedTimeMin,
3188
3344
  updateTestCaseBodyKeyRegExp,
3345
+ updateTestCaseBodyLabelsMax,
3346
+ updateTestCaseBodyNameMax,
3189
3347
  updateTestCaseBodyNameRegExp,
3190
3348
  updateTestCaseBodyOwnerAccountIdRegExp,
3191
3349
  updateTestCasePathTestCaseKeyRegExp,