@elisra-devops/docgen-data-provider 1.8.0 → 1.9.1

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.
@@ -9,11 +9,29 @@ export declare class Query {
9
9
  columns: Column[];
10
10
  workItems: Workitem[];
11
11
  }
12
+ export declare class QueryTree {
13
+ queryType: QueryType;
14
+ queryResultType: QueryResultType;
15
+ asOf: string;
16
+ columns: Column[];
17
+ sortColumns?: SortColumn[];
18
+ workItems?: WorkItemForQuery[];
19
+ workItemRelations?: WorkItemRelation[];
20
+ }
12
21
  export declare class Column {
13
22
  referenceName: string;
14
23
  name: string;
15
24
  url: string;
16
25
  }
26
+ declare class SortColumn {
27
+ field: Field;
28
+ descending: boolean;
29
+ }
30
+ declare class Field {
31
+ referenceName: string;
32
+ name: string;
33
+ url: string;
34
+ }
17
35
  export declare class Workitem {
18
36
  id: number;
19
37
  url: string;
@@ -36,6 +54,23 @@ export declare enum QueryType {
36
54
  Tree = "tree",
37
55
  OneHop = "oneHop"
38
56
  }
57
+ declare class WorkItemForQuery {
58
+ id: number;
59
+ url: string;
60
+ }
61
+ declare class WorkItemRelation {
62
+ rel: string;
63
+ source: Source;
64
+ target: Target;
65
+ }
66
+ declare class Source {
67
+ id: number;
68
+ url: string;
69
+ }
70
+ declare class Target {
71
+ id: number;
72
+ url: string;
73
+ }
39
74
  export interface Comment {
40
75
  parentCommentId: number;
41
76
  content: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestSteps = exports.TestCase = exports.QueryType = exports.value = exports.Workitem = exports.Column = exports.Query = exports.QueryAllTypes = void 0;
3
+ exports.TestSteps = exports.TestCase = exports.QueryType = exports.value = exports.Workitem = exports.Column = exports.QueryTree = exports.Query = exports.QueryAllTypes = void 0;
4
4
  exports.createRequirementRelation = createRequirementRelation;
5
5
  exports.createBugRelation = createBugRelation;
6
6
  class QueryAllTypes {
@@ -15,16 +15,12 @@ class Query {
15
15
  }
16
16
  exports.Query = Query;
17
17
  class QueryTree {
18
- constructor() {
19
- this.columns = new Array();
20
- //sortColumns: Sortcolumn[] =new Array<Sortcolumn>()
21
- this.workItems = new Array();
22
- }
23
18
  }
19
+ exports.QueryTree = QueryTree;
24
20
  class Column {
25
21
  }
26
22
  exports.Column = Column;
27
- class Sortcolumn {
23
+ class SortColumn {
28
24
  }
29
25
  class Field {
30
26
  }
@@ -48,7 +44,9 @@ var QueryType;
48
44
  QueryType["Tree"] = "tree";
49
45
  QueryType["OneHop"] = "oneHop";
50
46
  })(QueryType || (exports.QueryType = QueryType = {}));
51
- class Workitemrelation {
47
+ class WorkItemForQuery {
48
+ }
49
+ class WorkItemRelation {
52
50
  }
53
51
  class Workrelation {
54
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tfs-data.js","sourceRoot":"","sources":["../../src/models/tfs-data.ts"],"names":[],"mappings":";;;AA0JA,8DAMC;AAED,8CAEC;AApKD,MAAa,aAAa;CAGzB;AAHD,sCAGC;AAED,MAAa,KAAK;IAAlB;QAIE,YAAO,GAAa,IAAI,KAAK,EAAU,CAAC;QACxC,qDAAqD;QACrD,cAAS,GAAe,IAAI,KAAK,EAAY,CAAC;IAChD,CAAC;CAAA;AAPD,sBAOC;AACD,MAAM,SAAS;IAAf;QAIE,YAAO,GAAa,IAAI,KAAK,EAAU,CAAC;QACxC,qDAAqD;QACrD,cAAS,GAAuB,IAAI,KAAK,EAAoB,CAAC;IAChE,CAAC;CAAA;AAED,MAAa,MAAM;CAIlB;AAJD,wBAIC;AAED,MAAM,UAAU;CAGf;AAED,MAAM,KAAK;CAIV;AAED,MAAa,QAAQ;IAArB;QAKE,WAAM,GAAW,CAAC,CAAC;IAGrB,CAAC;CAAA;AARD,4BAQC;AACD,MAAa,KAAK;CAGjB;AAHD,sBAGC;AACD,IAAK,eAGJ;AAHD,WAAK,eAAe;IAClB,6DAAY,CAAA;IACZ,qEAAgB,CAAA;AAClB,CAAC,EAHI,eAAe,KAAf,eAAe,QAGnB;AACD,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,MAAM,gBAAgB;CAIrB;AAED,MAAM,YAAY;CAGjB;AAED,MAAM,MAAM;CAGX;AAED,MAAM,MAAM;CAGX;AA0CD,MAAa,QAAQ;IAUnB;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF;AAbD,4BAaC;AAkBD,SAAgB,yBAAyB,CACvC,EAAU,EACV,KAAa,EACb,UAAmB;IAEnB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC;AAED,SAAgB,iBAAiB,CAAC,EAAU,EAAE,KAAa,EAAE,QAAiB;IAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED,MAAa,SAAS;CAMrB;AAND,8BAMC"}
1
+ {"version":3,"file":"tfs-data.js","sourceRoot":"","sources":["../../src/models/tfs-data.ts"],"names":[],"mappings":";;;AAgKA,8DAMC;AAED,8CAEC;AA1KD,MAAa,aAAa;CAGzB;AAHD,sCAGC;AAED,MAAa,KAAK;IAAlB;QAIE,YAAO,GAAa,IAAI,KAAK,EAAU,CAAC;QACxC,qDAAqD;QACrD,cAAS,GAAe,IAAI,KAAK,EAAY,CAAC;IAChD,CAAC;CAAA;AAPD,sBAOC;AACD,MAAa,SAAS;CAQrB;AARD,8BAQC;AAED,MAAa,MAAM;CAIlB;AAJD,wBAIC;AAED,MAAM,UAAU;CAGf;AAED,MAAM,KAAK;CAIV;AAED,MAAa,QAAQ;IAArB;QAKE,WAAM,GAAW,CAAC,CAAC;IAGrB,CAAC;CAAA;AARD,4BAQC;AACD,MAAa,KAAK;CAGjB;AAHD,sBAGC;AACD,IAAK,eAGJ;AAHD,WAAK,eAAe;IAClB,6DAAY,CAAA;IACZ,qEAAgB,CAAA;AAClB,CAAC,EAHI,eAAe,KAAf,eAAe,QAGnB;AACD,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,MAAM,gBAAgB;CAGrB;AAED,MAAM,gBAAgB;CAIrB;AAED,MAAM,YAAY;CAGjB;AAED,MAAM,MAAM;CAGX;AAED,MAAM,MAAM;CAGX;AA0CD,MAAa,QAAQ;IAUnB;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF;AAbD,4BAaC;AAkBD,SAAgB,yBAAyB,CACvC,EAAU,EACV,KAAa,EACb,UAAmB;IAEnB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC;AAED,SAAgB,iBAAiB,CAAC,EAAU,EAAE,KAAa,EAAE,QAAiB;IAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED,MAAa,SAAS;CAMrB;AAND,8BAMC"}
@@ -16,7 +16,7 @@ export default class GitDataProvider {
16
16
  GetCommitByCommitId(projectId: string, repositoryId: string, commitSha: string): Promise<any>;
17
17
  GetCommitForPipeline(projectId: string, buildId: number): Promise<any>;
18
18
  GetItemsForPipelinesRange(projectId: string, fromBuildId: number, toBuildId: number): Promise<any>;
19
- getItemsForPipelineRange(projectName: string, extendedCommits: any[], targetRepo: any): Promise<any[]>;
19
+ getItemsForPipelineRange(projectName: string, extendedCommits: any[], targetRepo: any, addedWorkItemByIdSet: Set<number>): Promise<any[]>;
20
20
  GetCommitsInDateRange(projectId: string, repositoryId: string, fromDate: string, toDate: string, branchName?: string): Promise<any>;
21
21
  GetCommitsInCommitRange(projectId: string, repositoryId: string, fromSha: string, toSha: string): Promise<any>;
22
22
  CreatePullRequestComment(projectName: string, repoID: string, pullRequestID: number, threads: any): Promise<any>;
@@ -164,7 +164,8 @@ class GitDataProvider {
164
164
  }));
165
165
  return linkedItemsArray;
166
166
  } //GetCommitForPipeline
167
- async getItemsForPipelineRange(projectName, extendedCommits, targetRepo) {
167
+ //
168
+ async getItemsForPipelineRange(projectName, extendedCommits, targetRepo, addedWorkItemByIdSet) {
168
169
  var _a;
169
170
  let commitChangesArray = [];
170
171
  try {
@@ -188,7 +189,10 @@ class GitDataProvider {
188
189
  for (const wi of commit.workItems) {
189
190
  const populatedWorkItem = await this.ticketsDataProvider.GetWorkItem(projectName, wi.id);
190
191
  let changeSet = { workItem: populatedWorkItem, commit: commit, targetRepo };
191
- commitChangesArray.push(changeSet);
192
+ if (!addedWorkItemByIdSet.has(wi.id)) {
193
+ addedWorkItemByIdSet.add(wi.id);
194
+ commitChangesArray.push(changeSet);
195
+ }
192
196
  }
193
197
  }
194
198
  let workItemIds = [];
@@ -1 +1 @@
1
- {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,15 @@ export default class TicketsDataProvider {
10
10
  GetParentLink(project: string, wi: any): Promise<Trace>;
11
11
  GetRelationsIds(ids: any): Promise<Map<string, Relations>>;
12
12
  GetLinks(project: string, wi: any, links: any): Promise<Links[]>;
13
- GetSharedQueries(project: string, path: string): Promise<any>;
14
- GetQueryResultsFromWiqlHref(projectName: string, wiqlHref?: string): Promise<any>;
13
+ GetSharedQueries(project: string, path: string, docType?: string): Promise<any>;
14
+ private fetchOneHopQueriesForStr;
15
+ private fetchAnyQueries;
16
+ GetQueryResultsFromWiql(wiqlHref?: string, displayAsTable?: boolean): Promise<any>;
17
+ private parseDirectLinkedQueryResultForTableFormat;
18
+ private parseTreeQueryResult;
19
+ private initTreeQueryResultItem;
20
+ private initFlatQueryResultItem;
21
+ private parseFlatQueryResult;
15
22
  private fetchWIByRelation;
16
23
  GetModeledQuery(list: Array<any>): Array<any>;
17
24
  GetQueryResultsByWiqlHref(wiqlHref: string, project: string): Promise<any>;
@@ -25,7 +32,8 @@ export default class TicketsDataProvider {
25
32
  GetWorkitemAttachments(project: string, id: string): Promise<string[]>;
26
33
  GetWorkitemAttachmentsJSONData(project: string, attachmentId: string): Promise<any>;
27
34
  UpdateWorkItem(projectName: string, wiBody: any, workItemId: number, byPass: boolean): Promise<any>;
28
- private structureQueries;
35
+ private structureAllQueryPath;
36
+ private structureReqTestQueries;
29
37
  private matchesReqTestCondition;
30
38
  private matchesTestReqCondition;
31
39
  private filterFieldsByColumns;
@@ -90,7 +90,7 @@ class TicketsDataProvider {
90
90
  return linkList;
91
91
  }
92
92
  // gets queries recursiv
93
- async GetSharedQueries(project, path) {
93
+ async GetSharedQueries(project, path, docType = '') {
94
94
  let url;
95
95
  try {
96
96
  if (path == '')
@@ -98,15 +98,32 @@ class TicketsDataProvider {
98
98
  else
99
99
  url = `${this.orgUrl}${project}/_apis/wit/queries/${path}?$depth=2&$expand=all`;
100
100
  let queries = await tfs_1.TFSServices.getItemContent(url, this.token);
101
- const { tree1: reqTestTree, tree2: testReqTree } = await this.structureQueries(queries);
102
- return { reqTestTree, testReqTree };
101
+ logger_1.default.debug(`doctype: ${docType}`);
102
+ switch (docType) {
103
+ case 'STD':
104
+ return await this.fetchOneHopQueriesForStr(queries);
105
+ case 'SVD':
106
+ return await this.fetchAnyQueries(queries);
107
+ default:
108
+ break;
109
+ }
103
110
  }
104
111
  catch (err) {
105
112
  logger_1.default.error(err.message);
106
113
  logger_1.default.error(`Error stack trace: ${JSON.stringify(err.stack)}`);
107
114
  }
108
115
  }
109
- async GetQueryResultsFromWiqlHref(projectName, wiqlHref = '') {
116
+ async fetchOneHopQueriesForStr(queries) {
117
+ const { tree1: reqTestTree, tree2: testReqTree } = await this.structureReqTestQueries(queries);
118
+ return { reqTestTree, testReqTree };
119
+ }
120
+ async fetchAnyQueries(queries) {
121
+ const { tree1: systemOverviewQueryTree } = await this.structureAllQueryPath(queries);
122
+ //TODO:insert here the known bugs tree from the queries (similar to req-test)
123
+ const knownBugsTree = {};
124
+ return { systemOverviewQueryTree };
125
+ }
126
+ async GetQueryResultsFromWiql(wiqlHref = '', displayAsTable = false) {
110
127
  try {
111
128
  if (!wiqlHref) {
112
129
  throw new Error('Incorrect WIQL Link');
@@ -116,27 +133,46 @@ class TicketsDataProvider {
116
133
  if (!queryResult) {
117
134
  throw new Error('Query result failed');
118
135
  }
119
- const { columns, workItemRelations } = queryResult;
120
- if (workItemRelations.length === 0) {
121
- throw new Error('No related work items were found');
136
+ switch (queryResult.queryType) {
137
+ case tfs_data_3.QueryType.OneHop:
138
+ return displayAsTable
139
+ ? await this.parseDirectLinkedQueryResultForTableFormat(queryResult)
140
+ : await this.parseTreeQueryResult(queryResult);
141
+ case tfs_data_3.QueryType.Tree:
142
+ return await this.parseTreeQueryResult(queryResult);
143
+ case tfs_data_3.QueryType.Flat:
144
+ return await this.parseFlatQueryResult(queryResult);
145
+ default:
146
+ break;
122
147
  }
123
- const columnsToShowMap = new Map();
124
- const columnSourceMap = new Map();
125
- const columnTargetsMap = new Map();
126
- //The map is copied because there are different fields for each WI type,
127
- //Need to consider both ways (Req->Test; Test->Req)
128
- columns.forEach((column) => {
129
- const { referenceName, name } = column;
130
- if (name === 'CustomerRequirementId') {
131
- columnsToShowMap.set(referenceName, 'Customer ID');
132
- }
133
- else {
134
- columnsToShowMap.set(referenceName, name);
135
- }
136
- });
137
- // Initialize maps
138
- const sourceTargetsMap = new Map();
139
- const lookupMap = new Map();
148
+ }
149
+ catch (err) {
150
+ logger_1.default.error(`Could not fetch query results for ${wiqlHref}: ${err.message}`);
151
+ }
152
+ }
153
+ async parseDirectLinkedQueryResultForTableFormat(queryResult) {
154
+ const { columns, workItemRelations } = queryResult;
155
+ if ((workItemRelations === null || workItemRelations === void 0 ? void 0 : workItemRelations.length) === 0) {
156
+ throw new Error('No related work items were found');
157
+ }
158
+ const columnsToShowMap = new Map();
159
+ const columnSourceMap = new Map();
160
+ const columnTargetsMap = new Map();
161
+ //The map is copied because there are different fields for each WI type,
162
+ //Need to consider both ways (Req->Test; Test->Req)
163
+ columns.forEach((column) => {
164
+ const { referenceName, name } = column;
165
+ if (name === 'CustomerRequirementId') {
166
+ columnsToShowMap.set(referenceName, 'Customer ID');
167
+ }
168
+ else {
169
+ columnsToShowMap.set(referenceName, name);
170
+ }
171
+ });
172
+ // Initialize maps
173
+ const sourceTargetsMap = new Map();
174
+ const lookupMap = new Map();
175
+ if (workItemRelations) {
140
176
  for (const relation of workItemRelations) {
141
177
  //if relation.Source is null and target has a valid value then the target is the source
142
178
  if (!relation.source) {
@@ -161,15 +197,92 @@ class TicketsDataProvider {
161
197
  targets.push(targetWi);
162
198
  sourceTargetsMap.set(sourceRelation, targets);
163
199
  }
164
- columnsToShowMap.clear();
165
- return {
166
- sourceTargetsMap,
167
- sortingSourceColumnsMap: columnSourceMap,
168
- sortingTargetsColumnsMap: columnTargetsMap,
169
- };
170
200
  }
171
- catch (err) {
172
- logger_1.default.error(err.message);
201
+ columnsToShowMap.clear();
202
+ return {
203
+ sourceTargetsMap,
204
+ sortingSourceColumnsMap: columnSourceMap,
205
+ sortingTargetsColumnsMap: columnTargetsMap,
206
+ };
207
+ }
208
+ async parseTreeQueryResult(queryResult) {
209
+ const { workItemRelations } = queryResult;
210
+ if (!workItemRelations) {
211
+ logger_1.default.warn(`No work items were found for this requested query`);
212
+ return null;
213
+ }
214
+ try {
215
+ // Step 1: Identify roots and prepare a map of all nodes
216
+ const allItems = {};
217
+ const roots = [];
218
+ for (const relation of workItemRelations) {
219
+ const target = relation.target;
220
+ // Initialize the node if it doesn't exist yet
221
+ if (!allItems[target.id]) {
222
+ await this.initTreeQueryResultItem(target, allItems);
223
+ }
224
+ if (relation.rel === null && relation.source === null) {
225
+ roots.push(allItems[target.id]);
226
+ }
227
+ else if (relation.source) {
228
+ // This means target is a child of source
229
+ const parentId = relation.source.id;
230
+ if (!allItems[parentId]) {
231
+ const source = relation.source;
232
+ await this.initTreeQueryResultItem(source, allItems);
233
+ }
234
+ // Add the target as a child of the parent
235
+ allItems[parentId].children.push(allItems[target.id]);
236
+ }
237
+ }
238
+ return roots;
239
+ }
240
+ catch (error) {
241
+ logger_1.default.error(`could not parse requested tree query: ${error.message}`);
242
+ }
243
+ }
244
+ async initTreeQueryResultItem(item, allItems) {
245
+ var _a, _b;
246
+ const urlWi = `${item.url}?fields=System.Description,System.Title,Microsoft.VSTS.TCM.ReproSteps,Microsoft.VSTS.CMMI.Symptom`;
247
+ const wi = await tfs_1.TFSServices.getItemContent(urlWi, this.token);
248
+ // need to fetch the WI with only the the title, the web URL and the description
249
+ allItems[item.id] = {
250
+ id: item.id,
251
+ title: wi.fields['System.Title'] || '',
252
+ description: (_b = (_a = wi.fields['Microsoft.VSTS.CMMI.Symptom']) !== null && _a !== void 0 ? _a : wi.fields['System.Description']) !== null && _b !== void 0 ? _b : '',
253
+ htmlUrl: wi._links.html.href,
254
+ children: [],
255
+ };
256
+ }
257
+ async initFlatQueryResultItem(item, workItemMap) {
258
+ var _a, _b;
259
+ const urlWi = `${item.url}?fields=System.Description,System.Title,Microsoft.VSTS.TCM.ReproSteps,Microsoft.VSTS.CMMI.Symptom`;
260
+ const wi = await tfs_1.TFSServices.getItemContent(urlWi, this.token);
261
+ // need to fetch the WI with only the the title, the web URL and the description
262
+ workItemMap.set(item.id, {
263
+ id: item.id,
264
+ title: wi.fields['System.Title'] || '',
265
+ description: (_b = (_a = wi.fields['Microsoft.VSTS.CMMI.Symptom']) !== null && _a !== void 0 ? _a : wi.fields['System.Description']) !== null && _b !== void 0 ? _b : '',
266
+ htmlUrl: wi._links.html.href,
267
+ });
268
+ }
269
+ async parseFlatQueryResult(queryResult) {
270
+ const { workItems } = queryResult;
271
+ if (!workItems) {
272
+ logger_1.default.warn(`No work items were found for this requested query`);
273
+ return null;
274
+ }
275
+ try {
276
+ const workItemsResultMap = new Map();
277
+ for (const wi of workItems) {
278
+ if (!workItemsResultMap.has(wi.id)) {
279
+ await this.initFlatQueryResultItem(wi, workItemsResultMap);
280
+ }
281
+ }
282
+ return [...workItemsResultMap.values()];
283
+ }
284
+ catch (error) {
285
+ logger_1.default.error(`could not parse requested flat query: ${error.message}`);
173
286
  }
174
287
  }
175
288
  async fetchWIByRelation(relation, columnMap, resultedRefNameMap) {
@@ -404,7 +517,54 @@ class TicketsDataProvider {
404
517
  });
405
518
  return res;
406
519
  } //CreateNewWorkItem
407
- async structureQueries(rootQuery, parentId = null) {
520
+ async structureAllQueryPath(rootQuery, parentId = null) {
521
+ var _a;
522
+ try {
523
+ if (!rootQuery.hasChildren) {
524
+ if (!rootQuery.isFolder) {
525
+ let treeNode = {
526
+ id: rootQuery.id,
527
+ pId: parentId,
528
+ value: rootQuery.name,
529
+ title: rootQuery.name,
530
+ queryType: rootQuery.queryType,
531
+ wiql: (_a = rootQuery._links.wiql) !== null && _a !== void 0 ? _a : undefined,
532
+ isValidQuery: true,
533
+ };
534
+ return { tree1: treeNode, tree2: null };
535
+ }
536
+ else {
537
+ return { tree1: null, tree2: null };
538
+ }
539
+ }
540
+ if (!rootQuery.children) {
541
+ const queryUrl = `${rootQuery.url}?$depth=2&$expand=all`;
542
+ const currentQuery = await tfs_1.TFSServices.getItemContent(queryUrl, this.token);
543
+ return currentQuery
544
+ ? await this.structureAllQueryPath(currentQuery, currentQuery.id)
545
+ : { tree1: null, tree2: null };
546
+ }
547
+ // Process children recursively
548
+ const childResults = await Promise.all(rootQuery.children.map((child) => this.structureAllQueryPath(child, rootQuery.id)));
549
+ // Build tree
550
+ const treeChildren = childResults.map((res) => res.tree1).filter((child) => child !== null);
551
+ const treeNode = treeChildren.length > 0
552
+ ? {
553
+ id: rootQuery.id,
554
+ pId: parentId,
555
+ value: rootQuery.name,
556
+ title: rootQuery.name,
557
+ children: treeChildren,
558
+ }
559
+ : null;
560
+ return { tree1: treeNode, tree2: null };
561
+ }
562
+ catch (err) {
563
+ logger_1.default.error(`Error occurred while constructing the query list ${err.message} with query ${JSON.stringify(rootQuery)}`);
564
+ logger_1.default.error(`Error stack ${err.message}`);
565
+ }
566
+ }
567
+ async structureReqTestQueries(rootQuery, parentId = null) {
408
568
  var _a, _b;
409
569
  try {
410
570
  if (!rootQuery.hasChildren) {
@@ -444,11 +604,11 @@ class TicketsDataProvider {
444
604
  const queryUrl = `${rootQuery.url}?$depth=2&$expand=all`;
445
605
  const currentQuery = await tfs_1.TFSServices.getItemContent(queryUrl, this.token);
446
606
  return currentQuery
447
- ? await this.structureQueries(currentQuery, currentQuery.id)
607
+ ? await this.structureReqTestQueries(currentQuery, currentQuery.id)
448
608
  : { tree1: null, tree2: null };
449
609
  }
450
610
  // Process children recursively
451
- const childResults = await Promise.all(rootQuery.children.map((child) => this.structureQueries(child, rootQuery.id)));
611
+ const childResults = await Promise.all(rootQuery.children.map((child) => this.structureReqTestQueries(child, rootQuery.id)));
452
612
  // Build tree1
453
613
  const tree1Children = childResults.map((res) => res.tree1).filter((child) => child !== null);
454
614
  const tree1Node = tree1Children.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"TicketsDataProvider.js","sourceRoot":"","sources":["../../src/modules/TicketsDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TicketsDataProvider.js","sourceRoot":"","sources":["../../src/modules/TicketsDataProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-data-provider",
3
- "version": "1.8.0",
3
+ "version": "1.9.1",
4
4
  "description": "A document generator data provider, aimed to retrive data from azure devops",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,13 +11,14 @@ export class Query {
11
11
  //sortColumns: Sortcolumn[] =new Array<Sortcolumn>()
12
12
  workItems: Workitem[] = new Array<Workitem>();
13
13
  }
14
- class QueryTree {
14
+ export class QueryTree {
15
15
  queryType: QueryType;
16
16
  queryResultType: QueryResultType;
17
- asOf: Date;
18
- columns: Column[] = new Array<Column>();
19
- //sortColumns: Sortcolumn[] =new Array<Sortcolumn>()
20
- workItems: Workitemrelation[] = new Array<Workitemrelation>();
17
+ asOf: string;
18
+ columns: Column[];
19
+ sortColumns?: SortColumn[];
20
+ workItems?: WorkItemForQuery[];
21
+ workItemRelations?: WorkItemRelation[];
21
22
  }
22
23
 
23
24
  export class Column {
@@ -26,7 +27,7 @@ export class Column {
26
27
  url: string;
27
28
  }
28
29
 
29
- class Sortcolumn {
30
+ class SortColumn {
30
31
  field: Field;
31
32
  descending: boolean;
32
33
  }
@@ -60,14 +61,19 @@ export enum QueryType {
60
61
  OneHop = 'oneHop',
61
62
  }
62
63
 
63
- class Workitemrelation {
64
+ class WorkItemForQuery {
65
+ id: number;
66
+ url: string;
67
+ }
68
+
69
+ class WorkItemRelation {
64
70
  rel: string;
65
71
  source: Source;
66
72
  target: Target;
67
73
  }
68
74
 
69
75
  class Workrelation {
70
- relation: Workitemrelation;
76
+ relation: WorkItemRelation;
71
77
  value: value;
72
78
  }
73
79
 
@@ -201,7 +201,13 @@ export default class GitDataProvider {
201
201
  return linkedItemsArray;
202
202
  } //GetCommitForPipeline
203
203
 
204
- async getItemsForPipelineRange(projectName: string, extendedCommits: any[], targetRepo: any) {
204
+ //
205
+ async getItemsForPipelineRange(
206
+ projectName: string,
207
+ extendedCommits: any[],
208
+ targetRepo: any,
209
+ addedWorkItemByIdSet: Set<number>
210
+ ) {
205
211
  let commitChangesArray: any[] = [];
206
212
  try {
207
213
  if (extendedCommits?.length === 0) {
@@ -224,7 +230,10 @@ export default class GitDataProvider {
224
230
  for (const wi of commit.workItems) {
225
231
  const populatedWorkItem = await this.ticketsDataProvider.GetWorkItem(projectName, wi.id);
226
232
  let changeSet: any = { workItem: populatedWorkItem, commit: commit, targetRepo };
227
- commitChangesArray.push(changeSet);
233
+ if (!addedWorkItemByIdSet.has(wi.id)) {
234
+ addedWorkItemByIdSet.add(wi.id);
235
+ commitChangesArray.push(changeSet);
236
+ }
228
237
  }
229
238
  }
230
239
 
@@ -1,5 +1,5 @@
1
1
  import { TFSServices } from '../helpers/tfs';
2
- import { Workitem } from '../models/tfs-data';
2
+ import { Workitem, QueryTree } from '../models/tfs-data';
3
3
  import { Helper, suiteData, Links, Trace, Relations } from '../helpers/helper';
4
4
  import { Query, TestSteps } from '../models/tfs-data';
5
5
  import { QueryType } from '../models/tfs-data';
@@ -98,58 +98,94 @@ export default class TicketsDataProvider {
98
98
  return linkList;
99
99
  }
100
100
  // gets queries recursiv
101
- async GetSharedQueries(project: string, path: string): Promise<any> {
101
+ async GetSharedQueries(project: string, path: string, docType: string = ''): Promise<any> {
102
102
  let url;
103
103
  try {
104
104
  if (path == '')
105
105
  url = `${this.orgUrl}${project}/_apis/wit/queries/Shared%20Queries?$depth=2&$expand=all`;
106
106
  else url = `${this.orgUrl}${project}/_apis/wit/queries/${path}?$depth=2&$expand=all`;
107
107
  let queries: any = await TFSServices.getItemContent(url, this.token);
108
- const { tree1: reqTestTree, tree2: testReqTree } = await this.structureQueries(queries);
109
- return { reqTestTree, testReqTree };
108
+ logger.debug(`doctype: ${docType}`);
109
+ switch (docType) {
110
+ case 'STD':
111
+ return await this.fetchOneHopQueriesForStr(queries);
112
+ case 'SVD':
113
+ return await this.fetchAnyQueries(queries);
114
+ default:
115
+ break;
116
+ }
110
117
  } catch (err: any) {
111
118
  logger.error(err.message);
112
119
  logger.error(`Error stack trace: ${JSON.stringify(err.stack)}`);
113
120
  }
114
121
  }
115
122
 
116
- async GetQueryResultsFromWiqlHref(projectName: string, wiqlHref: string = ''): Promise<any> {
123
+ private async fetchOneHopQueriesForStr(queries: any) {
124
+ const { tree1: reqTestTree, tree2: testReqTree } = await this.structureReqTestQueries(queries);
125
+ return { reqTestTree, testReqTree };
126
+ }
127
+ private async fetchAnyQueries(queries: any) {
128
+ const { tree1: systemOverviewQueryTree } = await this.structureAllQueryPath(queries);
129
+ //TODO:insert here the known bugs tree from the queries (similar to req-test)
130
+ const knownBugsTree = {};
131
+ return { systemOverviewQueryTree };
132
+ }
133
+
134
+ async GetQueryResultsFromWiql(wiqlHref: string = '', displayAsTable: boolean = false): Promise<any> {
117
135
  try {
118
136
  if (!wiqlHref) {
119
137
  throw new Error('Incorrect WIQL Link');
120
138
  }
121
-
122
139
  // Remember to add customer id if needed
123
- const queryResult: any = await TFSServices.getItemContent(wiqlHref, this.token);
140
+ const queryResult: QueryTree = await TFSServices.getItemContent(wiqlHref, this.token);
124
141
  if (!queryResult) {
125
142
  throw new Error('Query result failed');
126
143
  }
127
144
 
128
- const { columns, workItemRelations } = queryResult;
129
-
130
- if (workItemRelations.length === 0) {
131
- throw new Error('No related work items were found');
145
+ switch (queryResult.queryType) {
146
+ case QueryType.OneHop:
147
+ return displayAsTable
148
+ ? await this.parseDirectLinkedQueryResultForTableFormat(queryResult)
149
+ : await this.parseTreeQueryResult(queryResult);
150
+ case QueryType.Tree:
151
+ return await this.parseTreeQueryResult(queryResult);
152
+ case QueryType.Flat:
153
+ return await this.parseFlatQueryResult(queryResult);
154
+ default:
155
+ break;
132
156
  }
157
+ } catch (err: any) {
158
+ logger.error(`Could not fetch query results for ${wiqlHref}: ${err.message}`);
159
+ }
160
+ }
133
161
 
134
- const columnsToShowMap: Map<string, string> = new Map();
162
+ private async parseDirectLinkedQueryResultForTableFormat(queryResult: QueryTree) {
163
+ const { columns, workItemRelations } = queryResult;
135
164
 
136
- const columnSourceMap: Map<string, string> = new Map();
137
- const columnTargetsMap: Map<string, string> = new Map();
165
+ if (workItemRelations?.length === 0) {
166
+ throw new Error('No related work items were found');
167
+ }
138
168
 
139
- //The map is copied because there are different fields for each WI type,
140
- //Need to consider both ways (Req->Test; Test->Req)
141
- columns.forEach((column: any) => {
142
- const { referenceName, name } = column;
143
- if (name === 'CustomerRequirementId') {
144
- columnsToShowMap.set(referenceName, 'Customer ID');
145
- } else {
146
- columnsToShowMap.set(referenceName, name);
147
- }
148
- });
169
+ const columnsToShowMap: Map<string, string> = new Map();
170
+
171
+ const columnSourceMap: Map<string, string> = new Map();
172
+ const columnTargetsMap: Map<string, string> = new Map();
149
173
 
150
- // Initialize maps
151
- const sourceTargetsMap: Map<any, any[]> = new Map();
152
- const lookupMap: Map<number, any> = new Map();
174
+ //The map is copied because there are different fields for each WI type,
175
+ //Need to consider both ways (Req->Test; Test->Req)
176
+ columns.forEach((column: any) => {
177
+ const { referenceName, name } = column;
178
+ if (name === 'CustomerRequirementId') {
179
+ columnsToShowMap.set(referenceName, 'Customer ID');
180
+ } else {
181
+ columnsToShowMap.set(referenceName, name);
182
+ }
183
+ });
184
+
185
+ // Initialize maps
186
+ const sourceTargetsMap: Map<any, any[]> = new Map();
187
+ const lookupMap: Map<number, any> = new Map();
188
+ if (workItemRelations) {
153
189
  for (const relation of workItemRelations) {
154
190
  //if relation.Source is null and target has a valid value then the target is the source
155
191
  if (!relation.source) {
@@ -177,14 +213,96 @@ export default class TicketsDataProvider {
177
213
  targets.push(targetWi);
178
214
  sourceTargetsMap.set(sourceRelation, targets);
179
215
  }
180
- columnsToShowMap.clear();
181
- return {
182
- sourceTargetsMap,
183
- sortingSourceColumnsMap: columnSourceMap,
184
- sortingTargetsColumnsMap: columnTargetsMap,
185
- };
186
- } catch (err: any) {
187
- logger.error(err.message);
216
+ }
217
+
218
+ columnsToShowMap.clear();
219
+ return {
220
+ sourceTargetsMap,
221
+ sortingSourceColumnsMap: columnSourceMap,
222
+ sortingTargetsColumnsMap: columnTargetsMap,
223
+ };
224
+ }
225
+
226
+ private async parseTreeQueryResult(queryResult: QueryTree) {
227
+ const { workItemRelations } = queryResult;
228
+ if (!workItemRelations) {
229
+ logger.warn(`No work items were found for this requested query`);
230
+ return null;
231
+ }
232
+
233
+ try {
234
+ // Step 1: Identify roots and prepare a map of all nodes
235
+ const allItems: any = {};
236
+ const roots = [];
237
+ for (const relation of workItemRelations) {
238
+ const target = relation.target;
239
+ // Initialize the node if it doesn't exist yet
240
+ if (!allItems[target.id]) {
241
+ await this.initTreeQueryResultItem(target, allItems);
242
+ }
243
+
244
+ if (relation.rel === null && relation.source === null) {
245
+ roots.push(allItems[target.id]);
246
+ } else if (relation.source) {
247
+ // This means target is a child of source
248
+ const parentId = relation.source.id;
249
+ if (!allItems[parentId]) {
250
+ const source = relation.source;
251
+ await this.initTreeQueryResultItem(source, allItems);
252
+ }
253
+ // Add the target as a child of the parent
254
+ allItems[parentId].children.push(allItems[target.id]);
255
+ }
256
+ }
257
+
258
+ return roots;
259
+ } catch (error: any) {
260
+ logger.error(`could not parse requested tree query: ${error.message}`);
261
+ }
262
+ }
263
+
264
+ private async initTreeQueryResultItem(item: any, allItems: any) {
265
+ const urlWi = `${item.url}?fields=System.Description,System.Title,Microsoft.VSTS.TCM.ReproSteps,Microsoft.VSTS.CMMI.Symptom`;
266
+ const wi = await TFSServices.getItemContent(urlWi, this.token);
267
+ // need to fetch the WI with only the the title, the web URL and the description
268
+ allItems[item.id] = {
269
+ id: item.id,
270
+ title: wi.fields['System.Title'] || '',
271
+ description: wi.fields['Microsoft.VSTS.CMMI.Symptom'] ?? wi.fields['System.Description'] ?? '',
272
+ htmlUrl: wi._links.html.href,
273
+ children: [],
274
+ };
275
+ }
276
+
277
+ private async initFlatQueryResultItem(item: any, workItemMap: Map<number, any>) {
278
+ const urlWi = `${item.url}?fields=System.Description,System.Title,Microsoft.VSTS.TCM.ReproSteps,Microsoft.VSTS.CMMI.Symptom`;
279
+ const wi = await TFSServices.getItemContent(urlWi, this.token);
280
+ // need to fetch the WI with only the the title, the web URL and the description
281
+ workItemMap.set(item.id, {
282
+ id: item.id,
283
+ title: wi.fields['System.Title'] || '',
284
+ description: wi.fields['Microsoft.VSTS.CMMI.Symptom'] ?? wi.fields['System.Description'] ?? '',
285
+ htmlUrl: wi._links.html.href,
286
+ });
287
+ }
288
+
289
+ private async parseFlatQueryResult(queryResult: QueryTree) {
290
+ const { workItems } = queryResult;
291
+ if (!workItems) {
292
+ logger.warn(`No work items were found for this requested query`);
293
+ return null;
294
+ }
295
+
296
+ try {
297
+ const workItemsResultMap: Map<number, any> = new Map();
298
+ for (const wi of workItems) {
299
+ if (!workItemsResultMap.has(wi.id)) {
300
+ await this.initFlatQueryResultItem(wi, workItemsResultMap);
301
+ }
302
+ }
303
+ return [...workItemsResultMap.values()];
304
+ } catch (error: any) {
305
+ logger.error(`could not parse requested flat query: ${error.message}`);
188
306
  }
189
307
  }
190
308
 
@@ -441,7 +559,64 @@ export default class TicketsDataProvider {
441
559
  return res;
442
560
  } //CreateNewWorkItem
443
561
 
444
- private async structureQueries(rootQuery: any, parentId: any = null): Promise<any> {
562
+ private async structureAllQueryPath(rootQuery: any, parentId: any = null): Promise<any> {
563
+ try {
564
+ if (!rootQuery.hasChildren) {
565
+ if (!rootQuery.isFolder) {
566
+ let treeNode = {
567
+ id: rootQuery.id,
568
+ pId: parentId,
569
+ value: rootQuery.name,
570
+ title: rootQuery.name,
571
+ queryType: rootQuery.queryType,
572
+ wiql: rootQuery._links.wiql ?? undefined,
573
+ isValidQuery: true,
574
+ };
575
+
576
+ return { tree1: treeNode, tree2: null };
577
+ } else {
578
+ return { tree1: null, tree2: null };
579
+ }
580
+ }
581
+
582
+ if (!rootQuery.children) {
583
+ const queryUrl = `${rootQuery.url}?$depth=2&$expand=all`;
584
+ const currentQuery = await TFSServices.getItemContent(queryUrl, this.token);
585
+ return currentQuery
586
+ ? await this.structureAllQueryPath(currentQuery, currentQuery.id)
587
+ : { tree1: null, tree2: null };
588
+ }
589
+
590
+ // Process children recursively
591
+ const childResults = await Promise.all(
592
+ rootQuery.children.map((child: any) => this.structureAllQueryPath(child, rootQuery.id))
593
+ );
594
+
595
+ // Build tree
596
+ const treeChildren = childResults.map((res: any) => res.tree1).filter((child: any) => child !== null);
597
+ const treeNode =
598
+ treeChildren.length > 0
599
+ ? {
600
+ id: rootQuery.id,
601
+ pId: parentId,
602
+ value: rootQuery.name,
603
+ title: rootQuery.name,
604
+ children: treeChildren,
605
+ }
606
+ : null;
607
+
608
+ return { tree1: treeNode, tree2: null };
609
+ } catch (err: any) {
610
+ logger.error(
611
+ `Error occurred while constructing the query list ${err.message} with query ${JSON.stringify(
612
+ rootQuery
613
+ )}`
614
+ );
615
+ logger.error(`Error stack ${err.message}`);
616
+ }
617
+ }
618
+
619
+ private async structureReqTestQueries(rootQuery: any, parentId: any = null): Promise<any> {
445
620
  try {
446
621
  if (!rootQuery.hasChildren) {
447
622
  if (!rootQuery.isFolder && rootQuery.queryType === 'oneHop') {
@@ -481,13 +656,13 @@ export default class TicketsDataProvider {
481
656
  const queryUrl = `${rootQuery.url}?$depth=2&$expand=all`;
482
657
  const currentQuery = await TFSServices.getItemContent(queryUrl, this.token);
483
658
  return currentQuery
484
- ? await this.structureQueries(currentQuery, currentQuery.id)
659
+ ? await this.structureReqTestQueries(currentQuery, currentQuery.id)
485
660
  : { tree1: null, tree2: null };
486
661
  }
487
662
 
488
663
  // Process children recursively
489
664
  const childResults = await Promise.all(
490
- rootQuery.children.map((child: any) => this.structureQueries(child, rootQuery.id))
665
+ rootQuery.children.map((child: any) => this.structureReqTestQueries(child, rootQuery.id))
491
666
  );
492
667
 
493
668
  // Build tree1