@rbaileysr/zephyr-managed-api 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -30
- package/dist/README.md +70 -30
- package/dist/groups/Private/PrivateAttachments.d.ts +2 -0
- package/dist/groups/Private/PrivateAttachments.d.ts.map +1 -1
- package/dist/groups/Private/PrivateAttachments.js +13 -4
- package/dist/groups/Private/PrivateComments.d.ts +1 -0
- package/dist/groups/Private/PrivateComments.d.ts.map +1 -1
- package/dist/groups/Private/PrivateComments.js +11 -4
- package/dist/groups/Private/PrivateDataSets.d.ts +2 -3
- package/dist/groups/Private/PrivateDataSets.d.ts.map +1 -1
- package/dist/groups/Private/PrivateDataSets.js +11 -5
- package/dist/groups/Private/PrivateIterations.d.ts.map +1 -1
- package/dist/groups/Private/PrivateIterations.js +8 -1
- package/dist/groups/Private/PrivateLabels.d.ts.map +1 -1
- package/dist/groups/Private/PrivateLabels.js +8 -1
- package/dist/groups/Private/PrivateVersionControl.d.ts +108 -0
- package/dist/groups/Private/PrivateVersionControl.d.ts.map +1 -0
- package/dist/groups/Private/PrivateVersionControl.js +454 -0
- package/dist/groups/Private.d.ts +5 -0
- package/dist/groups/Private.d.ts.map +1 -1
- package/dist/groups/Private.js +2 -0
- package/dist/package.json +1 -1
- package/dist/types.d.ts +70 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,11 +16,11 @@ npm install @rbaileysr/zephyr-managed-api
|
|
|
16
16
|
In ScriptRunner Connect a Managed API is constructed for you, but if you need to construct it manually, here's how you can do it:
|
|
17
17
|
|
|
18
18
|
**Using API Connection (recommended for ScriptRunner Connect):**
|
|
19
|
-
|
|
19
|
+
```typescript
|
|
20
20
|
import { createZephyrApi } from '@rbaileysr/zephyr-managed-api';
|
|
21
|
-
|
|
21
|
+
import ZephyrApiConnection from '../api/zephyr';
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
// Base URL is configured in the Generic Connector
|
|
24
24
|
const api = createZephyrApi(ZephyrApiConnection);
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -174,6 +174,11 @@ const apiEU = createZephyrApi(
|
|
|
174
174
|
- **getTestExecutionStepAttachments** - Get all attachments for a test execution step
|
|
175
175
|
- **downloadTestExecutionStepAttachment** - Download an attachment from a test execution step
|
|
176
176
|
- **createTestExecutionStepAttachment** - Upload an attachment to a test execution step
|
|
177
|
+
- VersionControl
|
|
178
|
+
- **getTestCaseIssueLinks** - Get issue links for a test case (with version support)
|
|
179
|
+
- **getTestCaseWebLinks** - Get web links for a test case (with version support)
|
|
180
|
+
- **getTestCaseTestScript** - Get test script for a test case (with version support)
|
|
181
|
+
- **getTestCaseTestSteps** - Get test steps for a test case (with version support)
|
|
177
182
|
|
|
178
183
|
## Private API Authentication
|
|
179
184
|
|
|
@@ -225,10 +230,7 @@ const customField = await api.Private.Config.CustomFields.createCustomField(
|
|
|
225
230
|
// Create a new label
|
|
226
231
|
await api.Private.Config.Labels.createLabel(credentials, {
|
|
227
232
|
projectId: 10233,
|
|
228
|
-
name: 'automated'
|
|
229
|
-
color: '#FFFFFF',
|
|
230
|
-
index: 0,
|
|
231
|
-
items: []
|
|
233
|
+
name: 'automated'
|
|
232
234
|
});
|
|
233
235
|
|
|
234
236
|
// Get all labels
|
|
@@ -244,10 +246,7 @@ const labels = await api.Private.Config.Labels.getLabels(credentials, {
|
|
|
244
246
|
const iteration = await api.Private.Config.Iterations.createIteration(credentials, {
|
|
245
247
|
projectId: 10233,
|
|
246
248
|
name: 'Sprint 1',
|
|
247
|
-
description: 'First sprint of Q1'
|
|
248
|
-
color: '#FFFFFF',
|
|
249
|
-
index: 0,
|
|
250
|
-
items: []
|
|
249
|
+
description: 'First sprint of Q1'
|
|
251
250
|
});
|
|
252
251
|
|
|
253
252
|
// Get all iterations
|
|
@@ -261,28 +260,21 @@ const iterations = await api.Private.Config.Iterations.getIterations(credentials
|
|
|
261
260
|
```typescript
|
|
262
261
|
// Create a new data set (empty)
|
|
263
262
|
const dataSet = await api.Private.Config.DataSets.createDataSet(credentials, {
|
|
264
|
-
|
|
265
|
-
name: 'Environment'
|
|
266
|
-
color: '#FFFFFF',
|
|
267
|
-
index: 0,
|
|
268
|
-
items: []
|
|
263
|
+
projectId: 10233,
|
|
264
|
+
name: 'Environment'
|
|
269
265
|
});
|
|
270
266
|
|
|
271
267
|
// Add items/options to the data set
|
|
272
|
-
const updatedDataSet = await api.Private.Config.DataSets.updateDataSet(
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
name: '
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
{ name: 'Development', index: 2, archived: false }
|
|
283
|
-
]
|
|
284
|
-
}
|
|
285
|
-
);
|
|
268
|
+
const updatedDataSet = await api.Private.Config.DataSets.updateDataSet(credentials, {
|
|
269
|
+
id: dataSet.id,
|
|
270
|
+
name: 'Environment',
|
|
271
|
+
projectId: 10233,
|
|
272
|
+
items: [
|
|
273
|
+
{ name: 'Production', index: 0, archived: false },
|
|
274
|
+
{ name: 'Staging', index: 1, archived: false },
|
|
275
|
+
{ name: 'Development', index: 2, archived: false }
|
|
276
|
+
]
|
|
277
|
+
});
|
|
286
278
|
|
|
287
279
|
// Get all data sets
|
|
288
280
|
const dataSets = await api.Private.Config.DataSets.getDataSets(credentials, {
|
|
@@ -321,6 +313,39 @@ const attachment = await api.Private.Attachments.createAttachment(
|
|
|
321
313
|
);
|
|
322
314
|
```
|
|
323
315
|
|
|
316
|
+
### Example: Get Version-Specific Data
|
|
317
|
+
|
|
318
|
+
```typescript
|
|
319
|
+
// Get issue links for current version
|
|
320
|
+
const issueLinks = await api.Private.VersionControl.getTestCaseIssueLinks(credentials, {
|
|
321
|
+
testCaseKey: 'PROJ-T1',
|
|
322
|
+
projectId: 10233
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
// Get web links for version 2 (previous version)
|
|
326
|
+
const webLinks = await api.Private.VersionControl.getTestCaseWebLinks(credentials, {
|
|
327
|
+
testCaseKey: 'PROJ-T1',
|
|
328
|
+
projectId: 10233,
|
|
329
|
+
version: 2
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
// Get test script for version 3
|
|
333
|
+
const testScript = await api.Private.VersionControl.getTestCaseTestScript(credentials, {
|
|
334
|
+
testCaseKey: 'PROJ-T1',
|
|
335
|
+
projectId: 10233,
|
|
336
|
+
version: 3
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
// Get test steps for version 1 (current version)
|
|
340
|
+
const testSteps = await api.Private.VersionControl.getTestCaseTestSteps(credentials, {
|
|
341
|
+
testCaseKey: 'PROJ-T1',
|
|
342
|
+
projectId: 10233,
|
|
343
|
+
version: 1
|
|
344
|
+
});
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**Note:** Version numbers are relative to the current version (1 = current/latest, 2 = previous, 3 = version before that, etc.). If `version` is not provided, the latest version is used.
|
|
348
|
+
|
|
324
349
|
**Important Notes:**
|
|
325
350
|
- Private API methods require a `PrivateApiCredentials` object with `userEmail`, `apiToken`, and `jiraInstanceUrl`
|
|
326
351
|
- The Context JWT token expires after 15 minutes and must be retrieved for each private API call
|
|
@@ -333,6 +358,21 @@ Feel free to drop ideas, suggestions or improvements into our [Community hub](ht
|
|
|
333
358
|
|
|
334
359
|
## Changelog
|
|
335
360
|
|
|
361
|
+
### 1.3.3
|
|
362
|
+
|
|
363
|
+
- **Added**: New VersionControl sub-group under Private API for version-specific operations
|
|
364
|
+
- **Added**: `getTestCaseIssueLinks()` - Get issue links for a test case with version support
|
|
365
|
+
- **Added**: `getTestCaseWebLinks()` - Get web links for a test case with version support
|
|
366
|
+
- **Added**: `getTestCaseTestScript()` - Get test script for a test case with version support
|
|
367
|
+
- **Added**: `getTestCaseTestSteps()` - Get test steps for a test case with version support
|
|
368
|
+
- **Added**: Version parameter support to `getTestCaseComments()`, `getTestCaseAttachments()`, and `downloadAttachment()` methods
|
|
369
|
+
- **Changed**: Private API now organized as: Authentication, Comments, Config, Versions, Attachments, VersionControl
|
|
370
|
+
|
|
371
|
+
### 1.3.2
|
|
372
|
+
|
|
373
|
+
- **Changed**: `updateDataSet` now takes `id` in the request object instead of as a separate parameter
|
|
374
|
+
- **Changed**: Removed unused `color`, `index`, and `items` parameters from `createLabel`, `createIteration`, and `createDataSet` request types (these are now hardcoded internally)
|
|
375
|
+
|
|
336
376
|
### 1.3.1
|
|
337
377
|
|
|
338
378
|
- **Added**: New Config sub-group under Private API for configuration operations
|
package/dist/README.md
CHANGED
|
@@ -16,11 +16,11 @@ npm install @rbaileysr/zephyr-managed-api
|
|
|
16
16
|
In ScriptRunner Connect a Managed API is constructed for you, but if you need to construct it manually, here's how you can do it:
|
|
17
17
|
|
|
18
18
|
**Using API Connection (recommended for ScriptRunner Connect):**
|
|
19
|
-
|
|
19
|
+
```typescript
|
|
20
20
|
import { createZephyrApi } from '@rbaileysr/zephyr-managed-api';
|
|
21
|
-
|
|
21
|
+
import ZephyrApiConnection from '../api/zephyr';
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
// Base URL is configured in the Generic Connector
|
|
24
24
|
const api = createZephyrApi(ZephyrApiConnection);
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -174,6 +174,11 @@ const apiEU = createZephyrApi(
|
|
|
174
174
|
- **getTestExecutionStepAttachments** - Get all attachments for a test execution step
|
|
175
175
|
- **downloadTestExecutionStepAttachment** - Download an attachment from a test execution step
|
|
176
176
|
- **createTestExecutionStepAttachment** - Upload an attachment to a test execution step
|
|
177
|
+
- VersionControl
|
|
178
|
+
- **getTestCaseIssueLinks** - Get issue links for a test case (with version support)
|
|
179
|
+
- **getTestCaseWebLinks** - Get web links for a test case (with version support)
|
|
180
|
+
- **getTestCaseTestScript** - Get test script for a test case (with version support)
|
|
181
|
+
- **getTestCaseTestSteps** - Get test steps for a test case (with version support)
|
|
177
182
|
|
|
178
183
|
## Private API Authentication
|
|
179
184
|
|
|
@@ -225,10 +230,7 @@ const customField = await api.Private.Config.CustomFields.createCustomField(
|
|
|
225
230
|
// Create a new label
|
|
226
231
|
await api.Private.Config.Labels.createLabel(credentials, {
|
|
227
232
|
projectId: 10233,
|
|
228
|
-
name: 'automated'
|
|
229
|
-
color: '#FFFFFF',
|
|
230
|
-
index: 0,
|
|
231
|
-
items: []
|
|
233
|
+
name: 'automated'
|
|
232
234
|
});
|
|
233
235
|
|
|
234
236
|
// Get all labels
|
|
@@ -244,10 +246,7 @@ const labels = await api.Private.Config.Labels.getLabels(credentials, {
|
|
|
244
246
|
const iteration = await api.Private.Config.Iterations.createIteration(credentials, {
|
|
245
247
|
projectId: 10233,
|
|
246
248
|
name: 'Sprint 1',
|
|
247
|
-
description: 'First sprint of Q1'
|
|
248
|
-
color: '#FFFFFF',
|
|
249
|
-
index: 0,
|
|
250
|
-
items: []
|
|
249
|
+
description: 'First sprint of Q1'
|
|
251
250
|
});
|
|
252
251
|
|
|
253
252
|
// Get all iterations
|
|
@@ -261,28 +260,21 @@ const iterations = await api.Private.Config.Iterations.getIterations(credentials
|
|
|
261
260
|
```typescript
|
|
262
261
|
// Create a new data set (empty)
|
|
263
262
|
const dataSet = await api.Private.Config.DataSets.createDataSet(credentials, {
|
|
264
|
-
|
|
265
|
-
name: 'Environment'
|
|
266
|
-
color: '#FFFFFF',
|
|
267
|
-
index: 0,
|
|
268
|
-
items: []
|
|
263
|
+
projectId: 10233,
|
|
264
|
+
name: 'Environment'
|
|
269
265
|
});
|
|
270
266
|
|
|
271
267
|
// Add items/options to the data set
|
|
272
|
-
const updatedDataSet = await api.Private.Config.DataSets.updateDataSet(
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
name: '
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
{ name: 'Development', index: 2, archived: false }
|
|
283
|
-
]
|
|
284
|
-
}
|
|
285
|
-
);
|
|
268
|
+
const updatedDataSet = await api.Private.Config.DataSets.updateDataSet(credentials, {
|
|
269
|
+
id: dataSet.id,
|
|
270
|
+
name: 'Environment',
|
|
271
|
+
projectId: 10233,
|
|
272
|
+
items: [
|
|
273
|
+
{ name: 'Production', index: 0, archived: false },
|
|
274
|
+
{ name: 'Staging', index: 1, archived: false },
|
|
275
|
+
{ name: 'Development', index: 2, archived: false }
|
|
276
|
+
]
|
|
277
|
+
});
|
|
286
278
|
|
|
287
279
|
// Get all data sets
|
|
288
280
|
const dataSets = await api.Private.Config.DataSets.getDataSets(credentials, {
|
|
@@ -321,6 +313,39 @@ const attachment = await api.Private.Attachments.createAttachment(
|
|
|
321
313
|
);
|
|
322
314
|
```
|
|
323
315
|
|
|
316
|
+
### Example: Get Version-Specific Data
|
|
317
|
+
|
|
318
|
+
```typescript
|
|
319
|
+
// Get issue links for current version
|
|
320
|
+
const issueLinks = await api.Private.VersionControl.getTestCaseIssueLinks(credentials, {
|
|
321
|
+
testCaseKey: 'PROJ-T1',
|
|
322
|
+
projectId: 10233
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
// Get web links for version 2 (previous version)
|
|
326
|
+
const webLinks = await api.Private.VersionControl.getTestCaseWebLinks(credentials, {
|
|
327
|
+
testCaseKey: 'PROJ-T1',
|
|
328
|
+
projectId: 10233,
|
|
329
|
+
version: 2
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
// Get test script for version 3
|
|
333
|
+
const testScript = await api.Private.VersionControl.getTestCaseTestScript(credentials, {
|
|
334
|
+
testCaseKey: 'PROJ-T1',
|
|
335
|
+
projectId: 10233,
|
|
336
|
+
version: 3
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
// Get test steps for version 1 (current version)
|
|
340
|
+
const testSteps = await api.Private.VersionControl.getTestCaseTestSteps(credentials, {
|
|
341
|
+
testCaseKey: 'PROJ-T1',
|
|
342
|
+
projectId: 10233,
|
|
343
|
+
version: 1
|
|
344
|
+
});
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**Note:** Version numbers are relative to the current version (1 = current/latest, 2 = previous, 3 = version before that, etc.). If `version` is not provided, the latest version is used.
|
|
348
|
+
|
|
324
349
|
**Important Notes:**
|
|
325
350
|
- Private API methods require a `PrivateApiCredentials` object with `userEmail`, `apiToken`, and `jiraInstanceUrl`
|
|
326
351
|
- The Context JWT token expires after 15 minutes and must be retrieved for each private API call
|
|
@@ -333,6 +358,21 @@ Feel free to drop ideas, suggestions or improvements into our [Community hub](ht
|
|
|
333
358
|
|
|
334
359
|
## Changelog
|
|
335
360
|
|
|
361
|
+
### 1.3.3
|
|
362
|
+
|
|
363
|
+
- **Added**: New VersionControl sub-group under Private API for version-specific operations
|
|
364
|
+
- **Added**: `getTestCaseIssueLinks()` - Get issue links for a test case with version support
|
|
365
|
+
- **Added**: `getTestCaseWebLinks()` - Get web links for a test case with version support
|
|
366
|
+
- **Added**: `getTestCaseTestScript()` - Get test script for a test case with version support
|
|
367
|
+
- **Added**: `getTestCaseTestSteps()` - Get test steps for a test case with version support
|
|
368
|
+
- **Added**: Version parameter support to `getTestCaseComments()`, `getTestCaseAttachments()`, and `downloadAttachment()` methods
|
|
369
|
+
- **Changed**: Private API now organized as: Authentication, Comments, Config, Versions, Attachments, VersionControl
|
|
370
|
+
|
|
371
|
+
### 1.3.2
|
|
372
|
+
|
|
373
|
+
- **Changed**: `updateDataSet` now takes `id` in the request object instead of as a separate parameter
|
|
374
|
+
- **Changed**: Removed unused `color`, `index`, and `items` parameters from `createLabel`, `createIteration`, and `createDataSet` request types (these are now hardcoded internally)
|
|
375
|
+
|
|
336
376
|
### 1.3.1
|
|
337
377
|
|
|
338
378
|
- **Added**: New Config sub-group under Private API for configuration operations
|
|
@@ -25,6 +25,7 @@ export declare class PrivateAttachments extends PrivateBase {
|
|
|
25
25
|
* @param request - Get attachments request
|
|
26
26
|
* @param request.testCaseKey - Test case key (e.g., 'PROJ-T1'). The numeric ID will be looked up automatically if Zephyr Connector is available.
|
|
27
27
|
* @param request.projectId - Jira project ID (numeric, not the project key)
|
|
28
|
+
* @param request.version - Optional version number (relative to current version, where 1 = current/latest version, 2 = previous version, 3 = version before that, etc.). If not provided, uses the latest version (same as version: 1).
|
|
28
29
|
* @returns Test case attachments response with array of attachment details
|
|
29
30
|
* @throws {BadRequestError} If the request is invalid
|
|
30
31
|
* @throws {UnauthorizedError} If authentication fails
|
|
@@ -50,6 +51,7 @@ export declare class PrivateAttachments extends PrivateBase {
|
|
|
50
51
|
* @param request.testCaseKey - Test case key (e.g., 'PROJ-T1'). The numeric ID will be looked up automatically if Zephyr Connector is available.
|
|
51
52
|
* @param request.projectId - Jira project ID (numeric, not the project key)
|
|
52
53
|
* @param request.attachmentId - Attachment ID (UUID string, e.g., 'c3f14125-638f-47f9-9211-12a9777c09e7')
|
|
54
|
+
* @param request.version - Optional version number (relative to current version, where 1 = current/latest version, 2 = previous version, 3 = version before that, etc.). If not provided, uses the latest version (same as version: 1).
|
|
53
55
|
* @returns Blob containing the attachment file data
|
|
54
56
|
* @throws {BadRequestError} If the request is invalid
|
|
55
57
|
* @throws {UnauthorizedError} If authentication fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateAttachments.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateAttachments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,sCAAsC,EACtC,oCAAoC,EACpC,sCAAsC,EACtC,uCAAuC,EACvC,0CAA0C,EAC1C,wCAAwC,EAGxC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,kBAAmB,SAAQ,WAAW;gBACtC,aAAa,CAAC,EAAE,mBAAmB;IAI/C
|
|
1
|
+
{"version":3,"file":"PrivateAttachments.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateAttachments.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export class PrivateAttachments extends PrivateBase {
|
|
|
20
20
|
* @param request - Get attachments request
|
|
21
21
|
* @param request.testCaseKey - Test case key (e.g., 'PROJ-T1'). The numeric ID will be looked up automatically if Zephyr Connector is available.
|
|
22
22
|
* @param request.projectId - Jira project ID (numeric, not the project key)
|
|
23
|
+
* @param request.version - Optional version number (relative to current version, where 1 = current/latest version, 2 = previous version, 3 = version before that, etc.). If not provided, uses the latest version (same as version: 1).
|
|
23
24
|
* @returns Test case attachments response with array of attachment details
|
|
24
25
|
* @throws {BadRequestError} If the request is invalid
|
|
25
26
|
* @throws {UnauthorizedError} If authentication fails
|
|
@@ -33,15 +34,21 @@ export class PrivateAttachments extends PrivateBase {
|
|
|
33
34
|
let testCaseId;
|
|
34
35
|
if (this.testCaseGroup) {
|
|
35
36
|
try {
|
|
36
|
-
|
|
37
|
+
// If version is specified, get the versioned test case; otherwise get the current version
|
|
38
|
+
const testCase = request.version !== undefined && request.version > 0
|
|
39
|
+
? await this.testCaseGroup.getTestCaseVersion({
|
|
40
|
+
testCaseKey: request.testCaseKey,
|
|
41
|
+
version: request.version,
|
|
42
|
+
})
|
|
43
|
+
: await this.testCaseGroup.getTestCase({ testCaseKey: request.testCaseKey });
|
|
37
44
|
if (!testCase) {
|
|
38
|
-
throw new NotFoundError(`Test case with key '${request.testCaseKey}' not found.`);
|
|
45
|
+
throw new NotFoundError(`Test case with key '${request.testCaseKey}'${request.version !== undefined && request.version > 0 ? ` version ${request.version}` : ''} not found.`);
|
|
39
46
|
}
|
|
40
47
|
testCaseId = testCase.id;
|
|
41
48
|
}
|
|
42
49
|
catch (error) {
|
|
43
50
|
if (error instanceof NotFoundError) {
|
|
44
|
-
throw new NotFoundError(`Test case with key '${request.testCaseKey}' not found.`);
|
|
51
|
+
throw new NotFoundError(`Test case with key '${request.testCaseKey}'${request.version !== undefined && request.version > 0 ? ` version ${request.version}` : ''} not found.`);
|
|
45
52
|
}
|
|
46
53
|
throw new UnexpectedError(`Failed to look up test case ID from key '${request.testCaseKey}'. Ensure Zephyr Connector is configured.`, error);
|
|
47
54
|
}
|
|
@@ -73,7 +80,7 @@ export class PrivateAttachments extends PrivateBase {
|
|
|
73
80
|
throw new ForbiddenError('Insufficient permissions to get attachments.');
|
|
74
81
|
}
|
|
75
82
|
if (response.status === 404) {
|
|
76
|
-
throw new NotFoundError(`Test case with key '${request.testCaseKey}' not found.`);
|
|
83
|
+
throw new NotFoundError(`Test case with key '${request.testCaseKey}'${request.version !== undefined && request.version > 0 ? ` version ${request.version}` : ''} not found.`);
|
|
77
84
|
}
|
|
78
85
|
throw new ServerError(`Failed to get test case attachments. Status: ${response.status}`, response.status, response.statusText);
|
|
79
86
|
}
|
|
@@ -107,6 +114,7 @@ export class PrivateAttachments extends PrivateBase {
|
|
|
107
114
|
* @param request.testCaseKey - Test case key (e.g., 'PROJ-T1'). The numeric ID will be looked up automatically if Zephyr Connector is available.
|
|
108
115
|
* @param request.projectId - Jira project ID (numeric, not the project key)
|
|
109
116
|
* @param request.attachmentId - Attachment ID (UUID string, e.g., 'c3f14125-638f-47f9-9211-12a9777c09e7')
|
|
117
|
+
* @param request.version - Optional version number (relative to current version, where 1 = current/latest version, 2 = previous version, 3 = version before that, etc.). If not provided, uses the latest version (same as version: 1).
|
|
110
118
|
* @returns Blob containing the attachment file data
|
|
111
119
|
* @throws {BadRequestError} If the request is invalid
|
|
112
120
|
* @throws {UnauthorizedError} If authentication fails
|
|
@@ -120,6 +128,7 @@ export class PrivateAttachments extends PrivateBase {
|
|
|
120
128
|
const attachmentsResponse = await this.getTestCaseAttachments(credentials, {
|
|
121
129
|
testCaseKey: request.testCaseKey,
|
|
122
130
|
projectId: request.projectId,
|
|
131
|
+
version: request.version,
|
|
123
132
|
});
|
|
124
133
|
// Step 2: Find the requested attachment
|
|
125
134
|
const attachment = attachmentsResponse.attachments.find((att) => att.id === request.attachmentId);
|
|
@@ -24,6 +24,7 @@ export declare class PrivateComments extends PrivateBase {
|
|
|
24
24
|
* @param request - Get comments request
|
|
25
25
|
* @param request.testCaseKey - Test case key (e.g., 'PROJ-T1'). The numeric ID will be looked up automatically if Zephyr Connector is available.
|
|
26
26
|
* @param request.projectId - Jira project ID (numeric, not the project key)
|
|
27
|
+
* @param request.version - Optional version number (relative to current version, where 1 = current/latest version, 2 = previous version, 3 = version before that, etc.). If not provided, uses the latest version (same as version: 1).
|
|
27
28
|
* @returns Array of comments
|
|
28
29
|
* @throws {BadRequestError} If the request is invalid
|
|
29
30
|
* @throws {UnauthorizedError} If authentication fails
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateComments.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateComments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,cAAc,EACd,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,WAAW;gBACnC,aAAa,CAAC,EAAE,mBAAmB;IAI/C
|
|
1
|
+
{"version":3,"file":"PrivateComments.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateComments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,cAAc,EACd,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,qBAAqB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,WAAW;gBACnC,aAAa,CAAC,EAAE,mBAAmB;IAI/C;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,mBAAmB,CACxB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,0BAA0B,GACjC,OAAO,CAAC,cAAc,EAAE,CAAC;IA0F5B;;;;;;;;;;;;;;;;;;OAkBG;IACG,oBAAoB,CACzB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,2BAA2B,GAClC,OAAO,CAAC,cAAc,EAAE,CAAC;IAqD5B;;;;;;;;;;;;;;;;;;OAkBG;IACG,mBAAmB,CACxB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,0BAA0B,GACjC,OAAO,CAAC,cAAc,EAAE,CAAC;IAqD5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,qBAAqB,CAC1B,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,4BAA4B,GACnC,OAAO,CAAC,6BAA6B,CAAC;IAoFzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,sBAAsB,CAC3B,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,6BAA6B,GACpC,OAAO,CAAC,qBAAqB,CAAC;IAoFjC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,qBAAqB,CAC1B,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,4BAA4B,GACnC,OAAO,CAAC,qBAAqB,CAAC;CAmFjC"}
|
|
@@ -19,6 +19,7 @@ export class PrivateComments extends PrivateBase {
|
|
|
19
19
|
* @param request - Get comments request
|
|
20
20
|
* @param request.testCaseKey - Test case key (e.g., 'PROJ-T1'). The numeric ID will be looked up automatically if Zephyr Connector is available.
|
|
21
21
|
* @param request.projectId - Jira project ID (numeric, not the project key)
|
|
22
|
+
* @param request.version - Optional version number (relative to current version, where 1 = current/latest version, 2 = previous version, 3 = version before that, etc.). If not provided, uses the latest version (same as version: 1).
|
|
22
23
|
* @returns Array of comments
|
|
23
24
|
* @throws {BadRequestError} If the request is invalid
|
|
24
25
|
* @throws {UnauthorizedError} If authentication fails
|
|
@@ -32,15 +33,21 @@ export class PrivateComments extends PrivateBase {
|
|
|
32
33
|
let testCaseId;
|
|
33
34
|
if (this.testCaseGroup) {
|
|
34
35
|
try {
|
|
35
|
-
|
|
36
|
+
// If version is specified, get the versioned test case; otherwise get the current version
|
|
37
|
+
const testCase = request.version !== undefined && request.version > 0
|
|
38
|
+
? await this.testCaseGroup.getTestCaseVersion({
|
|
39
|
+
testCaseKey: request.testCaseKey,
|
|
40
|
+
version: request.version,
|
|
41
|
+
})
|
|
42
|
+
: await this.testCaseGroup.getTestCase({ testCaseKey: request.testCaseKey });
|
|
36
43
|
if (!testCase) {
|
|
37
|
-
throw new NotFoundError(`Test case with key '${request.testCaseKey}' not found.`);
|
|
44
|
+
throw new NotFoundError(`Test case with key '${request.testCaseKey}'${request.version !== undefined && request.version > 0 ? ` version ${request.version}` : ''} not found.`);
|
|
38
45
|
}
|
|
39
46
|
testCaseId = testCase.id;
|
|
40
47
|
}
|
|
41
48
|
catch (error) {
|
|
42
49
|
if (error instanceof NotFoundError) {
|
|
43
|
-
throw new NotFoundError(`Test case with key '${request.testCaseKey}' not found.`);
|
|
50
|
+
throw new NotFoundError(`Test case with key '${request.testCaseKey}'${request.version !== undefined && request.version > 0 ? ` version ${request.version}` : ''} not found.`);
|
|
44
51
|
}
|
|
45
52
|
throw new UnexpectedError(`Failed to look up test case ID from key '${request.testCaseKey}'. Ensure Zephyr Connector is configured.`, error);
|
|
46
53
|
}
|
|
@@ -72,7 +79,7 @@ export class PrivateComments extends PrivateBase {
|
|
|
72
79
|
throw new ForbiddenError('Insufficient permissions to get comments.');
|
|
73
80
|
}
|
|
74
81
|
if (response.status === 404) {
|
|
75
|
-
throw new NotFoundError(`Test case with key '${request.testCaseKey}' not found.`);
|
|
82
|
+
throw new NotFoundError(`Test case with key '${request.testCaseKey}'${request.version !== undefined && request.version > 0 ? ` version ${request.version}` : ''} not found.`);
|
|
76
83
|
}
|
|
77
84
|
throw new ServerError(`Failed to get comments. Status: ${response.status}`, response.status, response.statusText);
|
|
78
85
|
}
|
|
@@ -54,14 +54,13 @@ export declare class PrivateDataSets extends PrivateBase {
|
|
|
54
54
|
* The endpoint may change or be removed at any time without notice.
|
|
55
55
|
*
|
|
56
56
|
* @param credentials - Private API credentials
|
|
57
|
-
* @param
|
|
58
|
-
* @param request - Update data set request
|
|
57
|
+
* @param request - Update data set request (must include id field)
|
|
59
58
|
* @returns Updated data set response
|
|
60
59
|
* @throws {BadRequestError} If the request is invalid
|
|
61
60
|
* @throws {UnauthorizedError} If authentication fails
|
|
62
61
|
* @throws {ForbiddenError} If the user doesn't have permission
|
|
63
62
|
* @throws {ServerError} If the server returns an error
|
|
64
63
|
*/
|
|
65
|
-
updateDataSet(credentials: PrivateApiCredentials,
|
|
64
|
+
updateDataSet(credentials: PrivateApiCredentials, request: UpdateDataSetRequest): Promise<UpdateDataSetResponse>;
|
|
66
65
|
}
|
|
67
66
|
//# sourceMappingURL=PrivateDataSets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateDataSets.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateDataSets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,WAAW;gBACnC,aAAa,CAAC,EAAE,mBAAmB;IAI/C;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsD7G;;;;;;;;;;;;;;;OAeG;IACG,aAAa,CAClB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"PrivateDataSets.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateDataSets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,WAAW;gBACnC,aAAa,CAAC,EAAE,mBAAmB;IAI/C;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsD7G;;;;;;;;;;;;;;;OAeG;IACG,aAAa,CAClB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IA+DjC;;;;;;;;;;;;;;;;OAgBG;IACG,aAAa,CAClB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;CAsDjC"}
|
|
@@ -91,10 +91,17 @@ export class PrivateDataSets extends PrivateBase {
|
|
|
91
91
|
'jira-project-id': String(request.projectId),
|
|
92
92
|
};
|
|
93
93
|
try {
|
|
94
|
+
// Hardcode color, index, and items as they're not used by the API
|
|
95
|
+
const requestBody = {
|
|
96
|
+
...request,
|
|
97
|
+
color: '#FFFFFF',
|
|
98
|
+
index: 0,
|
|
99
|
+
items: [],
|
|
100
|
+
};
|
|
94
101
|
const response = await fetch(url, {
|
|
95
102
|
method: 'POST',
|
|
96
103
|
headers,
|
|
97
|
-
body: JSON.stringify(
|
|
104
|
+
body: JSON.stringify(requestBody),
|
|
98
105
|
});
|
|
99
106
|
if (!response.ok) {
|
|
100
107
|
if (response.status === 400) {
|
|
@@ -136,18 +143,17 @@ export class PrivateDataSets extends PrivateBase {
|
|
|
136
143
|
* The endpoint may change or be removed at any time without notice.
|
|
137
144
|
*
|
|
138
145
|
* @param credentials - Private API credentials
|
|
139
|
-
* @param
|
|
140
|
-
* @param request - Update data set request
|
|
146
|
+
* @param request - Update data set request (must include id field)
|
|
141
147
|
* @returns Updated data set response
|
|
142
148
|
* @throws {BadRequestError} If the request is invalid
|
|
143
149
|
* @throws {UnauthorizedError} If authentication fails
|
|
144
150
|
* @throws {ForbiddenError} If the user doesn't have permission
|
|
145
151
|
* @throws {ServerError} If the server returns an error
|
|
146
152
|
*/
|
|
147
|
-
async updateDataSet(credentials,
|
|
153
|
+
async updateDataSet(credentials, request) {
|
|
148
154
|
// Get Context JWT
|
|
149
155
|
const contextJwt = await this.getContextJwt(credentials);
|
|
150
|
-
const url = `${this.privateApiBaseUrl}/dataset/${
|
|
156
|
+
const url = `${this.privateApiBaseUrl}/dataset/${request.id}`;
|
|
151
157
|
const headers = {
|
|
152
158
|
'Content-Type': 'application/json',
|
|
153
159
|
authorization: `JWT ${contextJwt}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateIterations.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateIterations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,iBAAkB,SAAQ,WAAW;gBACrC,aAAa,CAAC,EAAE,mBAAmB;IAI/C;;;;;;;;;;;;;OAaG;IACG,aAAa,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsDnH;;;;;;;;;;;;;OAaG;IACG,eAAe,CACpB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"PrivateIterations.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateIterations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,iBAAkB,SAAQ,WAAW;gBACrC,aAAa,CAAC,EAAE,mBAAmB;IAI/C;;;;;;;;;;;;;OAaG;IACG,aAAa,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsDnH;;;;;;;;;;;;;OAaG;IACG,eAAe,CACpB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;CA8DnC"}
|
|
@@ -89,10 +89,17 @@ export class PrivateIterations extends PrivateBase {
|
|
|
89
89
|
'jira-project-id': String(request.projectId),
|
|
90
90
|
};
|
|
91
91
|
try {
|
|
92
|
+
// Hardcode color, index, and items as they're not used by the API
|
|
93
|
+
const requestBody = {
|
|
94
|
+
...request,
|
|
95
|
+
color: '#FFFFFF',
|
|
96
|
+
index: 0,
|
|
97
|
+
items: [],
|
|
98
|
+
};
|
|
92
99
|
const response = await fetch(url, {
|
|
93
100
|
method: 'POST',
|
|
94
101
|
headers,
|
|
95
|
-
body: JSON.stringify(
|
|
102
|
+
body: JSON.stringify(requestBody),
|
|
96
103
|
});
|
|
97
104
|
if (!response.ok) {
|
|
98
105
|
if (response.status === 400) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateLabels.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateLabels.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,aAAc,SAAQ,WAAW;gBACjC,aAAa,CAAC,EAAE,mBAAmB;IAI/C;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsDvG;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PrivateLabels.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateLabels.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qBAAa,aAAc,SAAQ,WAAW;gBACjC,aAAa,CAAC,EAAE,mBAAmB;IAI/C;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsDvG;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8DjG"}
|
|
@@ -89,10 +89,17 @@ export class PrivateLabels extends PrivateBase {
|
|
|
89
89
|
'jira-project-id': String(request.projectId),
|
|
90
90
|
};
|
|
91
91
|
try {
|
|
92
|
+
// Hardcode color, index, and items as they're not used by the API
|
|
93
|
+
const requestBody = {
|
|
94
|
+
...request,
|
|
95
|
+
color: '#FFFFFF',
|
|
96
|
+
index: 0,
|
|
97
|
+
items: [],
|
|
98
|
+
};
|
|
92
99
|
const response = await fetch(url, {
|
|
93
100
|
method: 'POST',
|
|
94
101
|
headers,
|
|
95
|
-
body: JSON.stringify(
|
|
102
|
+
body: JSON.stringify(requestBody),
|
|
96
103
|
});
|
|
97
104
|
if (!response.ok) {
|
|
98
105
|
if (response.status === 400) {
|