zephyr-enterprise-tools 1.2.7 → 1.3.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.
@@ -88,6 +88,30 @@ export interface ReleaseReadinessResult {
88
88
  };
89
89
  }
90
90
 
91
+ export interface GateComparison {
92
+ metric: string;
93
+ releaseA: { status: GateStatus; value: number };
94
+ releaseB: { status: GateStatus; value: number };
95
+ delta: number;
96
+ statusChanged: boolean;
97
+ trend: 'improved' | 'regressed' | 'unchanged';
98
+ }
99
+
100
+ export interface CompareReleasesResult {
101
+ projectId: number;
102
+ timestamp: string;
103
+ query?: string;
104
+ releaseA: { releaseId: number; projectName: string; releaseName: string; generatedAt: string; fileName: string; overallStatus: GateStatus };
105
+ releaseB: { releaseId: number; projectName: string; releaseName: string; generatedAt: string; fileName: string; overallStatus: GateStatus };
106
+ overallStatusChanged: boolean;
107
+ gates: {
108
+ requirementCoverage: GateComparison;
109
+ testPlanAnalysis: GateComparison;
110
+ testExecution: GateComparison;
111
+ defectQuality: GateComparison;
112
+ };
113
+ }
114
+
91
115
  export interface ProjectHealthResult {
92
116
  tool: string;
93
117
  projectId: number;
@@ -164,6 +188,14 @@ export interface UserActivityOptions {
164
188
  days?: number;
165
189
  }
166
190
 
191
+ export interface UserActivityTrendSummary {
192
+ mostActiveUser: { userId: number; name: string; executed: number } | null;
193
+ leastActiveUser: { userId: number; name: string; executed: number } | null;
194
+ avgCompletionRate: number;
195
+ teamVelocityTrend: 'increasing' | 'decreasing' | 'steady' | 'insufficient data';
196
+ velocity: { firstHalfAvgPerDay: number; secondHalfAvgPerDay: number; changePct: number } | null;
197
+ }
198
+
167
199
  export interface UserActivityResult {
168
200
  tool: string;
169
201
  projectId: number;
@@ -171,6 +203,7 @@ export interface UserActivityResult {
171
203
  timestamp: string;
172
204
  period: { days: number };
173
205
  teamSummary: Record<string, unknown>;
206
+ trendSummary: UserActivityTrendSummary;
174
207
  assignedTo: unknown[];
175
208
  executedBy: unknown[];
176
209
  topExecutors: unknown[];
@@ -184,6 +217,93 @@ export interface TrendsOptions {
184
217
  days?: number;
185
218
  }
186
219
 
220
+ export interface ListUsersOptions {
221
+ pageSize?: number;
222
+ }
223
+
224
+ export interface ZephyrUser {
225
+ id: number;
226
+ fullName: string;
227
+ userName: string;
228
+ email: string;
229
+ title?: string;
230
+ location?: string;
231
+ accountEnabled: boolean;
232
+ roles: number[];
233
+ }
234
+
235
+ export interface ListUsersResult {
236
+ tool: string;
237
+ projectId: number;
238
+ timestamp: string;
239
+ total: number;
240
+ returned: number;
241
+ note?: string;
242
+ users: ZephyrUser[];
243
+ }
244
+
245
+ export interface ExecutionStatusBreakdown {
246
+ statusCode: number;
247
+ label: string;
248
+ count: number;
249
+ }
250
+
251
+ export interface ExecutionStatusCounts {
252
+ total: number;
253
+ breakdown: ExecutionStatusBreakdown[];
254
+ }
255
+
256
+ export interface CyclePhase {
257
+ id: number;
258
+ name: string;
259
+ startDate: string;
260
+ endDate: string;
261
+ executionStatusCounts: ExecutionStatusCounts | null;
262
+ }
263
+
264
+ export interface ZephyrCycle {
265
+ id: number;
266
+ name: string;
267
+ environment?: string;
268
+ build?: string;
269
+ startDate: string;
270
+ endDate: string;
271
+ status: number;
272
+ executionStatusCounts: ExecutionStatusCounts | null;
273
+ phases: CyclePhase[];
274
+ }
275
+
276
+ export interface ListCyclesResult {
277
+ tool: string;
278
+ releaseId: number;
279
+ timestamp: string;
280
+ total: number;
281
+ cycles: ZephyrCycle[];
282
+ }
283
+
284
+ export interface CyclePhaseDetail extends CyclePhase {
285
+ freeForm?: boolean;
286
+ resetExecution?: boolean;
287
+ hasChild?: boolean;
288
+ }
289
+
290
+ export interface GetCycleResult {
291
+ tool: string;
292
+ cycleId: number;
293
+ timestamp: string;
294
+ id: number;
295
+ name: string;
296
+ environment?: string;
297
+ build?: string;
298
+ startDate: string;
299
+ endDate: string;
300
+ status: number;
301
+ releaseId: number;
302
+ hasChild?: boolean;
303
+ executionStatusCounts: ExecutionStatusCounts | null;
304
+ phases: CyclePhaseDetail[];
305
+ }
306
+
187
307
  export declare class QualityGates {
188
308
  constructor(config: ZephyrConfig);
189
309
 
@@ -193,6 +313,7 @@ export declare class QualityGates {
193
313
  testExecutionGate(projectId: number, releaseId: number): Promise<TestExecutionResult>;
194
314
  defectQualityGate(projectId: number, releaseId: number): Promise<DefectQualityResult>;
195
315
  runAllGates(projectId: number, releaseId: number, options?: TestPlanOptions): Promise<ReleaseReadinessResult>;
316
+ compareReleases(projectId: number, releaseId1: number, releaseId2: number, options?: TestPlanOptions): Promise<CompareReleasesResult>;
196
317
 
197
318
  // Analytics & Insights
198
319
  getProjectHealth(projectId: number, releaseId: number): Promise<ProjectHealthResult>;
@@ -202,6 +323,9 @@ export declare class QualityGates {
202
323
  getTestCaseTrends(projectId: number, releaseId: number, options?: TrendsOptions): Promise<TestTrendsResult>;
203
324
  searchTestCases(projectId: number, releaseId: number, options?: SearchTestCasesOptions): Promise<SearchTestCasesResult>;
204
325
  getUserActivity(projectId: number, releaseId: number, options?: UserActivityOptions): Promise<UserActivityResult>;
326
+ listUsers(projectId: number, options?: ListUsersOptions): Promise<ListUsersResult>;
327
+ listCycles(releaseId: number): Promise<ListCyclesResult>;
328
+ getCycle(cycleId: number): Promise<GetCycleResult>;
205
329
  }
206
330
 
207
331
  export declare const THRESHOLDS: ThresholdConfig;