@rbaileysr/zephyr-managed-api 1.3.6 → 1.3.7

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 CHANGED
@@ -141,8 +141,8 @@ const apiEU = createZephyrApi(
141
141
  - **Labels**: `getLabels`, `createLabel`
142
142
  - **Iterations**: `getIterations`, `createIteration`
143
143
  - **DataSets**: `getDataSets`, `createDataSet`, `updateDataSet`
144
- - **archiveConfig** - Archive an Environment or Iteration
145
- - **unarchiveConfig** - Unarchive an Environment or Iteration
144
+ - **archiveConfig** - Archive a config item (Environment, Iteration, or Status)
145
+ - **unarchiveConfig** - Unarchive a config item (Environment, Iteration, or Status)
146
146
  - Versions
147
147
  - **createTestCaseVersion** - Create a new test case version
148
148
  - Attachments
@@ -155,6 +155,9 @@ const apiEU = createZephyrApi(
155
155
  - VersionControl
156
156
  - **Test Case (version-specific)**: `getTestCaseIssueLinks`, `getTestCaseWebLinks`, `getTestCaseTestScript`, `getTestCaseTestSteps`
157
157
  - **Test Execution Step**: `getTestExecutionStepIssueLinks`, `createTestExecutionStepIssueLink`
158
+ - IterationData (supplements public API with iteration data)
159
+ - **Test Cycle**: `getTestCycleIteration`, `updateTestCycleIteration`
160
+ - **Test Execution**: `getTestExecutionIteration`, `updateTestExecutionIteration`
158
161
 
159
162
  ## Private API Authentication
160
163
 
@@ -274,6 +277,41 @@ const unarchivedIteration = await api.Private.Config.unarchiveConfig(credentials
274
277
  id: 10909775,
275
278
  projectId: 10233
276
279
  });
280
+
281
+ // Archive a test case status
282
+ const archivedTestCaseStatus = await api.Private.Config.archiveConfig(credentials, {
283
+ type: 'TestCaseStatus',
284
+ id: 10952238,
285
+ projectId: 10313
286
+ });
287
+
288
+ // Archive a test plan status
289
+ const archivedTestPlanStatus = await api.Private.Config.archiveConfig(credentials, {
290
+ type: 'TestPlanStatus',
291
+ id: 10952241,
292
+ projectId: 10313
293
+ });
294
+
295
+ // Archive a test cycle status
296
+ const archivedTestCycleStatus = await api.Private.Config.archiveConfig(credentials, {
297
+ type: 'TestCycleStatus',
298
+ id: 10952244,
299
+ projectId: 10313
300
+ });
301
+
302
+ // Archive a test execution status
303
+ const archivedTestExecutionStatus = await api.Private.Config.archiveConfig(credentials, {
304
+ type: 'TestExecutionStatus',
305
+ id: 10952247,
306
+ projectId: 10313
307
+ });
308
+
309
+ // Unarchive any status (same types supported)
310
+ const unarchivedStatus = await api.Private.Config.unarchiveConfig(credentials, {
311
+ type: 'TestCaseStatus',
312
+ id: 10952238,
313
+ projectId: 10313
314
+ });
277
315
  ```
278
316
 
279
317
  ### Example: Create Test Case Version
@@ -355,6 +393,68 @@ const stepLink = await api.Private.VersionControl.createTestExecutionStepIssueLi
355
393
  });
356
394
  ```
357
395
 
396
+ ### Example: Get and Set Iteration Data (Supplements Public API)
397
+
398
+ The public API does not support getting or setting iterations for Test Cycles and Test Executions. Use the `IterationData` sub-group to supplement public API calls with iteration data.
399
+
400
+ ```typescript
401
+ // === Test Cycle Iteration ===
402
+
403
+ // Create test cycle with public API
404
+ const testCycle = await api.TestCycle.createTestCycle({
405
+ projectKey: 'M12',
406
+ name: 'Sprint 1 Testing'
407
+ });
408
+
409
+ // Set iteration using private API (supplements createTestCycle)
410
+ await api.Private.IterationData.updateTestCycleIteration(credentials, {
411
+ testCycleKey: testCycle.key,
412
+ projectId: 10313,
413
+ iterationId: 10952254
414
+ });
415
+
416
+ // Get iteration data (supplements getTestCycle)
417
+ const testCycleIteration = await api.Private.IterationData.getTestCycleIteration(credentials, {
418
+ testCycleKey: 'M12-R1',
419
+ projectId: 10313
420
+ });
421
+ console.log('Test Cycle Iteration ID:', testCycleIteration.iterationId); // null if not set
422
+
423
+ // === Test Execution Iteration ===
424
+
425
+ // Create test execution with public API (returns void)
426
+ await api.TestExecution.createTestExecution({
427
+ projectKey: 'M12',
428
+ testCaseKey: 'M12-T1',
429
+ testCycleKey: 'M12-R1',
430
+ statusName: 'Pass'
431
+ });
432
+
433
+ // Note: createTestExecution returns no data, so you need to know the execution key
434
+ // or look it up using listTestExecutions() after creation
435
+
436
+ // Set iteration using private API (supplements createTestExecution)
437
+ await api.Private.IterationData.updateTestExecutionIteration(credentials, {
438
+ testExecutionKey: 'M12-E1', // Use known key or look up after creation
439
+ projectId: 10313,
440
+ iterationId: 10952254
441
+ });
442
+
443
+ // Get iteration data (supplements getTestExecution)
444
+ const testExecutionIteration = await api.Private.IterationData.getTestExecutionIteration(credentials, {
445
+ testExecutionKey: 'M12-E1',
446
+ projectId: 10313
447
+ });
448
+ console.log('Test Execution Iteration ID:', testExecutionIteration.iterationId); // null if not set
449
+
450
+ // Clear iteration by setting to null
451
+ await api.Private.IterationData.updateTestCycleIteration(credentials, {
452
+ testCycleKey: 'M12-R1',
453
+ projectId: 10313,
454
+ iterationId: null
455
+ });
456
+ ```
457
+
358
458
  **Note:** Version numbers are absolute (1-based: 1 = first version ever created, 2 = second version, etc. The highest number is the current/latest version). Use `listTestCaseVersions()` to find the total number of versions and identify the latest. If `version` is not provided, the latest version is used.
359
459
 
360
460
  **Important Notes:**
@@ -369,7 +469,19 @@ Feel free to drop ideas, suggestions or improvements into our [Community hub](ht
369
469
 
370
470
  ## Changelog
371
471
 
372
- ### 1.3.5
472
+ ### 1.3.7
473
+
474
+ - **Added**: New `IterationData` sub-group under Private API to supplement public API with iteration data
475
+ - **Added**: `getTestCycleIteration()` - Get iteration for a test cycle (supplements public `getTestCycle()`)
476
+ - **Added**: `updateTestCycleIteration()` - Set/clear iteration for a test cycle (supplements public `createTestCycle()`/`updateTestCycle()`)
477
+ - **Added**: `getTestExecutionIteration()` - Get iteration for a test execution (supplements public `getTestExecution()`)
478
+ - **Added**: `updateTestExecutionIteration()` - Set/clear iteration for a test execution (supplements public `createTestExecution()`/`updateTestExecution()`)
479
+ - **Added**: Support for archiving/unarchiving statuses in `archiveConfig()` and `unarchiveConfig()` methods
480
+ - **Added**: New config types: 'TestCaseStatus', 'TestPlanStatus', 'TestCycleStatus', 'TestExecutionStatus'
481
+ - **Changed**: `archiveConfig()` and `unarchiveConfig()` now support archiving statuses in addition to Environments and Iterations
482
+ - **Fixed**: `createTestExecution()` now correctly returns `Promise<void>` instead of `Promise<CreatedResource>`, matching the actual API response
483
+
484
+ ### 1.3.6
373
485
 
374
486
  - **Fixed**: Corrected return types for `createPriority()`, `createStatus()`, `createEnvironment()`, and `createFolder()` - these methods now correctly return `CreatedResource` (id and self) instead of full entity objects, matching the actual API response
375
487
 
package/dist/README.md CHANGED
@@ -141,8 +141,8 @@ const apiEU = createZephyrApi(
141
141
  - **Labels**: `getLabels`, `createLabel`
142
142
  - **Iterations**: `getIterations`, `createIteration`
143
143
  - **DataSets**: `getDataSets`, `createDataSet`, `updateDataSet`
144
- - **archiveConfig** - Archive an Environment or Iteration
145
- - **unarchiveConfig** - Unarchive an Environment or Iteration
144
+ - **archiveConfig** - Archive a config item (Environment, Iteration, or Status)
145
+ - **unarchiveConfig** - Unarchive a config item (Environment, Iteration, or Status)
146
146
  - Versions
147
147
  - **createTestCaseVersion** - Create a new test case version
148
148
  - Attachments
@@ -155,6 +155,9 @@ const apiEU = createZephyrApi(
155
155
  - VersionControl
156
156
  - **Test Case (version-specific)**: `getTestCaseIssueLinks`, `getTestCaseWebLinks`, `getTestCaseTestScript`, `getTestCaseTestSteps`
157
157
  - **Test Execution Step**: `getTestExecutionStepIssueLinks`, `createTestExecutionStepIssueLink`
158
+ - IterationData (supplements public API with iteration data)
159
+ - **Test Cycle**: `getTestCycleIteration`, `updateTestCycleIteration`
160
+ - **Test Execution**: `getTestExecutionIteration`, `updateTestExecutionIteration`
158
161
 
159
162
  ## Private API Authentication
160
163
 
@@ -274,6 +277,41 @@ const unarchivedIteration = await api.Private.Config.unarchiveConfig(credentials
274
277
  id: 10909775,
275
278
  projectId: 10233
276
279
  });
280
+
281
+ // Archive a test case status
282
+ const archivedTestCaseStatus = await api.Private.Config.archiveConfig(credentials, {
283
+ type: 'TestCaseStatus',
284
+ id: 10952238,
285
+ projectId: 10313
286
+ });
287
+
288
+ // Archive a test plan status
289
+ const archivedTestPlanStatus = await api.Private.Config.archiveConfig(credentials, {
290
+ type: 'TestPlanStatus',
291
+ id: 10952241,
292
+ projectId: 10313
293
+ });
294
+
295
+ // Archive a test cycle status
296
+ const archivedTestCycleStatus = await api.Private.Config.archiveConfig(credentials, {
297
+ type: 'TestCycleStatus',
298
+ id: 10952244,
299
+ projectId: 10313
300
+ });
301
+
302
+ // Archive a test execution status
303
+ const archivedTestExecutionStatus = await api.Private.Config.archiveConfig(credentials, {
304
+ type: 'TestExecutionStatus',
305
+ id: 10952247,
306
+ projectId: 10313
307
+ });
308
+
309
+ // Unarchive any status (same types supported)
310
+ const unarchivedStatus = await api.Private.Config.unarchiveConfig(credentials, {
311
+ type: 'TestCaseStatus',
312
+ id: 10952238,
313
+ projectId: 10313
314
+ });
277
315
  ```
278
316
 
279
317
  ### Example: Create Test Case Version
@@ -355,6 +393,68 @@ const stepLink = await api.Private.VersionControl.createTestExecutionStepIssueLi
355
393
  });
356
394
  ```
357
395
 
396
+ ### Example: Get and Set Iteration Data (Supplements Public API)
397
+
398
+ The public API does not support getting or setting iterations for Test Cycles and Test Executions. Use the `IterationData` sub-group to supplement public API calls with iteration data.
399
+
400
+ ```typescript
401
+ // === Test Cycle Iteration ===
402
+
403
+ // Create test cycle with public API
404
+ const testCycle = await api.TestCycle.createTestCycle({
405
+ projectKey: 'M12',
406
+ name: 'Sprint 1 Testing'
407
+ });
408
+
409
+ // Set iteration using private API (supplements createTestCycle)
410
+ await api.Private.IterationData.updateTestCycleIteration(credentials, {
411
+ testCycleKey: testCycle.key,
412
+ projectId: 10313,
413
+ iterationId: 10952254
414
+ });
415
+
416
+ // Get iteration data (supplements getTestCycle)
417
+ const testCycleIteration = await api.Private.IterationData.getTestCycleIteration(credentials, {
418
+ testCycleKey: 'M12-R1',
419
+ projectId: 10313
420
+ });
421
+ console.log('Test Cycle Iteration ID:', testCycleIteration.iterationId); // null if not set
422
+
423
+ // === Test Execution Iteration ===
424
+
425
+ // Create test execution with public API (returns void)
426
+ await api.TestExecution.createTestExecution({
427
+ projectKey: 'M12',
428
+ testCaseKey: 'M12-T1',
429
+ testCycleKey: 'M12-R1',
430
+ statusName: 'Pass'
431
+ });
432
+
433
+ // Note: createTestExecution returns no data, so you need to know the execution key
434
+ // or look it up using listTestExecutions() after creation
435
+
436
+ // Set iteration using private API (supplements createTestExecution)
437
+ await api.Private.IterationData.updateTestExecutionIteration(credentials, {
438
+ testExecutionKey: 'M12-E1', // Use known key or look up after creation
439
+ projectId: 10313,
440
+ iterationId: 10952254
441
+ });
442
+
443
+ // Get iteration data (supplements getTestExecution)
444
+ const testExecutionIteration = await api.Private.IterationData.getTestExecutionIteration(credentials, {
445
+ testExecutionKey: 'M12-E1',
446
+ projectId: 10313
447
+ });
448
+ console.log('Test Execution Iteration ID:', testExecutionIteration.iterationId); // null if not set
449
+
450
+ // Clear iteration by setting to null
451
+ await api.Private.IterationData.updateTestCycleIteration(credentials, {
452
+ testCycleKey: 'M12-R1',
453
+ projectId: 10313,
454
+ iterationId: null
455
+ });
456
+ ```
457
+
358
458
  **Note:** Version numbers are absolute (1-based: 1 = first version ever created, 2 = second version, etc. The highest number is the current/latest version). Use `listTestCaseVersions()` to find the total number of versions and identify the latest. If `version` is not provided, the latest version is used.
359
459
 
360
460
  **Important Notes:**
@@ -369,7 +469,19 @@ Feel free to drop ideas, suggestions or improvements into our [Community hub](ht
369
469
 
370
470
  ## Changelog
371
471
 
372
- ### 1.3.5
472
+ ### 1.3.7
473
+
474
+ - **Added**: New `IterationData` sub-group under Private API to supplement public API with iteration data
475
+ - **Added**: `getTestCycleIteration()` - Get iteration for a test cycle (supplements public `getTestCycle()`)
476
+ - **Added**: `updateTestCycleIteration()` - Set/clear iteration for a test cycle (supplements public `createTestCycle()`/`updateTestCycle()`)
477
+ - **Added**: `getTestExecutionIteration()` - Get iteration for a test execution (supplements public `getTestExecution()`)
478
+ - **Added**: `updateTestExecutionIteration()` - Set/clear iteration for a test execution (supplements public `createTestExecution()`/`updateTestExecution()`)
479
+ - **Added**: Support for archiving/unarchiving statuses in `archiveConfig()` and `unarchiveConfig()` methods
480
+ - **Added**: New config types: 'TestCaseStatus', 'TestPlanStatus', 'TestCycleStatus', 'TestExecutionStatus'
481
+ - **Changed**: `archiveConfig()` and `unarchiveConfig()` now support archiving statuses in addition to Environments and Iterations
482
+ - **Fixed**: `createTestExecution()` now correctly returns `Promise<void>` instead of `Promise<CreatedResource>`, matching the actual API response
483
+
484
+ ### 1.3.6
373
485
 
374
486
  - **Fixed**: Corrected return types for `createPriority()`, `createStatus()`, `createEnvironment()`, and `createFolder()` - these methods now correctly return `CreatedResource` (id and self) instead of full entity objects, matching the actual API response
375
487
 
@@ -50,7 +50,7 @@ export declare class AllGroup {
50
50
  get listTestExecutions(): (options?: import("../types").ListTestExecutionsOptions) => Promise<import("../types").TestExecutionList>;
51
51
  get listTestExecutionsNextgen(): (options?: import("../types").ListTestExecutionsNextgenOptions) => Promise<import("../types").CursorPagedTestExecutionList>;
52
52
  get getTestExecution(): (options: import("../types").GetTestExecutionOptions) => Promise<import("../types").TestExecution>;
53
- get createTestExecution(): (request: import("../types").CreateTestExecutionRequest) => Promise<import("../types").CreatedResource>;
53
+ get createTestExecution(): (request: import("../types").CreateTestExecutionRequest) => Promise<void>;
54
54
  get updateTestExecution(): (request: import("../types").UpdateTestExecutionRequest) => Promise<void>;
55
55
  get listTestExecutionLinks(): (testExecutionIdOrKey: string | number) => Promise<import("../types").TestExecutionLinkList>;
56
56
  get createTestExecutionIssueLink(): (request: import("../types").CreateTestExecutionIssueLinkRequest) => Promise<import("../types").CreatedResource>;
@@ -1 +1 @@
1
- {"version":3,"file":"All.d.ts","sourceRoot":"","sources":["../../groups/All.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"All.d.ts","sourceRoot":"","sources":["../../groups/All.ts"],"names":[],"mappings":"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"}
@@ -33,44 +33,60 @@ export declare class PrivateConfig extends PrivateBase {
33
33
  readonly DataSets: PrivateDataSets;
34
34
  constructor(apiConnection?: ZephyrApiConnection);
35
35
  /**
36
- * Archive a config item (Environment or Iteration) using private API
36
+ * Archive a config item using private API
37
37
  *
38
- * Archives an Environment or Iteration by setting its `isArchived` flag to `true`.
38
+ * Archives a config item (Environment, Iteration, or Status) by setting its `isArchived` flag to `true`.
39
+ *
40
+ * Supported config types:
41
+ * - 'Environment' - Archive an environment
42
+ * - 'Iteration' - Archive an iteration
43
+ * - 'TestCaseStatus' - Archive a test case status
44
+ * - 'TestPlanStatus' - Archive a test plan status
45
+ * - 'TestCycleStatus' - Archive a test cycle status
46
+ * - 'TestExecutionStatus' - Archive a test execution status
39
47
  *
40
48
  * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
41
49
  * The endpoint may change or be removed at any time without notice.
42
50
  *
43
51
  * @param credentials - Private API credentials
44
52
  * @param request - Archive config request
45
- * @param request.type - Type of config item: 'Environment' or 'Iteration'
46
- * @param request.id - Numeric ID of the environment or iteration to archive
53
+ * @param request.type - Type of config item: 'Environment', 'Iteration', 'TestCaseStatus', 'TestPlanStatus', 'TestCycleStatus', or 'TestExecutionStatus'
54
+ * @param request.id - Numeric ID of the config item to archive
47
55
  * @param request.projectId - Jira project ID (numeric, not the project key)
48
56
  * @returns Archive response with the ID of the archived item
49
57
  * @throws {BadRequestError} If the request is invalid
50
58
  * @throws {UnauthorizedError} If authentication fails
51
59
  * @throws {ForbiddenError} If the user doesn't have permission
52
- * @throws {NotFoundError} If the environment or iteration is not found
60
+ * @throws {NotFoundError} If the config item is not found
53
61
  * @throws {ServerError} If the server returns an error
54
62
  */
55
63
  archiveConfig(credentials: PrivateApiCredentials, request: ArchiveConfigRequest): Promise<ArchiveConfigResponse>;
56
64
  /**
57
- * Unarchive a config item (Environment or Iteration) using private API
65
+ * Unarchive a config item using private API
66
+ *
67
+ * Unarchives a config item (Environment, Iteration, or Status) by setting its `isArchived` flag to `false`.
58
68
  *
59
- * Unarchives an Environment or Iteration by setting its `isArchived` flag to `false`.
69
+ * Supported config types:
70
+ * - 'Environment' - Unarchive an environment
71
+ * - 'Iteration' - Unarchive an iteration
72
+ * - 'TestCaseStatus' - Unarchive a test case status
73
+ * - 'TestPlanStatus' - Unarchive a test plan status
74
+ * - 'TestCycleStatus' - Unarchive a test cycle status
75
+ * - 'TestExecutionStatus' - Unarchive a test execution status
60
76
  *
61
77
  * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
62
78
  * The endpoint may change or be removed at any time without notice.
63
79
  *
64
80
  * @param credentials - Private API credentials
65
81
  * @param request - Archive config request (same interface as archive, but sets isArchived to false)
66
- * @param request.type - Type of config item: 'Environment' or 'Iteration'
67
- * @param request.id - Numeric ID of the environment or iteration to unarchive
82
+ * @param request.type - Type of config item: 'Environment', 'Iteration', 'TestCaseStatus', 'TestPlanStatus', 'TestCycleStatus', or 'TestExecutionStatus'
83
+ * @param request.id - Numeric ID of the config item to unarchive
68
84
  * @param request.projectId - Jira project ID (numeric, not the project key)
69
85
  * @returns Archive response with the ID of the unarchived item
70
86
  * @throws {BadRequestError} If the request is invalid
71
87
  * @throws {UnauthorizedError} If authentication fails
72
88
  * @throws {ForbiddenError} If the user doesn't have permission
73
- * @throws {NotFoundError} If the environment or iteration is not found
89
+ * @throws {NotFoundError} If the config item is not found
74
90
  * @throws {ServerError} If the server returns an error
75
91
  */
76
92
  unarchiveConfig(credentials: PrivateApiCredentials, request: ArchiveConfigRequest): Promise<ArchiveConfigResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateConfig.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAErB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,qBAAa,aAAc,SAAQ,WAAW;IAC7C;;OAEG;IACH,SAAgB,YAAY,EAAE,mBAAmB,CAAC;IAElD;;OAEG;IACH,SAAgB,MAAM,EAAE,aAAa,CAAC;IAEtC;;OAEG;IACH,SAAgB,UAAU,EAAE,iBAAiB,CAAC;IAE9C;;OAEG;IACH,SAAgB,QAAQ,EAAE,eAAe,CAAC;gBAE9B,aAAa,CAAC,EAAE,mBAAmB;IAQ/C;;;;;;;;;;;;;;;;;;;OAmBG;IACG,aAAa,CAClB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,eAAe,CACpB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;OAEG;YACW,mBAAmB;CAuEjC"}
1
+ {"version":3,"file":"PrivateConfig.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAErB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,qBAAa,aAAc,SAAQ,WAAW;IAC7C;;OAEG;IACH,SAAgB,YAAY,EAAE,mBAAmB,CAAC;IAElD;;OAEG;IACH,SAAgB,MAAM,EAAE,aAAa,CAAC;IAEtC;;OAEG;IACH,SAAgB,UAAU,EAAE,iBAAiB,CAAC;IAE9C;;OAEG;IACH,SAAgB,QAAQ,EAAE,eAAe,CAAC;gBAE9B,aAAa,CAAC,EAAE,mBAAmB;IAQ/C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,aAAa,CAClB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,eAAe,CACpB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;OAEG;YACW,mBAAmB;CAgFjC"}
@@ -16,46 +16,62 @@ export class PrivateConfig extends PrivateBase {
16
16
  this.DataSets = new PrivateDataSets(apiConnection);
17
17
  }
18
18
  /**
19
- * Archive a config item (Environment or Iteration) using private API
19
+ * Archive a config item using private API
20
20
  *
21
- * Archives an Environment or Iteration by setting its `isArchived` flag to `true`.
21
+ * Archives a config item (Environment, Iteration, or Status) by setting its `isArchived` flag to `true`.
22
+ *
23
+ * Supported config types:
24
+ * - 'Environment' - Archive an environment
25
+ * - 'Iteration' - Archive an iteration
26
+ * - 'TestCaseStatus' - Archive a test case status
27
+ * - 'TestPlanStatus' - Archive a test plan status
28
+ * - 'TestCycleStatus' - Archive a test cycle status
29
+ * - 'TestExecutionStatus' - Archive a test execution status
22
30
  *
23
31
  * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
24
32
  * The endpoint may change or be removed at any time without notice.
25
33
  *
26
34
  * @param credentials - Private API credentials
27
35
  * @param request - Archive config request
28
- * @param request.type - Type of config item: 'Environment' or 'Iteration'
29
- * @param request.id - Numeric ID of the environment or iteration to archive
36
+ * @param request.type - Type of config item: 'Environment', 'Iteration', 'TestCaseStatus', 'TestPlanStatus', 'TestCycleStatus', or 'TestExecutionStatus'
37
+ * @param request.id - Numeric ID of the config item to archive
30
38
  * @param request.projectId - Jira project ID (numeric, not the project key)
31
39
  * @returns Archive response with the ID of the archived item
32
40
  * @throws {BadRequestError} If the request is invalid
33
41
  * @throws {UnauthorizedError} If authentication fails
34
42
  * @throws {ForbiddenError} If the user doesn't have permission
35
- * @throws {NotFoundError} If the environment or iteration is not found
43
+ * @throws {NotFoundError} If the config item is not found
36
44
  * @throws {ServerError} If the server returns an error
37
45
  */
38
46
  async archiveConfig(credentials, request) {
39
47
  return this.updateArchiveStatus(credentials, request, true);
40
48
  }
41
49
  /**
42
- * Unarchive a config item (Environment or Iteration) using private API
50
+ * Unarchive a config item using private API
51
+ *
52
+ * Unarchives a config item (Environment, Iteration, or Status) by setting its `isArchived` flag to `false`.
43
53
  *
44
- * Unarchives an Environment or Iteration by setting its `isArchived` flag to `false`.
54
+ * Supported config types:
55
+ * - 'Environment' - Unarchive an environment
56
+ * - 'Iteration' - Unarchive an iteration
57
+ * - 'TestCaseStatus' - Unarchive a test case status
58
+ * - 'TestPlanStatus' - Unarchive a test plan status
59
+ * - 'TestCycleStatus' - Unarchive a test cycle status
60
+ * - 'TestExecutionStatus' - Unarchive a test execution status
45
61
  *
46
62
  * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
47
63
  * The endpoint may change or be removed at any time without notice.
48
64
  *
49
65
  * @param credentials - Private API credentials
50
66
  * @param request - Archive config request (same interface as archive, but sets isArchived to false)
51
- * @param request.type - Type of config item: 'Environment' or 'Iteration'
52
- * @param request.id - Numeric ID of the environment or iteration to unarchive
67
+ * @param request.type - Type of config item: 'Environment', 'Iteration', 'TestCaseStatus', 'TestPlanStatus', 'TestCycleStatus', or 'TestExecutionStatus'
68
+ * @param request.id - Numeric ID of the config item to unarchive
53
69
  * @param request.projectId - Jira project ID (numeric, not the project key)
54
70
  * @returns Archive response with the ID of the unarchived item
55
71
  * @throws {BadRequestError} If the request is invalid
56
72
  * @throws {UnauthorizedError} If authentication fails
57
73
  * @throws {ForbiddenError} If the user doesn't have permission
58
- * @throws {NotFoundError} If the environment or iteration is not found
74
+ * @throws {NotFoundError} If the config item is not found
59
75
  * @throws {ServerError} If the server returns an error
60
76
  */
61
77
  async unarchiveConfig(credentials, request) {
@@ -67,8 +83,16 @@ export class PrivateConfig extends PrivateBase {
67
83
  async updateArchiveStatus(credentials, request, isArchived) {
68
84
  // Get Context JWT
69
85
  const contextJwt = await this.getContextJwt(credentials);
70
- // Determine endpoint based on type
71
- const endpoint = request.type.toLowerCase(); // 'environment' or 'iteration'
86
+ // Map config type to endpoint path
87
+ const endpointMap = {
88
+ Environment: 'environment',
89
+ Iteration: 'iteration',
90
+ TestCaseStatus: 'testcasestatus',
91
+ TestPlanStatus: 'testplanstatus',
92
+ TestCycleStatus: 'testrunstatus',
93
+ TestExecutionStatus: 'testresultstatus',
94
+ };
95
+ const endpoint = endpointMap[request.type];
72
96
  const url = `${this.privateApiBaseUrl}/${endpoint}/${request.id}`;
73
97
  const headers = {
74
98
  'Content-Type': 'application/json',
@@ -0,0 +1,157 @@
1
+ /*!
2
+ * Copyright Adaptavist 2025 (c) All rights reserved
3
+ */
4
+ /**
5
+ * Private API Iteration Data sub-group
6
+ * Supplements public API with iteration data for Test Cycles and Test Executions
7
+ *
8
+ * ⚠️ WARNING: These methods use private APIs that are not officially supported.
9
+ */
10
+ import type { PrivateApiCredentials, GetTestCycleIterationRequest, TestCycleIterationResponse, UpdateTestCycleIterationRequest, GetTestExecutionIterationRequest, TestExecutionIterationResponse, UpdateTestExecutionIterationRequest } from '../../types';
11
+ import type { ZephyrApiConnection } from '../../index';
12
+ import { PrivateBase } from './PrivateBase';
13
+ export declare class PrivateIterationData extends PrivateBase {
14
+ constructor(apiConnection?: ZephyrApiConnection);
15
+ /**
16
+ * Get test cycle iteration using private API
17
+ *
18
+ * Retrieves iteration data for a test cycle that is not available in the public API.
19
+ * Use this to supplement the public `getTestCycle()` response with iteration information.
20
+ *
21
+ * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
22
+ * The endpoint may change or be removed at any time without notice.
23
+ *
24
+ * @param credentials - Private API credentials
25
+ * @param request - Get test cycle iteration request
26
+ * @param request.testCycleKey - Test cycle key (e.g., "M12-R1")
27
+ * @param request.projectId - Jira project ID (numeric, not the project key)
28
+ * @returns Test cycle iteration response with iterationId (null if not set)
29
+ * @throws {BadRequestError} If the request is invalid
30
+ * @throws {UnauthorizedError} If authentication fails
31
+ * @throws {ForbiddenError} If the user doesn't have permission
32
+ * @throws {NotFoundError} If the test cycle is not found
33
+ * @throws {ServerError} If the server returns an error
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Get iteration for a test cycle (supplements public getTestCycle)
38
+ * const publicData = await api.TestCycle.getTestCycle({ key: 'M12-R1' });
39
+ * const iterationData = await api.Private.IterationData.getTestCycleIteration(credentials, {
40
+ * testCycleKey: 'M12-R1',
41
+ * projectId: 10313
42
+ * });
43
+ * console.log('Iteration ID:', iterationData.iterationId);
44
+ * ```
45
+ */
46
+ getTestCycleIteration(credentials: PrivateApiCredentials, request: GetTestCycleIterationRequest): Promise<TestCycleIterationResponse>;
47
+ /**
48
+ * Update test cycle iteration using private API
49
+ *
50
+ * Sets or clears the iteration for a test cycle. Use this to supplement
51
+ * a test cycle created via the public API with iteration data.
52
+ *
53
+ * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
54
+ * The endpoint may change or be removed at any time without notice.
55
+ *
56
+ * @param credentials - Private API credentials
57
+ * @param request - Update test cycle iteration request
58
+ * @param request.testCycleKey - Test cycle key (e.g., "M12-R1")
59
+ * @param request.projectId - Jira project ID (numeric, not the project key)
60
+ * @param request.iterationId - Iteration ID to set, or null to clear
61
+ * @throws {BadRequestError} If the request is invalid
62
+ * @throws {UnauthorizedError} If authentication fails
63
+ * @throws {ForbiddenError} If the user doesn't have permission
64
+ * @throws {NotFoundError} If the test cycle is not found
65
+ * @throws {ServerError} If the server returns an error
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * // Create test cycle with public API, then set iteration with private API
70
+ * const testCycle = await api.TestCycle.createTestCycle({
71
+ * projectKey: 'M12',
72
+ * name: 'Sprint 1 Testing'
73
+ * });
74
+ *
75
+ * // Set iteration using private API
76
+ * await api.Private.IterationData.updateTestCycleIteration(credentials, {
77
+ * testCycleKey: testCycle.key,
78
+ * projectId: 10313,
79
+ * iterationId: 10952254
80
+ * });
81
+ * ```
82
+ */
83
+ updateTestCycleIteration(credentials: PrivateApiCredentials, request: UpdateTestCycleIterationRequest): Promise<void>;
84
+ /**
85
+ * Get test execution iteration using private API
86
+ *
87
+ * Retrieves iteration data for a test execution that is not available in the public API.
88
+ * Use this to supplement the public `getTestExecution()` response with iteration information.
89
+ *
90
+ * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
91
+ * The endpoint may change or be removed at any time without notice.
92
+ *
93
+ * @param credentials - Private API credentials
94
+ * @param request - Get test execution iteration request
95
+ * @param request.testExecutionKey - Test execution key (e.g., "M12-E1")
96
+ * @param request.projectId - Jira project ID (numeric, not the project key)
97
+ * @returns Test execution iteration response with iterationId (null if not set)
98
+ * @throws {BadRequestError} If the request is invalid
99
+ * @throws {UnauthorizedError} If authentication fails
100
+ * @throws {ForbiddenError} If the user doesn't have permission
101
+ * @throws {NotFoundError} If the test execution is not found
102
+ * @throws {ServerError} If the server returns an error
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * // Get iteration for a test execution (supplements public getTestExecution)
107
+ * const publicData = await api.TestExecution.getTestExecution({ key: 'M12-E1' });
108
+ * const iterationData = await api.Private.IterationData.getTestExecutionIteration(credentials, {
109
+ * testExecutionKey: 'M12-E1',
110
+ * projectId: 10313
111
+ * });
112
+ * console.log('Iteration ID:', iterationData.iterationId);
113
+ * ```
114
+ */
115
+ getTestExecutionIteration(credentials: PrivateApiCredentials, request: GetTestExecutionIterationRequest): Promise<TestExecutionIterationResponse>;
116
+ /**
117
+ * Update test execution iteration using private API
118
+ *
119
+ * Sets or clears the iteration for a test execution. Use this to supplement
120
+ * a test execution created via the public API with iteration data.
121
+ *
122
+ * ⚠️ WARNING: This uses a private Zephyr API endpoint that is not officially supported.
123
+ * The endpoint may change or be removed at any time without notice.
124
+ *
125
+ * @param credentials - Private API credentials
126
+ * @param request - Update test execution iteration request
127
+ * @param request.testExecutionKey - Test execution key (e.g., "M12-E1")
128
+ * @param request.projectId - Jira project ID (numeric, not the project key)
129
+ * @param request.iterationId - Iteration ID to set, or null to clear
130
+ * @throws {BadRequestError} If the request is invalid
131
+ * @throws {UnauthorizedError} If authentication fails
132
+ * @throws {ForbiddenError} If the user doesn't have permission
133
+ * @throws {NotFoundError} If the test execution is not found
134
+ * @throws {ServerError} If the server returns an error
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * // Create test execution with public API (returns void), then set iteration with private API
139
+ * await api.TestExecution.createTestExecution({
140
+ * projectKey: 'M12',
141
+ * testCaseKey: 'M12-T1',
142
+ * testCycleKey: 'M12-R1',
143
+ * statusName: 'Pass'
144
+ * });
145
+ *
146
+ * // Note: createTestExecution returns no data, so use known key or look up after creation
147
+ * // Set iteration using private API
148
+ * await api.Private.IterationData.updateTestExecutionIteration(credentials, {
149
+ * testExecutionKey: 'M12-E1', // Use known key or look up via listTestExecutions()
150
+ * projectId: 10313,
151
+ * iterationId: 10952254
152
+ * });
153
+ * ```
154
+ */
155
+ updateTestExecutionIteration(credentials: PrivateApiCredentials, request: UpdateTestExecutionIterationRequest): Promise<void>;
156
+ }
157
+ //# sourceMappingURL=PrivateIterationData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivateIterationData.d.ts","sourceRoot":"","sources":["../../../groups/Private/PrivateIterationData.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EACX,qBAAqB,EACrB,4BAA4B,EAC5B,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,mCAAmC,EACnC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA8B5C,qBAAa,oBAAqB,SAAQ,WAAW;gBACxC,aAAa,CAAC,EAAE,mBAAmB;IAQ/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,qBAAqB,CAC1B,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,4BAA4B,GACnC,OAAO,CAAC,0BAA0B,CAAC;IAqEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,wBAAwB,CAC7B,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,+BAA+B,GACtC,OAAO,CAAC,IAAI,CAAC;IAgFhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,yBAAyB,CAC9B,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,gCAAgC,GACvC,OAAO,CAAC,8BAA8B,CAAC;IAqE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,4BAA4B,CACjC,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,mCAAmC,GAC1C,OAAO,CAAC,IAAI,CAAC;CA0EhB"}