@testcollab/sdk 3.10.0 → 3.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.openapi-generator/FILES +46 -0
- package/dist/apis/ProjectsApi.d.ts +5 -5
- package/dist/apis/ProjectsApi.js +1 -1
- package/dist/apis/ReleasesApi.d.ts +280 -0
- package/dist/apis/ReleasesApi.js +379 -0
- package/dist/apis/index.d.ts +1 -0
- package/dist/apis/index.js +1 -0
- package/dist/esm/apis/ProjectsApi.d.ts +5 -5
- package/dist/esm/apis/ProjectsApi.js +2 -2
- package/dist/esm/apis/ReleasesApi.d.ts +280 -0
- package/dist/esm/apis/ReleasesApi.js +375 -0
- package/dist/esm/apis/index.d.ts +1 -0
- package/dist/esm/apis/index.js +1 -0
- package/dist/esm/models/Activity.d.ts +9 -0
- package/dist/esm/models/Activity.js +6 -1
- package/dist/esm/models/ActivityAuditInfo.d.ts +44 -0
- package/dist/esm/models/ActivityAuditInfo.js +45 -0
- package/dist/esm/models/ProjectListItem.d.ts +93 -0
- package/dist/esm/models/ProjectListItem.js +72 -0
- package/dist/esm/models/Release.d.ts +131 -0
- package/dist/esm/models/Release.js +95 -0
- package/dist/esm/models/ReleaseGoNoGoThreshold.d.ts +45 -0
- package/dist/esm/models/ReleaseGoNoGoThreshold.js +45 -0
- package/dist/esm/models/ReleaseMinified.d.ts +67 -0
- package/dist/esm/models/ReleaseMinified.js +65 -0
- package/dist/esm/models/ReleasePayload.d.ts +98 -0
- package/dist/esm/models/ReleasePayload.js +75 -0
- package/dist/esm/models/ReleaseReadiness.d.ts +106 -0
- package/dist/esm/models/ReleaseReadiness.js +79 -0
- package/dist/esm/models/ReleaseReadinessComparison.d.ts +52 -0
- package/dist/esm/models/ReleaseReadinessComparison.js +47 -0
- package/dist/esm/models/ReleaseReadinessConfigurationCoverage.d.ts +84 -0
- package/dist/esm/models/ReleaseReadinessConfigurationCoverage.js +71 -0
- package/dist/esm/models/ReleaseReadinessCoverageItem.d.ts +75 -0
- package/dist/esm/models/ReleaseReadinessCoverageItem.js +65 -0
- package/dist/esm/models/ReleaseReadinessCustomFieldCoverage.d.ts +77 -0
- package/dist/esm/models/ReleaseReadinessCustomFieldCoverage.js +75 -0
- package/dist/esm/models/ReleaseReadinessCustomFieldGroup.d.ts +75 -0
- package/dist/esm/models/ReleaseReadinessCustomFieldGroup.js +69 -0
- package/dist/esm/models/ReleaseReadinessDefectSeverity.d.ts +38 -0
- package/dist/esm/models/ReleaseReadinessDefectSeverity.js +47 -0
- package/dist/esm/models/ReleaseReadinessDefects.d.ts +46 -0
- package/dist/esm/models/ReleaseReadinessDefects.js +52 -0
- package/dist/esm/models/ReleaseReadinessEvidence.d.ts +45 -0
- package/dist/esm/models/ReleaseReadinessEvidence.js +51 -0
- package/dist/esm/models/ReleaseReadinessRequirementCoverage.d.ts +41 -0
- package/dist/esm/models/ReleaseReadinessRequirementCoverage.js +48 -0
- package/dist/esm/models/ReleaseReadinessRequirementItem.d.ts +92 -0
- package/dist/esm/models/ReleaseReadinessRequirementItem.js +84 -0
- package/dist/esm/models/ReleaseReadinessRequirementSummary.d.ts +57 -0
- package/dist/esm/models/ReleaseReadinessRequirementSummary.js +59 -0
- package/dist/esm/models/ReleaseReadinessSummary.d.ts +70 -0
- package/dist/esm/models/ReleaseReadinessSummary.js +51 -0
- package/dist/esm/models/ReleaseReadinessTestPlan.d.ts +69 -0
- package/dist/esm/models/ReleaseReadinessTestPlan.js +68 -0
- package/dist/esm/models/ReleaseReadinessTestPlanRun.d.ts +51 -0
- package/dist/esm/models/ReleaseReadinessTestPlanRun.js +51 -0
- package/dist/esm/models/ReleaseReadinessVerdict.d.ts +50 -0
- package/dist/esm/models/ReleaseReadinessVerdict.js +56 -0
- package/dist/esm/models/StepWiseResult.d.ts +6 -0
- package/dist/esm/models/StepWiseResult.js +2 -0
- package/dist/esm/models/TestDatasetWiseResult.d.ts +6 -0
- package/dist/esm/models/TestDatasetWiseResult.js +2 -0
- package/dist/esm/models/TestPlan.d.ts +7 -0
- package/dist/esm/models/TestPlan.js +2 -0
- package/dist/esm/models/TestPlanBulkActionPayload.d.ts +6 -0
- package/dist/esm/models/TestPlanBulkActionPayload.js +2 -0
- package/dist/esm/models/TestPlanPayload.d.ts +6 -0
- package/dist/esm/models/TestPlanPayload.js +2 -0
- package/dist/esm/models/TraceabilityMatrixPayload.d.ts +7 -0
- package/dist/esm/models/TraceabilityMatrixPayload.js +2 -0
- package/dist/esm/models/index.d.ts +22 -0
- package/dist/esm/models/index.js +22 -0
- package/dist/models/Activity.d.ts +9 -0
- package/dist/models/Activity.js +6 -1
- package/dist/models/ActivityAuditInfo.d.ts +44 -0
- package/dist/models/ActivityAuditInfo.js +52 -0
- package/dist/models/ProjectListItem.d.ts +93 -0
- package/dist/models/ProjectListItem.js +79 -0
- package/dist/models/Release.d.ts +131 -0
- package/dist/models/Release.js +103 -0
- package/dist/models/ReleaseGoNoGoThreshold.d.ts +45 -0
- package/dist/models/ReleaseGoNoGoThreshold.js +52 -0
- package/dist/models/ReleaseMinified.d.ts +67 -0
- package/dist/models/ReleaseMinified.js +73 -0
- package/dist/models/ReleasePayload.d.ts +98 -0
- package/dist/models/ReleasePayload.js +83 -0
- package/dist/models/ReleaseReadiness.d.ts +106 -0
- package/dist/models/ReleaseReadiness.js +86 -0
- package/dist/models/ReleaseReadinessComparison.d.ts +52 -0
- package/dist/models/ReleaseReadinessComparison.js +54 -0
- package/dist/models/ReleaseReadinessConfigurationCoverage.d.ts +84 -0
- package/dist/models/ReleaseReadinessConfigurationCoverage.js +78 -0
- package/dist/models/ReleaseReadinessCoverageItem.d.ts +75 -0
- package/dist/models/ReleaseReadinessCoverageItem.js +72 -0
- package/dist/models/ReleaseReadinessCustomFieldCoverage.d.ts +77 -0
- package/dist/models/ReleaseReadinessCustomFieldCoverage.js +83 -0
- package/dist/models/ReleaseReadinessCustomFieldGroup.d.ts +75 -0
- package/dist/models/ReleaseReadinessCustomFieldGroup.js +76 -0
- package/dist/models/ReleaseReadinessDefectSeverity.d.ts +38 -0
- package/dist/models/ReleaseReadinessDefectSeverity.js +54 -0
- package/dist/models/ReleaseReadinessDefects.d.ts +46 -0
- package/dist/models/ReleaseReadinessDefects.js +59 -0
- package/dist/models/ReleaseReadinessEvidence.d.ts +45 -0
- package/dist/models/ReleaseReadinessEvidence.js +58 -0
- package/dist/models/ReleaseReadinessRequirementCoverage.d.ts +41 -0
- package/dist/models/ReleaseReadinessRequirementCoverage.js +55 -0
- package/dist/models/ReleaseReadinessRequirementItem.d.ts +92 -0
- package/dist/models/ReleaseReadinessRequirementItem.js +92 -0
- package/dist/models/ReleaseReadinessRequirementSummary.d.ts +57 -0
- package/dist/models/ReleaseReadinessRequirementSummary.js +66 -0
- package/dist/models/ReleaseReadinessSummary.d.ts +70 -0
- package/dist/models/ReleaseReadinessSummary.js +58 -0
- package/dist/models/ReleaseReadinessTestPlan.d.ts +69 -0
- package/dist/models/ReleaseReadinessTestPlan.js +76 -0
- package/dist/models/ReleaseReadinessTestPlanRun.d.ts +51 -0
- package/dist/models/ReleaseReadinessTestPlanRun.js +58 -0
- package/dist/models/ReleaseReadinessVerdict.d.ts +50 -0
- package/dist/models/ReleaseReadinessVerdict.js +64 -0
- package/dist/models/StepWiseResult.d.ts +6 -0
- package/dist/models/StepWiseResult.js +2 -0
- package/dist/models/TestDatasetWiseResult.d.ts +6 -0
- package/dist/models/TestDatasetWiseResult.js +2 -0
- package/dist/models/TestPlan.d.ts +7 -0
- package/dist/models/TestPlan.js +2 -0
- package/dist/models/TestPlanBulkActionPayload.d.ts +6 -0
- package/dist/models/TestPlanBulkActionPayload.js +2 -0
- package/dist/models/TestPlanPayload.d.ts +6 -0
- package/dist/models/TestPlanPayload.js +2 -0
- package/dist/models/TraceabilityMatrixPayload.d.ts +7 -0
- package/dist/models/TraceabilityMatrixPayload.js +2 -0
- package/dist/models/index.d.ts +22 -0
- package/dist/models/index.js +22 -0
- package/docs/Activity.md +2 -0
- package/docs/ActivityAuditInfo.md +39 -0
- package/docs/ProjectListItem.md +54 -0
- package/docs/ProjectsApi.md +2 -2
- package/docs/Release.md +62 -0
- package/docs/ReleaseGoNoGoThreshold.md +39 -0
- package/docs/ReleaseMinified.md +42 -0
- package/docs/ReleasePayload.md +52 -0
- package/docs/ReleaseReadiness.md +55 -0
- package/docs/ReleaseReadinessComparison.md +41 -0
- package/docs/ReleaseReadinessConfigurationCoverage.md +51 -0
- package/docs/ReleaseReadinessCoverageItem.md +49 -0
- package/docs/ReleaseReadinessCustomFieldCoverage.md +43 -0
- package/docs/ReleaseReadinessCustomFieldGroup.md +49 -0
- package/docs/ReleaseReadinessDefectSeverity.md +36 -0
- package/docs/ReleaseReadinessDefects.md +39 -0
- package/docs/ReleaseReadinessEvidence.md +39 -0
- package/docs/ReleaseReadinessRequirementCoverage.md +37 -0
- package/docs/ReleaseReadinessRequirementItem.md +51 -0
- package/docs/ReleaseReadinessRequirementSummary.md +43 -0
- package/docs/ReleaseReadinessSummary.md +47 -0
- package/docs/ReleaseReadinessTestPlan.md +43 -0
- package/docs/ReleaseReadinessTestPlanRun.md +41 -0
- package/docs/ReleaseReadinessVerdict.md +37 -0
- package/docs/ReleasesApi.md +655 -0
- package/docs/StepWiseResult.md +2 -0
- package/docs/TestDatasetWiseResult.md +2 -0
- package/docs/TestPlan.md +2 -0
- package/docs/TestPlanBulkActionPayload.md +2 -0
- package/docs/TestPlanPayload.md +2 -0
- package/docs/TraceabilityMatrixPayload.md +2 -0
- package/package.json +1 -1
- package/src/apis/ProjectsApi.ts +8 -5
- package/src/apis/ReleasesApi.ts +663 -0
- package/src/apis/index.ts +1 -0
- package/src/models/Activity.ts +18 -1
- package/src/models/ActivityAuditInfo.ts +81 -0
- package/src/models/ProjectListItem.ts +158 -0
- package/src/models/Release.ts +227 -0
- package/src/models/ReleaseGoNoGoThreshold.ts +82 -0
- package/src/models/ReleaseMinified.ts +114 -0
- package/src/models/ReleasePayload.ts +162 -0
- package/src/models/ReleaseReadiness.ts +233 -0
- package/src/models/ReleaseReadinessComparison.ts +98 -0
- package/src/models/ReleaseReadinessConfigurationCoverage.ts +138 -0
- package/src/models/ReleaseReadinessCoverageItem.ts +127 -0
- package/src/models/ReleaseReadinessCustomFieldCoverage.ts +133 -0
- package/src/models/ReleaseReadinessCustomFieldGroup.ts +129 -0
- package/src/models/ReleaseReadinessDefectSeverity.ts +75 -0
- package/src/models/ReleaseReadinessDefects.ts +93 -0
- package/src/models/ReleaseReadinessEvidence.ts +85 -0
- package/src/models/ReleaseReadinessRequirementCoverage.ts +91 -0
- package/src/models/ReleaseReadinessRequirementItem.ts +153 -0
- package/src/models/ReleaseReadinessRequirementSummary.ts +103 -0
- package/src/models/ReleaseReadinessSummary.ts +124 -0
- package/src/models/ReleaseReadinessTestPlan.ts +131 -0
- package/src/models/ReleaseReadinessTestPlanRun.ts +92 -0
- package/src/models/ReleaseReadinessVerdict.ts +90 -0
- package/src/models/StepWiseResult.ts +8 -0
- package/src/models/TestDatasetWiseResult.ts +8 -0
- package/src/models/TestPlan.ts +15 -0
- package/src/models/TestPlanBulkActionPayload.ts +8 -0
- package/src/models/TestPlanPayload.ts +8 -0
- package/src/models/TraceabilityMatrixPayload.ts +9 -0
- package/src/models/index.ts +22 -0
|
@@ -0,0 +1,655 @@
|
|
|
1
|
+
# ReleasesApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://api.testcollab.io*
|
|
4
|
+
|
|
5
|
+
| Method | HTTP request | Description |
|
|
6
|
+
|------------- | ------------- | -------------|
|
|
7
|
+
| [**addRelease**](ReleasesApi.md#addrelease) | **POST** /releases | Create a release |
|
|
8
|
+
| [**countReleases**](ReleasesApi.md#countreleases) | **GET** /releases/count | Count releases |
|
|
9
|
+
| [**deleteRelease**](ReleasesApi.md#deleterelease) | **DELETE** /releases/{id} | Delete a release |
|
|
10
|
+
| [**editRelease**](ReleasesApi.md#editrelease) | **PUT** /releases/{id} | Edit a release |
|
|
11
|
+
| [**getRelease**](ReleasesApi.md#getrelease) | **GET** /releases/{id} | Get release |
|
|
12
|
+
| [**getReleaseReadiness**](ReleasesApi.md#getreleasereadiness) | **GET** /releases/{id}/readiness | Get release readiness dashboard data |
|
|
13
|
+
| [**getReleaseReadinessByToken**](ReleasesApi.md#getreleasereadinessbytoken) | **GET** /releases/readiness/{token} | Get release readiness by public token |
|
|
14
|
+
| [**getReleases**](ReleasesApi.md#getreleases) | **GET** /releases | Get releases |
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## addRelease
|
|
19
|
+
|
|
20
|
+
> ReleaseMinified addRelease(releasePayload)
|
|
21
|
+
|
|
22
|
+
Create a release
|
|
23
|
+
|
|
24
|
+
Creates a new release
|
|
25
|
+
|
|
26
|
+
### Example
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import {
|
|
30
|
+
Configuration,
|
|
31
|
+
ReleasesApi,
|
|
32
|
+
} from '@testcollab/sdk';
|
|
33
|
+
import type { AddReleaseRequest } from '@testcollab/sdk';
|
|
34
|
+
|
|
35
|
+
async function example() {
|
|
36
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
37
|
+
const config = new Configuration({
|
|
38
|
+
// To configure API key authorization: ApiKeyAuth
|
|
39
|
+
apiKey: "YOUR API KEY",
|
|
40
|
+
// To configure API key authorization: bearerAuth
|
|
41
|
+
apiKey: "YOUR API KEY",
|
|
42
|
+
});
|
|
43
|
+
const api = new ReleasesApi(config);
|
|
44
|
+
|
|
45
|
+
const body = {
|
|
46
|
+
// ReleasePayload | Release to create (optional)
|
|
47
|
+
releasePayload: ...,
|
|
48
|
+
} satisfies AddReleaseRequest;
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
const data = await api.addRelease(body);
|
|
52
|
+
console.log(data);
|
|
53
|
+
} catch (error) {
|
|
54
|
+
console.error(error);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Run the test
|
|
59
|
+
example().catch(console.error);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Parameters
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
| Name | Type | Description | Notes |
|
|
66
|
+
|------------- | ------------- | ------------- | -------------|
|
|
67
|
+
| **releasePayload** | [ReleasePayload](ReleasePayload.md) | Release to create | [Optional] |
|
|
68
|
+
|
|
69
|
+
### Return type
|
|
70
|
+
|
|
71
|
+
[**ReleaseMinified**](ReleaseMinified.md)
|
|
72
|
+
|
|
73
|
+
### Authorization
|
|
74
|
+
|
|
75
|
+
[ApiKeyAuth](../README.md#ApiKeyAuth), [bearerAuth](../README.md#bearerAuth)
|
|
76
|
+
|
|
77
|
+
### HTTP request headers
|
|
78
|
+
|
|
79
|
+
- **Content-Type**: `application/json`
|
|
80
|
+
- **Accept**: `application/json`, `text/plain`
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### HTTP response details
|
|
84
|
+
| Status code | Description | Response headers |
|
|
85
|
+
|-------------|-------------|------------------|
|
|
86
|
+
| **200** | Created release | - |
|
|
87
|
+
| **400** | Bad input parameter | - |
|
|
88
|
+
| **401** | Unauthorized | - |
|
|
89
|
+
| **403** | Forbidden | - |
|
|
90
|
+
| **500** | Internal server error | - |
|
|
91
|
+
| **0** | Unexpected error | - |
|
|
92
|
+
|
|
93
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## countReleases
|
|
97
|
+
|
|
98
|
+
> Count countReleases(project, status)
|
|
99
|
+
|
|
100
|
+
Count releases
|
|
101
|
+
|
|
102
|
+
Get count of releases for a specific project
|
|
103
|
+
|
|
104
|
+
### Example
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
import {
|
|
108
|
+
Configuration,
|
|
109
|
+
ReleasesApi,
|
|
110
|
+
} from '@testcollab/sdk';
|
|
111
|
+
import type { CountReleasesRequest } from '@testcollab/sdk';
|
|
112
|
+
|
|
113
|
+
async function example() {
|
|
114
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
115
|
+
const config = new Configuration({
|
|
116
|
+
// To configure API key authorization: ApiKeyAuth
|
|
117
|
+
apiKey: "YOUR API KEY",
|
|
118
|
+
// To configure API key authorization: bearerAuth
|
|
119
|
+
apiKey: "YOUR API KEY",
|
|
120
|
+
});
|
|
121
|
+
const api = new ReleasesApi(config);
|
|
122
|
+
|
|
123
|
+
const body = {
|
|
124
|
+
// number | Project ID
|
|
125
|
+
project: 1,
|
|
126
|
+
// 'planned' | 'in_progress' | 'ready' | 'shipped' | 'blocked' | Filter by release status (optional)
|
|
127
|
+
status: status_example,
|
|
128
|
+
} satisfies CountReleasesRequest;
|
|
129
|
+
|
|
130
|
+
try {
|
|
131
|
+
const data = await api.countReleases(body);
|
|
132
|
+
console.log(data);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error(error);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Run the test
|
|
139
|
+
example().catch(console.error);
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Parameters
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
| Name | Type | Description | Notes |
|
|
146
|
+
|------------- | ------------- | ------------- | -------------|
|
|
147
|
+
| **project** | `number` | Project ID | [Defaults to `undefined`] |
|
|
148
|
+
| **status** | `planned`, `in_progress`, `ready`, `shipped`, `blocked` | Filter by release status | [Optional] [Defaults to `undefined`] [Enum: planned, in_progress, ready, shipped, blocked] |
|
|
149
|
+
|
|
150
|
+
### Return type
|
|
151
|
+
|
|
152
|
+
[**Count**](Count.md)
|
|
153
|
+
|
|
154
|
+
### Authorization
|
|
155
|
+
|
|
156
|
+
[ApiKeyAuth](../README.md#ApiKeyAuth), [bearerAuth](../README.md#bearerAuth)
|
|
157
|
+
|
|
158
|
+
### HTTP request headers
|
|
159
|
+
|
|
160
|
+
- **Content-Type**: Not defined
|
|
161
|
+
- **Accept**: `application/json`, `text/plain`
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
### HTTP response details
|
|
165
|
+
| Status code | Description | Response headers |
|
|
166
|
+
|-------------|-------------|------------------|
|
|
167
|
+
| **200** | Count of releases | - |
|
|
168
|
+
| **401** | Unauthorized | - |
|
|
169
|
+
| **403** | Forbidden | - |
|
|
170
|
+
| **500** | Internal server error | - |
|
|
171
|
+
| **0** | Unexpected error | - |
|
|
172
|
+
|
|
173
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
## deleteRelease
|
|
177
|
+
|
|
178
|
+
> object deleteRelease(id, project)
|
|
179
|
+
|
|
180
|
+
Delete a release
|
|
181
|
+
|
|
182
|
+
Deletes a specific release. Does not delete associated test plans.
|
|
183
|
+
|
|
184
|
+
### Example
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
import {
|
|
188
|
+
Configuration,
|
|
189
|
+
ReleasesApi,
|
|
190
|
+
} from '@testcollab/sdk';
|
|
191
|
+
import type { DeleteReleaseRequest } from '@testcollab/sdk';
|
|
192
|
+
|
|
193
|
+
async function example() {
|
|
194
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
195
|
+
const config = new Configuration({
|
|
196
|
+
// To configure API key authorization: ApiKeyAuth
|
|
197
|
+
apiKey: "YOUR API KEY",
|
|
198
|
+
// To configure API key authorization: bearerAuth
|
|
199
|
+
apiKey: "YOUR API KEY",
|
|
200
|
+
});
|
|
201
|
+
const api = new ReleasesApi(config);
|
|
202
|
+
|
|
203
|
+
const body = {
|
|
204
|
+
// number | Release ID
|
|
205
|
+
id: 1,
|
|
206
|
+
// number | Project ID
|
|
207
|
+
project: 8.14,
|
|
208
|
+
} satisfies DeleteReleaseRequest;
|
|
209
|
+
|
|
210
|
+
try {
|
|
211
|
+
const data = await api.deleteRelease(body);
|
|
212
|
+
console.log(data);
|
|
213
|
+
} catch (error) {
|
|
214
|
+
console.error(error);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// Run the test
|
|
219
|
+
example().catch(console.error);
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Parameters
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
| Name | Type | Description | Notes |
|
|
226
|
+
|------------- | ------------- | ------------- | -------------|
|
|
227
|
+
| **id** | `number` | Release ID | [Defaults to `undefined`] |
|
|
228
|
+
| **project** | `number` | Project ID | [Defaults to `undefined`] |
|
|
229
|
+
|
|
230
|
+
### Return type
|
|
231
|
+
|
|
232
|
+
**object**
|
|
233
|
+
|
|
234
|
+
### Authorization
|
|
235
|
+
|
|
236
|
+
[ApiKeyAuth](../README.md#ApiKeyAuth), [bearerAuth](../README.md#bearerAuth)
|
|
237
|
+
|
|
238
|
+
### HTTP request headers
|
|
239
|
+
|
|
240
|
+
- **Content-Type**: Not defined
|
|
241
|
+
- **Accept**: `application/json`, `text/plain`
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
### HTTP response details
|
|
245
|
+
| Status code | Description | Response headers |
|
|
246
|
+
|-------------|-------------|------------------|
|
|
247
|
+
| **200** | Action status details | - |
|
|
248
|
+
| **401** | Unauthorized | - |
|
|
249
|
+
| **403** | Forbidden | - |
|
|
250
|
+
| **404** | Not found | - |
|
|
251
|
+
| **500** | Internal server error | - |
|
|
252
|
+
| **0** | Unexpected error | - |
|
|
253
|
+
|
|
254
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
## editRelease
|
|
258
|
+
|
|
259
|
+
> ReleaseMinified editRelease(id, releasePayload)
|
|
260
|
+
|
|
261
|
+
Edit a release
|
|
262
|
+
|
|
263
|
+
Edits a specific release
|
|
264
|
+
|
|
265
|
+
### Example
|
|
266
|
+
|
|
267
|
+
```ts
|
|
268
|
+
import {
|
|
269
|
+
Configuration,
|
|
270
|
+
ReleasesApi,
|
|
271
|
+
} from '@testcollab/sdk';
|
|
272
|
+
import type { EditReleaseRequest } from '@testcollab/sdk';
|
|
273
|
+
|
|
274
|
+
async function example() {
|
|
275
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
276
|
+
const config = new Configuration({
|
|
277
|
+
// To configure API key authorization: ApiKeyAuth
|
|
278
|
+
apiKey: "YOUR API KEY",
|
|
279
|
+
// To configure API key authorization: bearerAuth
|
|
280
|
+
apiKey: "YOUR API KEY",
|
|
281
|
+
});
|
|
282
|
+
const api = new ReleasesApi(config);
|
|
283
|
+
|
|
284
|
+
const body = {
|
|
285
|
+
// number | Release ID
|
|
286
|
+
id: 1,
|
|
287
|
+
// ReleasePayload | Updated release data (optional)
|
|
288
|
+
releasePayload: ...,
|
|
289
|
+
} satisfies EditReleaseRequest;
|
|
290
|
+
|
|
291
|
+
try {
|
|
292
|
+
const data = await api.editRelease(body);
|
|
293
|
+
console.log(data);
|
|
294
|
+
} catch (error) {
|
|
295
|
+
console.error(error);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Run the test
|
|
300
|
+
example().catch(console.error);
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Parameters
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
| Name | Type | Description | Notes |
|
|
307
|
+
|------------- | ------------- | ------------- | -------------|
|
|
308
|
+
| **id** | `number` | Release ID | [Defaults to `undefined`] |
|
|
309
|
+
| **releasePayload** | [ReleasePayload](ReleasePayload.md) | Updated release data | [Optional] |
|
|
310
|
+
|
|
311
|
+
### Return type
|
|
312
|
+
|
|
313
|
+
[**ReleaseMinified**](ReleaseMinified.md)
|
|
314
|
+
|
|
315
|
+
### Authorization
|
|
316
|
+
|
|
317
|
+
[ApiKeyAuth](../README.md#ApiKeyAuth), [bearerAuth](../README.md#bearerAuth)
|
|
318
|
+
|
|
319
|
+
### HTTP request headers
|
|
320
|
+
|
|
321
|
+
- **Content-Type**: `application/json`
|
|
322
|
+
- **Accept**: `application/json`, `text/plain`
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
### HTTP response details
|
|
326
|
+
| Status code | Description | Response headers |
|
|
327
|
+
|-------------|-------------|------------------|
|
|
328
|
+
| **200** | Updated release | - |
|
|
329
|
+
| **401** | Unauthorized | - |
|
|
330
|
+
| **403** | Forbidden | - |
|
|
331
|
+
| **404** | Not found | - |
|
|
332
|
+
| **500** | Internal server error | - |
|
|
333
|
+
| **0** | Unexpected error | - |
|
|
334
|
+
|
|
335
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
## getRelease
|
|
339
|
+
|
|
340
|
+
> Release getRelease(id)
|
|
341
|
+
|
|
342
|
+
Get release
|
|
343
|
+
|
|
344
|
+
Get details of a specific release
|
|
345
|
+
|
|
346
|
+
### Example
|
|
347
|
+
|
|
348
|
+
```ts
|
|
349
|
+
import {
|
|
350
|
+
Configuration,
|
|
351
|
+
ReleasesApi,
|
|
352
|
+
} from '@testcollab/sdk';
|
|
353
|
+
import type { GetReleaseRequest } from '@testcollab/sdk';
|
|
354
|
+
|
|
355
|
+
async function example() {
|
|
356
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
357
|
+
const config = new Configuration({
|
|
358
|
+
// To configure API key authorization: ApiKeyAuth
|
|
359
|
+
apiKey: "YOUR API KEY",
|
|
360
|
+
// To configure API key authorization: bearerAuth
|
|
361
|
+
apiKey: "YOUR API KEY",
|
|
362
|
+
});
|
|
363
|
+
const api = new ReleasesApi(config);
|
|
364
|
+
|
|
365
|
+
const body = {
|
|
366
|
+
// number | Release ID
|
|
367
|
+
id: 1,
|
|
368
|
+
} satisfies GetReleaseRequest;
|
|
369
|
+
|
|
370
|
+
try {
|
|
371
|
+
const data = await api.getRelease(body);
|
|
372
|
+
console.log(data);
|
|
373
|
+
} catch (error) {
|
|
374
|
+
console.error(error);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Run the test
|
|
379
|
+
example().catch(console.error);
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
### Parameters
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
| Name | Type | Description | Notes |
|
|
386
|
+
|------------- | ------------- | ------------- | -------------|
|
|
387
|
+
| **id** | `number` | Release ID | [Defaults to `undefined`] |
|
|
388
|
+
|
|
389
|
+
### Return type
|
|
390
|
+
|
|
391
|
+
[**Release**](Release.md)
|
|
392
|
+
|
|
393
|
+
### Authorization
|
|
394
|
+
|
|
395
|
+
[ApiKeyAuth](../README.md#ApiKeyAuth), [bearerAuth](../README.md#bearerAuth)
|
|
396
|
+
|
|
397
|
+
### HTTP request headers
|
|
398
|
+
|
|
399
|
+
- **Content-Type**: Not defined
|
|
400
|
+
- **Accept**: `application/json`, `text/plain`
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
### HTTP response details
|
|
404
|
+
| Status code | Description | Response headers |
|
|
405
|
+
|-------------|-------------|------------------|
|
|
406
|
+
| **200** | Release details | - |
|
|
407
|
+
| **401** | Unauthorized | - |
|
|
408
|
+
| **403** | Forbidden | - |
|
|
409
|
+
| **404** | Not found | - |
|
|
410
|
+
| **500** | Internal server error | - |
|
|
411
|
+
| **0** | Unexpected error | - |
|
|
412
|
+
|
|
413
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
## getReleaseReadiness
|
|
417
|
+
|
|
418
|
+
> ReleaseReadiness getReleaseReadiness(id)
|
|
419
|
+
|
|
420
|
+
Get release readiness dashboard data
|
|
421
|
+
|
|
422
|
+
Returns aggregated readiness data for a release including execution summary, open defects, coverage by suite, evidence metrics, comparison to previous release, and a computed Go/No-Go verdict. Uses the latest run (regression) of each test plan in the release.
|
|
423
|
+
|
|
424
|
+
### Example
|
|
425
|
+
|
|
426
|
+
```ts
|
|
427
|
+
import {
|
|
428
|
+
Configuration,
|
|
429
|
+
ReleasesApi,
|
|
430
|
+
} from '@testcollab/sdk';
|
|
431
|
+
import type { GetReleaseReadinessRequest } from '@testcollab/sdk';
|
|
432
|
+
|
|
433
|
+
async function example() {
|
|
434
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
435
|
+
const config = new Configuration({
|
|
436
|
+
// To configure API key authorization: ApiKeyAuth
|
|
437
|
+
apiKey: "YOUR API KEY",
|
|
438
|
+
// To configure API key authorization: bearerAuth
|
|
439
|
+
apiKey: "YOUR API KEY",
|
|
440
|
+
});
|
|
441
|
+
const api = new ReleasesApi(config);
|
|
442
|
+
|
|
443
|
+
const body = {
|
|
444
|
+
// number | Release ID
|
|
445
|
+
id: 1,
|
|
446
|
+
} satisfies GetReleaseReadinessRequest;
|
|
447
|
+
|
|
448
|
+
try {
|
|
449
|
+
const data = await api.getReleaseReadiness(body);
|
|
450
|
+
console.log(data);
|
|
451
|
+
} catch (error) {
|
|
452
|
+
console.error(error);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
// Run the test
|
|
457
|
+
example().catch(console.error);
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Parameters
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
| Name | Type | Description | Notes |
|
|
464
|
+
|------------- | ------------- | ------------- | -------------|
|
|
465
|
+
| **id** | `number` | Release ID | [Defaults to `undefined`] |
|
|
466
|
+
|
|
467
|
+
### Return type
|
|
468
|
+
|
|
469
|
+
[**ReleaseReadiness**](ReleaseReadiness.md)
|
|
470
|
+
|
|
471
|
+
### Authorization
|
|
472
|
+
|
|
473
|
+
[ApiKeyAuth](../README.md#ApiKeyAuth), [bearerAuth](../README.md#bearerAuth)
|
|
474
|
+
|
|
475
|
+
### HTTP request headers
|
|
476
|
+
|
|
477
|
+
- **Content-Type**: Not defined
|
|
478
|
+
- **Accept**: `application/json`, `text/plain`
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
### HTTP response details
|
|
482
|
+
| Status code | Description | Response headers |
|
|
483
|
+
|-------------|-------------|------------------|
|
|
484
|
+
| **200** | Release readiness dashboard data | - |
|
|
485
|
+
| **401** | Unauthorized | - |
|
|
486
|
+
| **403** | Forbidden | - |
|
|
487
|
+
| **404** | Not found | - |
|
|
488
|
+
| **500** | Internal server error | - |
|
|
489
|
+
| **0** | Unexpected error | - |
|
|
490
|
+
|
|
491
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
## getReleaseReadinessByToken
|
|
495
|
+
|
|
496
|
+
> ReleaseReadiness getReleaseReadinessByToken(token)
|
|
497
|
+
|
|
498
|
+
Get release readiness by public token
|
|
499
|
+
|
|
500
|
+
Public endpoint (no authentication required). Returns the same readiness data as the authenticated endpoint, looked up by the release\'s public_token. Only works if is_public is true on the release.
|
|
501
|
+
|
|
502
|
+
### Example
|
|
503
|
+
|
|
504
|
+
```ts
|
|
505
|
+
import {
|
|
506
|
+
Configuration,
|
|
507
|
+
ReleasesApi,
|
|
508
|
+
} from '@testcollab/sdk';
|
|
509
|
+
import type { GetReleaseReadinessByTokenRequest } from '@testcollab/sdk';
|
|
510
|
+
|
|
511
|
+
async function example() {
|
|
512
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
513
|
+
const api = new ReleasesApi();
|
|
514
|
+
|
|
515
|
+
const body = {
|
|
516
|
+
// string | Public sharing token for the release
|
|
517
|
+
token: a1b2c3d4-e5f6-7890-abcd-ef1234567890,
|
|
518
|
+
} satisfies GetReleaseReadinessByTokenRequest;
|
|
519
|
+
|
|
520
|
+
try {
|
|
521
|
+
const data = await api.getReleaseReadinessByToken(body);
|
|
522
|
+
console.log(data);
|
|
523
|
+
} catch (error) {
|
|
524
|
+
console.error(error);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
// Run the test
|
|
529
|
+
example().catch(console.error);
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### Parameters
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
| Name | Type | Description | Notes |
|
|
536
|
+
|------------- | ------------- | ------------- | -------------|
|
|
537
|
+
| **token** | `string` | Public sharing token for the release | [Defaults to `undefined`] |
|
|
538
|
+
|
|
539
|
+
### Return type
|
|
540
|
+
|
|
541
|
+
[**ReleaseReadiness**](ReleaseReadiness.md)
|
|
542
|
+
|
|
543
|
+
### Authorization
|
|
544
|
+
|
|
545
|
+
No authorization required
|
|
546
|
+
|
|
547
|
+
### HTTP request headers
|
|
548
|
+
|
|
549
|
+
- **Content-Type**: Not defined
|
|
550
|
+
- **Accept**: `application/json`, `text/plain`
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
### HTTP response details
|
|
554
|
+
| Status code | Description | Response headers |
|
|
555
|
+
|-------------|-------------|------------------|
|
|
556
|
+
| **200** | Release readiness dashboard data | - |
|
|
557
|
+
| **404** | Not found — invalid token or release not public | - |
|
|
558
|
+
| **500** | Internal server error | - |
|
|
559
|
+
| **0** | Unexpected error | - |
|
|
560
|
+
|
|
561
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
## getReleases
|
|
565
|
+
|
|
566
|
+
> Array<Release> getReleases(project, limit, start, sort, filter, status)
|
|
567
|
+
|
|
568
|
+
Get releases
|
|
569
|
+
|
|
570
|
+
Get releases for a specific project
|
|
571
|
+
|
|
572
|
+
### Example
|
|
573
|
+
|
|
574
|
+
```ts
|
|
575
|
+
import {
|
|
576
|
+
Configuration,
|
|
577
|
+
ReleasesApi,
|
|
578
|
+
} from '@testcollab/sdk';
|
|
579
|
+
import type { GetReleasesRequest } from '@testcollab/sdk';
|
|
580
|
+
|
|
581
|
+
async function example() {
|
|
582
|
+
console.log("🚀 Testing @testcollab/sdk SDK...");
|
|
583
|
+
const config = new Configuration({
|
|
584
|
+
// To configure API key authorization: ApiKeyAuth
|
|
585
|
+
apiKey: "YOUR API KEY",
|
|
586
|
+
// To configure API key authorization: bearerAuth
|
|
587
|
+
apiKey: "YOUR API KEY",
|
|
588
|
+
});
|
|
589
|
+
const api = new ReleasesApi(config);
|
|
590
|
+
|
|
591
|
+
const body = {
|
|
592
|
+
// number | Project ID
|
|
593
|
+
project: 1,
|
|
594
|
+
// number | Limit the size of the returned results (optional)
|
|
595
|
+
limit: 56,
|
|
596
|
+
// number | Skip a specific number of entries (for pagination) (optional)
|
|
597
|
+
start: 56,
|
|
598
|
+
// string | Sort according to a specific field. (optional)
|
|
599
|
+
sort: sort_example,
|
|
600
|
+
// string | Stringified filter object (optional)
|
|
601
|
+
filter: filter_example,
|
|
602
|
+
// 'planned' | 'in_progress' | 'ready' | 'shipped' | 'blocked' | Filter by release status (optional)
|
|
603
|
+
status: status_example,
|
|
604
|
+
} satisfies GetReleasesRequest;
|
|
605
|
+
|
|
606
|
+
try {
|
|
607
|
+
const data = await api.getReleases(body);
|
|
608
|
+
console.log(data);
|
|
609
|
+
} catch (error) {
|
|
610
|
+
console.error(error);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
// Run the test
|
|
615
|
+
example().catch(console.error);
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
### Parameters
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
| Name | Type | Description | Notes |
|
|
622
|
+
|------------- | ------------- | ------------- | -------------|
|
|
623
|
+
| **project** | `number` | Project ID | [Defaults to `undefined`] |
|
|
624
|
+
| **limit** | `number` | Limit the size of the returned results | [Optional] [Defaults to `undefined`] |
|
|
625
|
+
| **start** | `number` | Skip a specific number of entries (for pagination) | [Optional] [Defaults to `undefined`] |
|
|
626
|
+
| **sort** | `string` | Sort according to a specific field. | [Optional] [Defaults to `undefined`] |
|
|
627
|
+
| **filter** | `string` | Stringified filter object | [Optional] [Defaults to `undefined`] |
|
|
628
|
+
| **status** | `planned`, `in_progress`, `ready`, `shipped`, `blocked` | Filter by release status | [Optional] [Defaults to `undefined`] [Enum: planned, in_progress, ready, shipped, blocked] |
|
|
629
|
+
|
|
630
|
+
### Return type
|
|
631
|
+
|
|
632
|
+
[**Array<Release>**](Release.md)
|
|
633
|
+
|
|
634
|
+
### Authorization
|
|
635
|
+
|
|
636
|
+
[ApiKeyAuth](../README.md#ApiKeyAuth), [bearerAuth](../README.md#bearerAuth)
|
|
637
|
+
|
|
638
|
+
### HTTP request headers
|
|
639
|
+
|
|
640
|
+
- **Content-Type**: Not defined
|
|
641
|
+
- **Accept**: `application/json`, `text/plain`
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
### HTTP response details
|
|
645
|
+
| Status code | Description | Response headers |
|
|
646
|
+
|-------------|-------------|------------------|
|
|
647
|
+
| **200** | List of releases | - |
|
|
648
|
+
| **401** | Unauthorized | - |
|
|
649
|
+
| **403** | Forbidden | - |
|
|
650
|
+
| **404** | Not found | - |
|
|
651
|
+
| **500** | Internal server error | - |
|
|
652
|
+
| **0** | Unexpected error | - |
|
|
653
|
+
|
|
654
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
655
|
+
|
package/docs/StepWiseResult.md
CHANGED
|
@@ -11,6 +11,7 @@ Name | Type
|
|
|
11
11
|
`expectedResult` | string
|
|
12
12
|
`status` | string
|
|
13
13
|
`comment` | string
|
|
14
|
+
`commentBy` | number
|
|
14
15
|
`mentions` | Array<string>
|
|
15
16
|
`attachments` | Array<string>
|
|
16
17
|
|
|
@@ -26,6 +27,7 @@ const example = {
|
|
|
26
27
|
"expectedResult": Expected result 1,
|
|
27
28
|
"status": unexecuted,
|
|
28
29
|
"comment": My comment,
|
|
30
|
+
"commentBy": 1,
|
|
29
31
|
"mentions": null,
|
|
30
32
|
"attachments": null,
|
|
31
33
|
} satisfies StepWiseResult
|
|
@@ -13,6 +13,7 @@ Name | Type
|
|
|
13
13
|
`expectedResult` | string
|
|
14
14
|
`status` | string
|
|
15
15
|
`comment` | string
|
|
16
|
+
`commentBy` | number
|
|
16
17
|
`mentions` | Array<string>
|
|
17
18
|
`attachments` | Array<string>
|
|
18
19
|
|
|
@@ -30,6 +31,7 @@ const example = {
|
|
|
30
31
|
"expectedResult": Expected result 1,
|
|
31
32
|
"status": unexecuted,
|
|
32
33
|
"comment": My comment,
|
|
34
|
+
"commentBy": 1,
|
|
33
35
|
"mentions": null,
|
|
34
36
|
"attachments": null,
|
|
35
37
|
} satisfies TestDatasetWiseResult
|
package/docs/TestPlan.md
CHANGED
|
@@ -26,6 +26,7 @@ Name | Type
|
|
|
26
26
|
`description` | string
|
|
27
27
|
`customFields` | [Array<CustomFieldCollectionOutput>](CustomFieldCollectionOutput.md)
|
|
28
28
|
`isPublic` | number
|
|
29
|
+
`release` | [ReleaseMinified](.md)
|
|
29
30
|
|
|
30
31
|
## Example
|
|
31
32
|
|
|
@@ -54,6 +55,7 @@ const example = {
|
|
|
54
55
|
"description": test plan description,
|
|
55
56
|
"customFields": null,
|
|
56
57
|
"isPublic": null,
|
|
58
|
+
"release": null,
|
|
57
59
|
} satisfies TestPlan
|
|
58
60
|
|
|
59
61
|
console.log(example)
|
|
@@ -13,6 +13,7 @@ Name | Type
|
|
|
13
13
|
`testPlanFolder` | number
|
|
14
14
|
`startDate` | string
|
|
15
15
|
`endDate` | string
|
|
16
|
+
`release` | number
|
|
16
17
|
`customFields` | [Array<CustomFieldInputPayload>](CustomFieldInputPayload.md)
|
|
17
18
|
|
|
18
19
|
## Example
|
|
@@ -29,6 +30,7 @@ const example = {
|
|
|
29
30
|
"testPlanFolder": 1,
|
|
30
31
|
"startDate": 2019-09-22T00:00:00.000Z,
|
|
31
32
|
"endDate": 2019-09-28T00:00:00.000Z,
|
|
33
|
+
"release": 1,
|
|
32
34
|
"customFields": null,
|
|
33
35
|
} satisfies TestPlanBulkActionPayload
|
|
34
36
|
|