@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.
Files changed (198) hide show
  1. package/.openapi-generator/FILES +46 -0
  2. package/dist/apis/ProjectsApi.d.ts +5 -5
  3. package/dist/apis/ProjectsApi.js +1 -1
  4. package/dist/apis/ReleasesApi.d.ts +280 -0
  5. package/dist/apis/ReleasesApi.js +379 -0
  6. package/dist/apis/index.d.ts +1 -0
  7. package/dist/apis/index.js +1 -0
  8. package/dist/esm/apis/ProjectsApi.d.ts +5 -5
  9. package/dist/esm/apis/ProjectsApi.js +2 -2
  10. package/dist/esm/apis/ReleasesApi.d.ts +280 -0
  11. package/dist/esm/apis/ReleasesApi.js +375 -0
  12. package/dist/esm/apis/index.d.ts +1 -0
  13. package/dist/esm/apis/index.js +1 -0
  14. package/dist/esm/models/Activity.d.ts +9 -0
  15. package/dist/esm/models/Activity.js +6 -1
  16. package/dist/esm/models/ActivityAuditInfo.d.ts +44 -0
  17. package/dist/esm/models/ActivityAuditInfo.js +45 -0
  18. package/dist/esm/models/ProjectListItem.d.ts +93 -0
  19. package/dist/esm/models/ProjectListItem.js +72 -0
  20. package/dist/esm/models/Release.d.ts +131 -0
  21. package/dist/esm/models/Release.js +95 -0
  22. package/dist/esm/models/ReleaseGoNoGoThreshold.d.ts +45 -0
  23. package/dist/esm/models/ReleaseGoNoGoThreshold.js +45 -0
  24. package/dist/esm/models/ReleaseMinified.d.ts +67 -0
  25. package/dist/esm/models/ReleaseMinified.js +65 -0
  26. package/dist/esm/models/ReleasePayload.d.ts +98 -0
  27. package/dist/esm/models/ReleasePayload.js +75 -0
  28. package/dist/esm/models/ReleaseReadiness.d.ts +106 -0
  29. package/dist/esm/models/ReleaseReadiness.js +79 -0
  30. package/dist/esm/models/ReleaseReadinessComparison.d.ts +52 -0
  31. package/dist/esm/models/ReleaseReadinessComparison.js +47 -0
  32. package/dist/esm/models/ReleaseReadinessConfigurationCoverage.d.ts +84 -0
  33. package/dist/esm/models/ReleaseReadinessConfigurationCoverage.js +71 -0
  34. package/dist/esm/models/ReleaseReadinessCoverageItem.d.ts +75 -0
  35. package/dist/esm/models/ReleaseReadinessCoverageItem.js +65 -0
  36. package/dist/esm/models/ReleaseReadinessCustomFieldCoverage.d.ts +77 -0
  37. package/dist/esm/models/ReleaseReadinessCustomFieldCoverage.js +75 -0
  38. package/dist/esm/models/ReleaseReadinessCustomFieldGroup.d.ts +75 -0
  39. package/dist/esm/models/ReleaseReadinessCustomFieldGroup.js +69 -0
  40. package/dist/esm/models/ReleaseReadinessDefectSeverity.d.ts +38 -0
  41. package/dist/esm/models/ReleaseReadinessDefectSeverity.js +47 -0
  42. package/dist/esm/models/ReleaseReadinessDefects.d.ts +46 -0
  43. package/dist/esm/models/ReleaseReadinessDefects.js +52 -0
  44. package/dist/esm/models/ReleaseReadinessEvidence.d.ts +45 -0
  45. package/dist/esm/models/ReleaseReadinessEvidence.js +51 -0
  46. package/dist/esm/models/ReleaseReadinessRequirementCoverage.d.ts +41 -0
  47. package/dist/esm/models/ReleaseReadinessRequirementCoverage.js +48 -0
  48. package/dist/esm/models/ReleaseReadinessRequirementItem.d.ts +92 -0
  49. package/dist/esm/models/ReleaseReadinessRequirementItem.js +84 -0
  50. package/dist/esm/models/ReleaseReadinessRequirementSummary.d.ts +57 -0
  51. package/dist/esm/models/ReleaseReadinessRequirementSummary.js +59 -0
  52. package/dist/esm/models/ReleaseReadinessSummary.d.ts +70 -0
  53. package/dist/esm/models/ReleaseReadinessSummary.js +51 -0
  54. package/dist/esm/models/ReleaseReadinessTestPlan.d.ts +69 -0
  55. package/dist/esm/models/ReleaseReadinessTestPlan.js +68 -0
  56. package/dist/esm/models/ReleaseReadinessTestPlanRun.d.ts +51 -0
  57. package/dist/esm/models/ReleaseReadinessTestPlanRun.js +51 -0
  58. package/dist/esm/models/ReleaseReadinessVerdict.d.ts +50 -0
  59. package/dist/esm/models/ReleaseReadinessVerdict.js +56 -0
  60. package/dist/esm/models/StepWiseResult.d.ts +6 -0
  61. package/dist/esm/models/StepWiseResult.js +2 -0
  62. package/dist/esm/models/TestDatasetWiseResult.d.ts +6 -0
  63. package/dist/esm/models/TestDatasetWiseResult.js +2 -0
  64. package/dist/esm/models/TestPlan.d.ts +7 -0
  65. package/dist/esm/models/TestPlan.js +2 -0
  66. package/dist/esm/models/TestPlanBulkActionPayload.d.ts +6 -0
  67. package/dist/esm/models/TestPlanBulkActionPayload.js +2 -0
  68. package/dist/esm/models/TestPlanPayload.d.ts +6 -0
  69. package/dist/esm/models/TestPlanPayload.js +2 -0
  70. package/dist/esm/models/TraceabilityMatrixPayload.d.ts +7 -0
  71. package/dist/esm/models/TraceabilityMatrixPayload.js +2 -0
  72. package/dist/esm/models/index.d.ts +22 -0
  73. package/dist/esm/models/index.js +22 -0
  74. package/dist/models/Activity.d.ts +9 -0
  75. package/dist/models/Activity.js +6 -1
  76. package/dist/models/ActivityAuditInfo.d.ts +44 -0
  77. package/dist/models/ActivityAuditInfo.js +52 -0
  78. package/dist/models/ProjectListItem.d.ts +93 -0
  79. package/dist/models/ProjectListItem.js +79 -0
  80. package/dist/models/Release.d.ts +131 -0
  81. package/dist/models/Release.js +103 -0
  82. package/dist/models/ReleaseGoNoGoThreshold.d.ts +45 -0
  83. package/dist/models/ReleaseGoNoGoThreshold.js +52 -0
  84. package/dist/models/ReleaseMinified.d.ts +67 -0
  85. package/dist/models/ReleaseMinified.js +73 -0
  86. package/dist/models/ReleasePayload.d.ts +98 -0
  87. package/dist/models/ReleasePayload.js +83 -0
  88. package/dist/models/ReleaseReadiness.d.ts +106 -0
  89. package/dist/models/ReleaseReadiness.js +86 -0
  90. package/dist/models/ReleaseReadinessComparison.d.ts +52 -0
  91. package/dist/models/ReleaseReadinessComparison.js +54 -0
  92. package/dist/models/ReleaseReadinessConfigurationCoverage.d.ts +84 -0
  93. package/dist/models/ReleaseReadinessConfigurationCoverage.js +78 -0
  94. package/dist/models/ReleaseReadinessCoverageItem.d.ts +75 -0
  95. package/dist/models/ReleaseReadinessCoverageItem.js +72 -0
  96. package/dist/models/ReleaseReadinessCustomFieldCoverage.d.ts +77 -0
  97. package/dist/models/ReleaseReadinessCustomFieldCoverage.js +83 -0
  98. package/dist/models/ReleaseReadinessCustomFieldGroup.d.ts +75 -0
  99. package/dist/models/ReleaseReadinessCustomFieldGroup.js +76 -0
  100. package/dist/models/ReleaseReadinessDefectSeverity.d.ts +38 -0
  101. package/dist/models/ReleaseReadinessDefectSeverity.js +54 -0
  102. package/dist/models/ReleaseReadinessDefects.d.ts +46 -0
  103. package/dist/models/ReleaseReadinessDefects.js +59 -0
  104. package/dist/models/ReleaseReadinessEvidence.d.ts +45 -0
  105. package/dist/models/ReleaseReadinessEvidence.js +58 -0
  106. package/dist/models/ReleaseReadinessRequirementCoverage.d.ts +41 -0
  107. package/dist/models/ReleaseReadinessRequirementCoverage.js +55 -0
  108. package/dist/models/ReleaseReadinessRequirementItem.d.ts +92 -0
  109. package/dist/models/ReleaseReadinessRequirementItem.js +92 -0
  110. package/dist/models/ReleaseReadinessRequirementSummary.d.ts +57 -0
  111. package/dist/models/ReleaseReadinessRequirementSummary.js +66 -0
  112. package/dist/models/ReleaseReadinessSummary.d.ts +70 -0
  113. package/dist/models/ReleaseReadinessSummary.js +58 -0
  114. package/dist/models/ReleaseReadinessTestPlan.d.ts +69 -0
  115. package/dist/models/ReleaseReadinessTestPlan.js +76 -0
  116. package/dist/models/ReleaseReadinessTestPlanRun.d.ts +51 -0
  117. package/dist/models/ReleaseReadinessTestPlanRun.js +58 -0
  118. package/dist/models/ReleaseReadinessVerdict.d.ts +50 -0
  119. package/dist/models/ReleaseReadinessVerdict.js +64 -0
  120. package/dist/models/StepWiseResult.d.ts +6 -0
  121. package/dist/models/StepWiseResult.js +2 -0
  122. package/dist/models/TestDatasetWiseResult.d.ts +6 -0
  123. package/dist/models/TestDatasetWiseResult.js +2 -0
  124. package/dist/models/TestPlan.d.ts +7 -0
  125. package/dist/models/TestPlan.js +2 -0
  126. package/dist/models/TestPlanBulkActionPayload.d.ts +6 -0
  127. package/dist/models/TestPlanBulkActionPayload.js +2 -0
  128. package/dist/models/TestPlanPayload.d.ts +6 -0
  129. package/dist/models/TestPlanPayload.js +2 -0
  130. package/dist/models/TraceabilityMatrixPayload.d.ts +7 -0
  131. package/dist/models/TraceabilityMatrixPayload.js +2 -0
  132. package/dist/models/index.d.ts +22 -0
  133. package/dist/models/index.js +22 -0
  134. package/docs/Activity.md +2 -0
  135. package/docs/ActivityAuditInfo.md +39 -0
  136. package/docs/ProjectListItem.md +54 -0
  137. package/docs/ProjectsApi.md +2 -2
  138. package/docs/Release.md +62 -0
  139. package/docs/ReleaseGoNoGoThreshold.md +39 -0
  140. package/docs/ReleaseMinified.md +42 -0
  141. package/docs/ReleasePayload.md +52 -0
  142. package/docs/ReleaseReadiness.md +55 -0
  143. package/docs/ReleaseReadinessComparison.md +41 -0
  144. package/docs/ReleaseReadinessConfigurationCoverage.md +51 -0
  145. package/docs/ReleaseReadinessCoverageItem.md +49 -0
  146. package/docs/ReleaseReadinessCustomFieldCoverage.md +43 -0
  147. package/docs/ReleaseReadinessCustomFieldGroup.md +49 -0
  148. package/docs/ReleaseReadinessDefectSeverity.md +36 -0
  149. package/docs/ReleaseReadinessDefects.md +39 -0
  150. package/docs/ReleaseReadinessEvidence.md +39 -0
  151. package/docs/ReleaseReadinessRequirementCoverage.md +37 -0
  152. package/docs/ReleaseReadinessRequirementItem.md +51 -0
  153. package/docs/ReleaseReadinessRequirementSummary.md +43 -0
  154. package/docs/ReleaseReadinessSummary.md +47 -0
  155. package/docs/ReleaseReadinessTestPlan.md +43 -0
  156. package/docs/ReleaseReadinessTestPlanRun.md +41 -0
  157. package/docs/ReleaseReadinessVerdict.md +37 -0
  158. package/docs/ReleasesApi.md +655 -0
  159. package/docs/StepWiseResult.md +2 -0
  160. package/docs/TestDatasetWiseResult.md +2 -0
  161. package/docs/TestPlan.md +2 -0
  162. package/docs/TestPlanBulkActionPayload.md +2 -0
  163. package/docs/TestPlanPayload.md +2 -0
  164. package/docs/TraceabilityMatrixPayload.md +2 -0
  165. package/package.json +1 -1
  166. package/src/apis/ProjectsApi.ts +8 -5
  167. package/src/apis/ReleasesApi.ts +663 -0
  168. package/src/apis/index.ts +1 -0
  169. package/src/models/Activity.ts +18 -1
  170. package/src/models/ActivityAuditInfo.ts +81 -0
  171. package/src/models/ProjectListItem.ts +158 -0
  172. package/src/models/Release.ts +227 -0
  173. package/src/models/ReleaseGoNoGoThreshold.ts +82 -0
  174. package/src/models/ReleaseMinified.ts +114 -0
  175. package/src/models/ReleasePayload.ts +162 -0
  176. package/src/models/ReleaseReadiness.ts +233 -0
  177. package/src/models/ReleaseReadinessComparison.ts +98 -0
  178. package/src/models/ReleaseReadinessConfigurationCoverage.ts +138 -0
  179. package/src/models/ReleaseReadinessCoverageItem.ts +127 -0
  180. package/src/models/ReleaseReadinessCustomFieldCoverage.ts +133 -0
  181. package/src/models/ReleaseReadinessCustomFieldGroup.ts +129 -0
  182. package/src/models/ReleaseReadinessDefectSeverity.ts +75 -0
  183. package/src/models/ReleaseReadinessDefects.ts +93 -0
  184. package/src/models/ReleaseReadinessEvidence.ts +85 -0
  185. package/src/models/ReleaseReadinessRequirementCoverage.ts +91 -0
  186. package/src/models/ReleaseReadinessRequirementItem.ts +153 -0
  187. package/src/models/ReleaseReadinessRequirementSummary.ts +103 -0
  188. package/src/models/ReleaseReadinessSummary.ts +124 -0
  189. package/src/models/ReleaseReadinessTestPlan.ts +131 -0
  190. package/src/models/ReleaseReadinessTestPlanRun.ts +92 -0
  191. package/src/models/ReleaseReadinessVerdict.ts +90 -0
  192. package/src/models/StepWiseResult.ts +8 -0
  193. package/src/models/TestDatasetWiseResult.ts +8 -0
  194. package/src/models/TestPlan.ts +15 -0
  195. package/src/models/TestPlanBulkActionPayload.ts +8 -0
  196. package/src/models/TestPlanPayload.ts +8 -0
  197. package/src/models/TraceabilityMatrixPayload.ts +9 -0
  198. package/src/models/index.ts +22 -0
@@ -27,6 +27,13 @@ import {
27
27
  UserToJSON,
28
28
  UserToJSONTyped,
29
29
  } from './User';
30
+ import type { ActivityAuditInfo } from './ActivityAuditInfo';
31
+ import {
32
+ ActivityAuditInfoFromJSON,
33
+ ActivityAuditInfoFromJSONTyped,
34
+ ActivityAuditInfoToJSON,
35
+ ActivityAuditInfoToJSONTyped,
36
+ } from './ActivityAuditInfo';
30
37
 
31
38
  /**
32
39
  *
@@ -82,6 +89,12 @@ export interface Activity {
82
89
  * @memberof Activity
83
90
  */
84
91
  user: User;
92
+ /**
93
+ *
94
+ * @type {ActivityAuditInfo}
95
+ * @memberof Activity
96
+ */
97
+ auditInfo?: ActivityAuditInfo;
85
98
  /**
86
99
  * Time when the activity was performed
87
100
  * @type {string}
@@ -112,7 +125,9 @@ export const ActivityActivityTypeEnum = {
112
125
  Reopen: 'reopen',
113
126
  FinishedRun: 'finished_run',
114
127
  AssigneeChange: 'assignee_change',
115
- Comment: 'comment'
128
+ Comment: 'comment',
129
+ ReleaseVerdictChange: 'release_verdict_change',
130
+ Link: 'link'
116
131
  } as const;
117
132
  export type ActivityActivityTypeEnum = typeof ActivityActivityTypeEnum[keyof typeof ActivityActivityTypeEnum];
118
133
 
@@ -147,6 +162,7 @@ export function ActivityFromJSONTyped(json: any, ignoreDiscriminator: boolean):
147
162
  'project': json['project'] == null ? undefined : ProjectMiniFromJSON(json['project']),
148
163
  'activityType': json['activity_type'],
149
164
  'user': UserFromJSON(json['user']),
165
+ 'auditInfo': json['audit_info'] == null ? undefined : ActivityAuditInfoFromJSON(json['audit_info']),
150
166
  'createdAt': json['created_at'] == null ? undefined : json['created_at'],
151
167
  'updatedAt': json['updated_at'] == null ? undefined : json['updated_at'],
152
168
  };
@@ -171,6 +187,7 @@ export function ActivityToJSONTyped(value?: Activity | null, ignoreDiscriminator
171
187
  'project': ProjectMiniToJSON(value['project']),
172
188
  'activity_type': value['activityType'],
173
189
  'user': UserToJSON(value['user']),
190
+ 'audit_info': ActivityAuditInfoToJSON(value['auditInfo']),
174
191
  'created_at': value['createdAt'],
175
192
  'updated_at': value['updatedAt'],
176
193
  };
@@ -0,0 +1,81 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * TC API
5
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
6
+ *
7
+ * The version of the OpenAPI document: 2.3.1
8
+ * Contact: support@testcollab.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Additional metadata for the activity (e.g. release name, old/new verdict)
18
+ * @export
19
+ * @interface ActivityAuditInfo
20
+ */
21
+ export interface ActivityAuditInfo {
22
+ /**
23
+ * Name of the release
24
+ * @type {string}
25
+ * @memberof ActivityAuditInfo
26
+ */
27
+ releaseName?: string;
28
+ /**
29
+ * Previous verdict value
30
+ * @type {string}
31
+ * @memberof ActivityAuditInfo
32
+ */
33
+ oldVerdict?: string;
34
+ /**
35
+ * New verdict value
36
+ * @type {string}
37
+ * @memberof ActivityAuditInfo
38
+ */
39
+ newVerdict?: string;
40
+ }
41
+
42
+ /**
43
+ * Check if a given object implements the ActivityAuditInfo interface.
44
+ */
45
+ export function instanceOfActivityAuditInfo(value: object): value is ActivityAuditInfo {
46
+ return true;
47
+ }
48
+
49
+ export function ActivityAuditInfoFromJSON(json: any): ActivityAuditInfo {
50
+ return ActivityAuditInfoFromJSONTyped(json, false);
51
+ }
52
+
53
+ export function ActivityAuditInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityAuditInfo {
54
+ if (json == null) {
55
+ return json;
56
+ }
57
+ return {
58
+
59
+ 'releaseName': json['release_name'] == null ? undefined : json['release_name'],
60
+ 'oldVerdict': json['old_verdict'] == null ? undefined : json['old_verdict'],
61
+ 'newVerdict': json['new_verdict'] == null ? undefined : json['new_verdict'],
62
+ };
63
+ }
64
+
65
+ export function ActivityAuditInfoToJSON(json: any): ActivityAuditInfo {
66
+ return ActivityAuditInfoToJSONTyped(json, false);
67
+ }
68
+
69
+ export function ActivityAuditInfoToJSONTyped(value?: ActivityAuditInfo | null, ignoreDiscriminator: boolean = false): any {
70
+ if (value == null) {
71
+ return value;
72
+ }
73
+
74
+ return {
75
+
76
+ 'release_name': value['releaseName'],
77
+ 'old_verdict': value['oldVerdict'],
78
+ 'new_verdict': value['newVerdict'],
79
+ };
80
+ }
81
+
@@ -0,0 +1,158 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * TC API
5
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
6
+ *
7
+ * The version of the OpenAPI document: 2.3.1
8
+ * Contact: support@testcollab.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ProjectUserMinified } from './ProjectUserMinified';
17
+ import {
18
+ ProjectUserMinifiedFromJSON,
19
+ ProjectUserMinifiedFromJSONTyped,
20
+ ProjectUserMinifiedToJSON,
21
+ ProjectUserMinifiedToJSONTyped,
22
+ } from './ProjectUserMinified';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface ProjectListItem
28
+ */
29
+ export interface ProjectListItem {
30
+ /**
31
+ *
32
+ * @type {number}
33
+ * @memberof ProjectListItem
34
+ */
35
+ id: number;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof ProjectListItem
40
+ */
41
+ name: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof ProjectListItem
46
+ */
47
+ description?: string;
48
+ /**
49
+ *
50
+ * @type {boolean}
51
+ * @memberof ProjectListItem
52
+ */
53
+ archived: boolean;
54
+ /**
55
+ *
56
+ * @type {Array<ProjectUserMinified>}
57
+ * @memberof ProjectListItem
58
+ */
59
+ team?: Array<ProjectUserMinified>;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof ProjectListItem
64
+ */
65
+ activity?: string;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof ProjectListItem
70
+ */
71
+ createdAt: string;
72
+ /**
73
+ *
74
+ * @type {string}
75
+ * @memberof ProjectListItem
76
+ */
77
+ updatedAt: string;
78
+ /**
79
+ * Indicates that the project is a sample project or not
80
+ * @type {boolean}
81
+ * @memberof ProjectListItem
82
+ */
83
+ isSample?: boolean;
84
+ /**
85
+ * Number of test cases in the project
86
+ * @type {number}
87
+ * @memberof ProjectListItem
88
+ */
89
+ testCaseCount?: number;
90
+ /**
91
+ * Number of active test plans in the project
92
+ * @type {number}
93
+ * @memberof ProjectListItem
94
+ */
95
+ testPlanCount?: number;
96
+ }
97
+
98
+ /**
99
+ * Check if a given object implements the ProjectListItem interface.
100
+ */
101
+ export function instanceOfProjectListItem(value: object): value is ProjectListItem {
102
+ if (!('id' in value) || value['id'] === undefined) return false;
103
+ if (!('name' in value) || value['name'] === undefined) return false;
104
+ if (!('archived' in value) || value['archived'] === undefined) return false;
105
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
106
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
107
+ return true;
108
+ }
109
+
110
+ export function ProjectListItemFromJSON(json: any): ProjectListItem {
111
+ return ProjectListItemFromJSONTyped(json, false);
112
+ }
113
+
114
+ export function ProjectListItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProjectListItem {
115
+ if (json == null) {
116
+ return json;
117
+ }
118
+ return {
119
+
120
+ 'id': json['id'],
121
+ 'name': json['name'],
122
+ 'description': json['description'] == null ? undefined : json['description'],
123
+ 'archived': json['archived'],
124
+ 'team': json['team'] == null ? undefined : ((json['team'] as Array<any>).map(ProjectUserMinifiedFromJSON)),
125
+ 'activity': json['activity'] == null ? undefined : json['activity'],
126
+ 'createdAt': json['created_at'],
127
+ 'updatedAt': json['updated_at'],
128
+ 'isSample': json['is_sample'] == null ? undefined : json['is_sample'],
129
+ 'testCaseCount': json['test_case_count'] == null ? undefined : json['test_case_count'],
130
+ 'testPlanCount': json['test_plan_count'] == null ? undefined : json['test_plan_count'],
131
+ };
132
+ }
133
+
134
+ export function ProjectListItemToJSON(json: any): ProjectListItem {
135
+ return ProjectListItemToJSONTyped(json, false);
136
+ }
137
+
138
+ export function ProjectListItemToJSONTyped(value?: ProjectListItem | null, ignoreDiscriminator: boolean = false): any {
139
+ if (value == null) {
140
+ return value;
141
+ }
142
+
143
+ return {
144
+
145
+ 'id': value['id'],
146
+ 'name': value['name'],
147
+ 'description': value['description'],
148
+ 'archived': value['archived'],
149
+ 'team': value['team'] == null ? undefined : ((value['team'] as Array<any>).map(ProjectUserMinifiedToJSON)),
150
+ 'activity': value['activity'],
151
+ 'created_at': value['createdAt'],
152
+ 'updated_at': value['updatedAt'],
153
+ 'is_sample': value['isSample'],
154
+ 'test_case_count': value['testCaseCount'],
155
+ 'test_plan_count': value['testPlanCount'],
156
+ };
157
+ }
158
+
@@ -0,0 +1,227 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * TC API
5
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
6
+ *
7
+ * The version of the OpenAPI document: 2.3.1
8
+ * Contact: support@testcollab.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ReleaseGoNoGoThreshold } from './ReleaseGoNoGoThreshold';
17
+ import {
18
+ ReleaseGoNoGoThresholdFromJSON,
19
+ ReleaseGoNoGoThresholdFromJSONTyped,
20
+ ReleaseGoNoGoThresholdToJSON,
21
+ ReleaseGoNoGoThresholdToJSONTyped,
22
+ } from './ReleaseGoNoGoThreshold';
23
+ import type { RequirementMinified } from './RequirementMinified';
24
+ import {
25
+ RequirementMinifiedFromJSON,
26
+ RequirementMinifiedFromJSONTyped,
27
+ RequirementMinifiedToJSON,
28
+ RequirementMinifiedToJSONTyped,
29
+ } from './RequirementMinified';
30
+ import type { UserMinified } from './UserMinified';
31
+ import {
32
+ UserMinifiedFromJSON,
33
+ UserMinifiedFromJSONTyped,
34
+ UserMinifiedToJSON,
35
+ UserMinifiedToJSONTyped,
36
+ } from './UserMinified';
37
+ import type { TestPlanMinified } from './TestPlanMinified';
38
+ import {
39
+ TestPlanMinifiedFromJSON,
40
+ TestPlanMinifiedFromJSONTyped,
41
+ TestPlanMinifiedToJSON,
42
+ TestPlanMinifiedToJSONTyped,
43
+ } from './TestPlanMinified';
44
+
45
+ /**
46
+ *
47
+ * @export
48
+ * @interface Release
49
+ */
50
+ export interface Release {
51
+ /**
52
+ *
53
+ * @type {number}
54
+ * @memberof Release
55
+ */
56
+ id: number;
57
+ /**
58
+ *
59
+ * @type {string}
60
+ * @memberof Release
61
+ */
62
+ name: string;
63
+ /**
64
+ *
65
+ * @type {string}
66
+ * @memberof Release
67
+ */
68
+ description?: string;
69
+ /**
70
+ *
71
+ * @type {string}
72
+ * @memberof Release
73
+ */
74
+ status: ReleaseStatusEnum;
75
+ /**
76
+ *
77
+ * @type {string}
78
+ * @memberof Release
79
+ */
80
+ targetDate?: string;
81
+ /**
82
+ *
83
+ * @type {string}
84
+ * @memberof Release
85
+ */
86
+ releaseDate?: string;
87
+ /**
88
+ *
89
+ * @type {ReleaseGoNoGoThreshold}
90
+ * @memberof Release
91
+ */
92
+ goNoGoThreshold?: ReleaseGoNoGoThreshold;
93
+ /**
94
+ *
95
+ * @type {boolean}
96
+ * @memberof Release
97
+ */
98
+ isPublic?: boolean;
99
+ /**
100
+ *
101
+ * @type {string}
102
+ * @memberof Release
103
+ */
104
+ publicToken?: string;
105
+ /**
106
+ *
107
+ * @type {Array<TestPlanMinified>}
108
+ * @memberof Release
109
+ */
110
+ testPlans?: Array<TestPlanMinified>;
111
+ /**
112
+ * Requirements associated with this release
113
+ * @type {Array<RequirementMinified>}
114
+ * @memberof Release
115
+ */
116
+ requirements?: Array<RequirementMinified>;
117
+ /**
118
+ *
119
+ * @type {number}
120
+ * @memberof Release
121
+ */
122
+ project: number;
123
+ /**
124
+ *
125
+ * @type {UserMinified}
126
+ * @memberof Release
127
+ */
128
+ createdBy: UserMinified;
129
+ /**
130
+ *
131
+ * @type {string}
132
+ * @memberof Release
133
+ */
134
+ createdAt: string;
135
+ /**
136
+ *
137
+ * @type {string}
138
+ * @memberof Release
139
+ */
140
+ updatedAt: string;
141
+ }
142
+
143
+
144
+ /**
145
+ * @export
146
+ */
147
+ export const ReleaseStatusEnum = {
148
+ Planned: 'planned',
149
+ InProgress: 'in_progress',
150
+ Ready: 'ready',
151
+ Shipped: 'shipped',
152
+ Blocked: 'blocked'
153
+ } as const;
154
+ export type ReleaseStatusEnum = typeof ReleaseStatusEnum[keyof typeof ReleaseStatusEnum];
155
+
156
+
157
+ /**
158
+ * Check if a given object implements the Release interface.
159
+ */
160
+ export function instanceOfRelease(value: object): value is Release {
161
+ if (!('id' in value) || value['id'] === undefined) return false;
162
+ if (!('name' in value) || value['name'] === undefined) return false;
163
+ if (!('status' in value) || value['status'] === undefined) return false;
164
+ if (!('project' in value) || value['project'] === undefined) return false;
165
+ if (!('createdBy' in value) || value['createdBy'] === undefined) return false;
166
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
167
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
168
+ return true;
169
+ }
170
+
171
+ export function ReleaseFromJSON(json: any): Release {
172
+ return ReleaseFromJSONTyped(json, false);
173
+ }
174
+
175
+ export function ReleaseFromJSONTyped(json: any, ignoreDiscriminator: boolean): Release {
176
+ if (json == null) {
177
+ return json;
178
+ }
179
+ return {
180
+
181
+ 'id': json['id'],
182
+ 'name': json['name'],
183
+ 'description': json['description'] == null ? undefined : json['description'],
184
+ 'status': json['status'],
185
+ 'targetDate': json['target_date'] == null ? undefined : json['target_date'],
186
+ 'releaseDate': json['release_date'] == null ? undefined : json['release_date'],
187
+ 'goNoGoThreshold': json['go_no_go_threshold'] == null ? undefined : json['go_no_go_threshold'],
188
+ 'isPublic': json['is_public'] == null ? undefined : json['is_public'],
189
+ 'publicToken': json['public_token'] == null ? undefined : json['public_token'],
190
+ 'testPlans': json['test_plans'] == null ? undefined : ((json['test_plans'] as Array<any>).map(TestPlanMinifiedFromJSON)),
191
+ 'requirements': json['requirements'] == null ? undefined : ((json['requirements'] as Array<any>).map(RequirementMinifiedFromJSON)),
192
+ 'project': json['project'],
193
+ 'createdBy': json['created_by'],
194
+ 'createdAt': json['created_at'],
195
+ 'updatedAt': json['updated_at'],
196
+ };
197
+ }
198
+
199
+ export function ReleaseToJSON(json: any): Release {
200
+ return ReleaseToJSONTyped(json, false);
201
+ }
202
+
203
+ export function ReleaseToJSONTyped(value?: Release | null, ignoreDiscriminator: boolean = false): any {
204
+ if (value == null) {
205
+ return value;
206
+ }
207
+
208
+ return {
209
+
210
+ 'id': value['id'],
211
+ 'name': value['name'],
212
+ 'description': value['description'],
213
+ 'status': value['status'],
214
+ 'target_date': value['targetDate'],
215
+ 'release_date': value['releaseDate'],
216
+ 'go_no_go_threshold': value['goNoGoThreshold'],
217
+ 'is_public': value['isPublic'],
218
+ 'public_token': value['publicToken'],
219
+ 'test_plans': value['testPlans'] == null ? undefined : ((value['testPlans'] as Array<any>).map(TestPlanMinifiedToJSON)),
220
+ 'requirements': value['requirements'] == null ? undefined : ((value['requirements'] as Array<any>).map(RequirementMinifiedToJSON)),
221
+ 'project': value['project'],
222
+ 'created_by': value['createdBy'],
223
+ 'created_at': value['createdAt'],
224
+ 'updated_at': value['updatedAt'],
225
+ };
226
+ }
227
+
@@ -0,0 +1,82 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * TC API
5
+ * TestCollab is a test management tool that helps development teams carry out testing effectively and avoid failures. # Introduction This is an API documentation for TestCollab 2. # Authentication TestCollab supports two forms of authentication: - An <b>API token</b> is required to make API calls. The token can be generated from user\'s profile; to obtain it login to your TestCollab account and go to [\'My Profile Settings\'](https://testcollab.io/my_profile) and switch to API Token tab. Click on \"Generate new API token\", Once the token is generated it can be sent as a query parameter for the API calls made - https://api.testcollab.io/projects?token=<generated-API-token> - <b>Bearer authentication</b> (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. You can generate bearer auth token using [Login](#operation/login) API. Send this token as the Authorization header while making requests to protected resources: `Authorization: Bearer <token>` For making API calls, we recommend using the <b>API token</b> generated from user profile page as it won\'t affect the on-going user session and will be available until it is revoked by the user who generated it. # Error Handling Error responses - `Not Found` - Error is sent when requested resource is not available. - `Unauthorized - invalid token` - Error is sent when API token sent with the request is invalid or revoked. Error contains status code 401 - `Forbidden` - Error is sent when logged in user is not part of the company, project or his role does not allow to complete given action. Response consist of 403 status code and more information is given in error message.
6
+ *
7
+ * The version of the OpenAPI document: 2.3.1
8
+ * Contact: support@testcollab.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Configurable thresholds that determine the auto-computed Go/No-Go verdict for a release. All fields are optional — only configured thresholds are evaluated.
18
+ *
19
+ * @export
20
+ * @interface ReleaseGoNoGoThreshold
21
+ */
22
+ export interface ReleaseGoNoGoThreshold {
23
+ /**
24
+ * Minimum overall pass rate percentage required for a Go verdict
25
+ * @type {number}
26
+ * @memberof ReleaseGoNoGoThreshold
27
+ */
28
+ minPassRate?: number;
29
+ /**
30
+ * Maximum number of total open defects allowed across all severities
31
+ * @type {number}
32
+ * @memberof ReleaseGoNoGoThreshold
33
+ */
34
+ maxOpenDefects?: number;
35
+ /**
36
+ * Minimum percentage of failed executions that must have attachments
37
+ * @type {number}
38
+ * @memberof ReleaseGoNoGoThreshold
39
+ */
40
+ minEvidenceCoverage?: number;
41
+ }
42
+
43
+ /**
44
+ * Check if a given object implements the ReleaseGoNoGoThreshold interface.
45
+ */
46
+ export function instanceOfReleaseGoNoGoThreshold(value: object): value is ReleaseGoNoGoThreshold {
47
+ return true;
48
+ }
49
+
50
+ export function ReleaseGoNoGoThresholdFromJSON(json: any): ReleaseGoNoGoThreshold {
51
+ return ReleaseGoNoGoThresholdFromJSONTyped(json, false);
52
+ }
53
+
54
+ export function ReleaseGoNoGoThresholdFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReleaseGoNoGoThreshold {
55
+ if (json == null) {
56
+ return json;
57
+ }
58
+ return {
59
+
60
+ 'minPassRate': json['min_pass_rate'] == null ? undefined : json['min_pass_rate'],
61
+ 'maxOpenDefects': json['max_open_defects'] == null ? undefined : json['max_open_defects'],
62
+ 'minEvidenceCoverage': json['min_evidence_coverage'] == null ? undefined : json['min_evidence_coverage'],
63
+ };
64
+ }
65
+
66
+ export function ReleaseGoNoGoThresholdToJSON(json: any): ReleaseGoNoGoThreshold {
67
+ return ReleaseGoNoGoThresholdToJSONTyped(json, false);
68
+ }
69
+
70
+ export function ReleaseGoNoGoThresholdToJSONTyped(value?: ReleaseGoNoGoThreshold | null, ignoreDiscriminator: boolean = false): any {
71
+ if (value == null) {
72
+ return value;
73
+ }
74
+
75
+ return {
76
+
77
+ 'min_pass_rate': value['minPassRate'],
78
+ 'max_open_defects': value['maxOpenDefects'],
79
+ 'min_evidence_coverage': value['minEvidenceCoverage'],
80
+ };
81
+ }
82
+