@elisra-devops/docgen-data-provider 1.58.0 → 1.59.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.
|
@@ -137,13 +137,27 @@ export default class TicketsDataProvider {
|
|
|
137
137
|
* source and target conditions. It checks if the WIQL contains references to the specified
|
|
138
138
|
* source and target work item types.
|
|
139
139
|
*
|
|
140
|
+
* Supports both equality (=) and IN operators:
|
|
141
|
+
* - Source.[System.WorkItemType] = 'Epic'
|
|
142
|
+
* - Source.[System.WorkItemType] IN ('Epic', 'Feature', 'Requirement')
|
|
143
|
+
*
|
|
140
144
|
* @param wiql - The WIQL string to evaluate.
|
|
141
145
|
* @param source - An array of source work item types to check for in the WIQL.
|
|
142
146
|
* @param target - An array of target work item types to check for in the WIQL.
|
|
143
|
-
* @returns A boolean indicating whether the WIQL includes at least one source work item type
|
|
144
|
-
* and at least one target work item type.
|
|
147
|
+
* @returns A boolean indicating whether the WIQL includes at least one valid source work item type
|
|
148
|
+
* and at least one valid target work item type.
|
|
145
149
|
*/
|
|
146
150
|
private matchesSourceTargetCondition;
|
|
151
|
+
/**
|
|
152
|
+
* Helper method to check if a WIQL contains valid work item types for a given context (Source/Target).
|
|
153
|
+
* Supports both = and IN operators.
|
|
154
|
+
*
|
|
155
|
+
* @param wiql - The WIQL string to evaluate
|
|
156
|
+
* @param context - Either 'Source' or 'Target'
|
|
157
|
+
* @param allowedTypes - Array of allowed work item types
|
|
158
|
+
* @returns true if all work item types in the WIQL are in the allowedTypes array
|
|
159
|
+
*/
|
|
160
|
+
private matchesWorkItemTypeCondition;
|
|
147
161
|
private matchesBugCondition;
|
|
148
162
|
private filterFieldsByColumns;
|
|
149
163
|
GetWorkItemTypeList(project: string): Promise<any[]>;
|
|
@@ -478,14 +478,20 @@ class TicketsDataProvider {
|
|
|
478
478
|
const { workItemRelations } = queryResult;
|
|
479
479
|
if (!workItemRelations)
|
|
480
480
|
return null;
|
|
481
|
+
logger_1.default.debug(`parseTreeQueryResult: Processing ${workItemRelations.length} workItemRelations`);
|
|
481
482
|
const allItems = {};
|
|
482
483
|
const rootOrder = [];
|
|
483
484
|
const rootSet = new Set(); // track roots for dedupe
|
|
484
|
-
// Initialize nodes
|
|
485
|
+
// Initialize ALL nodes from workItemRelations (not just hierarchy ones)
|
|
486
|
+
// This ensures nodes with non-hierarchy links are also available
|
|
485
487
|
for (const rel of workItemRelations) {
|
|
486
488
|
const t = rel.target;
|
|
487
489
|
if (!allItems[t.id])
|
|
488
490
|
await this.initTreeQueryResultItem(t, allItems);
|
|
491
|
+
// Also initialize source nodes if they exist
|
|
492
|
+
if (rel.source && !allItems[rel.source.id]) {
|
|
493
|
+
await this.initTreeQueryResultItem(rel.source, allItems);
|
|
494
|
+
}
|
|
489
495
|
if (rel.rel === null && rel.source === null) {
|
|
490
496
|
if (!rootSet.has(t.id)) {
|
|
491
497
|
rootSet.add(t.id);
|
|
@@ -493,37 +499,52 @@ class TicketsDataProvider {
|
|
|
493
499
|
}
|
|
494
500
|
}
|
|
495
501
|
}
|
|
502
|
+
logger_1.default.debug(`parseTreeQueryResult: Found ${rootOrder.length} roots, ${Object.keys(allItems).length} total nodes`);
|
|
496
503
|
// Attach only forward hierarchy edges; dedupe children by id per parent
|
|
504
|
+
let hierarchyCount = 0;
|
|
505
|
+
let skippedNonHierarchy = 0;
|
|
497
506
|
for (const rel of workItemRelations) {
|
|
498
507
|
if (!rel.source)
|
|
499
508
|
continue;
|
|
500
509
|
const linkType = (rel.rel || '').toLowerCase();
|
|
501
|
-
if (!linkType.includes('hierarchy-forward'))
|
|
510
|
+
if (!linkType.includes('hierarchy-forward')) {
|
|
511
|
+
skippedNonHierarchy++;
|
|
502
512
|
continue; // skip reverse/others
|
|
513
|
+
}
|
|
503
514
|
const parentId = rel.source.id;
|
|
504
515
|
const childId = rel.target.id;
|
|
505
|
-
|
|
516
|
+
// Nodes should already be initialized, but double-check
|
|
517
|
+
if (!allItems[parentId]) {
|
|
518
|
+
logger_1.default.warn(`Parent ${parentId} not found, initializing now`);
|
|
506
519
|
await this.initTreeQueryResultItem(rel.source, allItems);
|
|
507
|
-
|
|
520
|
+
}
|
|
521
|
+
if (!allItems[childId]) {
|
|
522
|
+
logger_1.default.warn(`Child ${childId} not found, initializing now`);
|
|
508
523
|
await this.initTreeQueryResultItem(rel.target, allItems);
|
|
524
|
+
}
|
|
509
525
|
const parent = allItems[parentId];
|
|
510
526
|
parent._childrenSet || (parent._childrenSet = new Set());
|
|
511
527
|
if (!parent._childrenSet.has(childId)) {
|
|
512
528
|
parent._childrenSet.add(childId);
|
|
513
529
|
parent.children.push(allItems[childId]);
|
|
530
|
+
hierarchyCount++;
|
|
514
531
|
}
|
|
515
532
|
// If this child was previously considered a root, remove it from roots
|
|
516
|
-
if (rootSet.has(childId))
|
|
533
|
+
if (rootSet.has(childId)) {
|
|
517
534
|
rootSet.delete(childId);
|
|
535
|
+
}
|
|
518
536
|
}
|
|
537
|
+
logger_1.default.debug(`parseTreeQueryResult: ${hierarchyCount} hierarchy links, ${skippedNonHierarchy} non-hierarchy links skipped`);
|
|
519
538
|
// Return roots in original order, excluding those that became children
|
|
520
539
|
const roots = rootOrder.filter((id) => rootSet.has(id)).map((id) => allItems[id]);
|
|
540
|
+
logger_1.default.debug(`parseTreeQueryResult: Returning ${roots.length} roots with ${Object.keys(allItems).length} total items`);
|
|
521
541
|
// Optional: clean helper sets
|
|
522
542
|
for (const id in allItems)
|
|
523
543
|
delete allItems[id]._childrenSet;
|
|
524
544
|
return {
|
|
525
545
|
roots, // your parsed tree (what you currently return)
|
|
526
|
-
workItemRelations, //
|
|
546
|
+
workItemRelations, // all relations for link-driven rendering
|
|
547
|
+
allItems, // all fetched items (including those not in hierarchy)
|
|
527
548
|
};
|
|
528
549
|
}
|
|
529
550
|
async initTreeQueryResultItem(item, allItems) {
|
|
@@ -1034,36 +1055,68 @@ class TicketsDataProvider {
|
|
|
1034
1055
|
* source and target conditions. It checks if the WIQL contains references to the specified
|
|
1035
1056
|
* source and target work item types.
|
|
1036
1057
|
*
|
|
1058
|
+
* Supports both equality (=) and IN operators:
|
|
1059
|
+
* - Source.[System.WorkItemType] = 'Epic'
|
|
1060
|
+
* - Source.[System.WorkItemType] IN ('Epic', 'Feature', 'Requirement')
|
|
1061
|
+
*
|
|
1037
1062
|
* @param wiql - The WIQL string to evaluate.
|
|
1038
1063
|
* @param source - An array of source work item types to check for in the WIQL.
|
|
1039
1064
|
* @param target - An array of target work item types to check for in the WIQL.
|
|
1040
|
-
* @returns A boolean indicating whether the WIQL includes at least one source work item type
|
|
1041
|
-
* and at least one target work item type.
|
|
1065
|
+
* @returns A boolean indicating whether the WIQL includes at least one valid source work item type
|
|
1066
|
+
* and at least one valid target work item type.
|
|
1042
1067
|
*/
|
|
1043
1068
|
matchesSourceTargetCondition(wiql, source, target) {
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1069
|
+
const isSourceIncluded = this.matchesWorkItemTypeCondition(wiql, 'Source', source);
|
|
1070
|
+
const isTargetIncluded = this.matchesWorkItemTypeCondition(wiql, 'Target', target);
|
|
1071
|
+
return isSourceIncluded && isTargetIncluded;
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Helper method to check if a WIQL contains valid work item types for a given context (Source/Target).
|
|
1075
|
+
* Supports both = and IN operators.
|
|
1076
|
+
*
|
|
1077
|
+
* @param wiql - The WIQL string to evaluate
|
|
1078
|
+
* @param context - Either 'Source' or 'Target'
|
|
1079
|
+
* @param allowedTypes - Array of allowed work item types
|
|
1080
|
+
* @returns true if all work item types in the WIQL are in the allowedTypes array
|
|
1081
|
+
*/
|
|
1082
|
+
matchesWorkItemTypeCondition(wiql, context, allowedTypes) {
|
|
1083
|
+
// If allowedTypes is empty, accept any work item type (for backward compatibility)
|
|
1084
|
+
if (allowedTypes.length === 0) {
|
|
1085
|
+
return wiql.includes(`${context}.[System.WorkItemType]`);
|
|
1086
|
+
}
|
|
1087
|
+
const fieldPattern = `${context}.\\[System.WorkItemType\\]`;
|
|
1088
|
+
// Pattern for equality: Source.[System.WorkItemType] = 'Epic'
|
|
1089
|
+
const equalityRegex = new RegExp(`${fieldPattern}\\s*=\\s*'([^']+)'`, 'gi');
|
|
1090
|
+
// Pattern for IN operator: Source.[System.WorkItemType] IN ('Epic', 'Feature', 'Requirement')
|
|
1091
|
+
const inRegex = new RegExp(`${fieldPattern}\\s+IN\\s*\\(([^)]+)\\)`, 'gi');
|
|
1092
|
+
const foundTypes = new Set();
|
|
1093
|
+
// Extract types from equality operators
|
|
1094
|
+
let match;
|
|
1095
|
+
while ((match = equalityRegex.exec(wiql)) !== null) {
|
|
1096
|
+
foundTypes.add(match[1].trim());
|
|
1051
1097
|
}
|
|
1052
|
-
//
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1098
|
+
// Extract types from IN operators
|
|
1099
|
+
while ((match = inRegex.exec(wiql)) !== null) {
|
|
1100
|
+
const typesString = match[1];
|
|
1101
|
+
// Extract all quoted values from the IN clause
|
|
1102
|
+
const typeMatches = typesString.matchAll(/'([^']+)'/g);
|
|
1103
|
+
for (const typeMatch of typeMatches) {
|
|
1104
|
+
foundTypes.add(typeMatch[1].trim());
|
|
1056
1105
|
}
|
|
1057
1106
|
}
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1107
|
+
// If no work item types found in WIQL, return false
|
|
1108
|
+
if (foundTypes.size === 0) {
|
|
1109
|
+
return false;
|
|
1110
|
+
}
|
|
1111
|
+
// Check if all found types are in the allowedTypes array
|
|
1112
|
+
for (const type of foundTypes) {
|
|
1113
|
+
if (!allowedTypes.includes(type)) {
|
|
1114
|
+
// Found a type that's not in the allowed list - reject this query
|
|
1115
|
+
return false;
|
|
1064
1116
|
}
|
|
1065
1117
|
}
|
|
1066
|
-
|
|
1118
|
+
// All found types are valid
|
|
1119
|
+
return true;
|
|
1067
1120
|
}
|
|
1068
1121
|
// check if the query is a bug query
|
|
1069
1122
|
matchesBugCondition(wiql) {
|
|
@@ -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
|
@@ -619,14 +619,22 @@ export default class TicketsDataProvider {
|
|
|
619
619
|
const { workItemRelations } = queryResult;
|
|
620
620
|
if (!workItemRelations) return null;
|
|
621
621
|
|
|
622
|
+
logger.debug(`parseTreeQueryResult: Processing ${workItemRelations.length} workItemRelations`);
|
|
623
|
+
|
|
622
624
|
const allItems: Record<number, any> = {};
|
|
623
625
|
const rootOrder: number[] = [];
|
|
624
626
|
const rootSet = new Set<number>(); // track roots for dedupe
|
|
625
627
|
|
|
626
|
-
// Initialize nodes
|
|
628
|
+
// Initialize ALL nodes from workItemRelations (not just hierarchy ones)
|
|
629
|
+
// This ensures nodes with non-hierarchy links are also available
|
|
627
630
|
for (const rel of workItemRelations) {
|
|
628
631
|
const t = rel.target;
|
|
629
632
|
if (!allItems[t.id]) await this.initTreeQueryResultItem(t, allItems);
|
|
633
|
+
|
|
634
|
+
// Also initialize source nodes if they exist
|
|
635
|
+
if (rel.source && !allItems[rel.source.id]) {
|
|
636
|
+
await this.initTreeQueryResultItem(rel.source, allItems);
|
|
637
|
+
}
|
|
630
638
|
|
|
631
639
|
if (rel.rel === null && rel.source === null) {
|
|
632
640
|
if (!rootSet.has(t.id)) {
|
|
@@ -635,37 +643,57 @@ export default class TicketsDataProvider {
|
|
|
635
643
|
}
|
|
636
644
|
}
|
|
637
645
|
}
|
|
646
|
+
logger.debug(`parseTreeQueryResult: Found ${rootOrder.length} roots, ${Object.keys(allItems).length} total nodes`);
|
|
638
647
|
|
|
639
648
|
// Attach only forward hierarchy edges; dedupe children by id per parent
|
|
649
|
+
let hierarchyCount = 0;
|
|
650
|
+
let skippedNonHierarchy = 0;
|
|
640
651
|
for (const rel of workItemRelations) {
|
|
641
652
|
if (!rel.source) continue;
|
|
642
653
|
const linkType = (rel.rel || '').toLowerCase();
|
|
643
|
-
if (!linkType.includes('hierarchy-forward'))
|
|
654
|
+
if (!linkType.includes('hierarchy-forward')) {
|
|
655
|
+
skippedNonHierarchy++;
|
|
656
|
+
continue; // skip reverse/others
|
|
657
|
+
}
|
|
644
658
|
|
|
645
659
|
const parentId = rel.source.id;
|
|
646
660
|
const childId = rel.target.id;
|
|
647
661
|
|
|
648
|
-
|
|
649
|
-
if (!allItems[
|
|
662
|
+
// Nodes should already be initialized, but double-check
|
|
663
|
+
if (!allItems[parentId]) {
|
|
664
|
+
logger.warn(`Parent ${parentId} not found, initializing now`);
|
|
665
|
+
await this.initTreeQueryResultItem(rel.source, allItems);
|
|
666
|
+
}
|
|
667
|
+
if (!allItems[childId]) {
|
|
668
|
+
logger.warn(`Child ${childId} not found, initializing now`);
|
|
669
|
+
await this.initTreeQueryResultItem(rel.target, allItems);
|
|
670
|
+
}
|
|
650
671
|
|
|
651
672
|
const parent = allItems[parentId];
|
|
652
673
|
parent._childrenSet ||= new Set<number>();
|
|
653
674
|
if (!parent._childrenSet.has(childId)) {
|
|
654
675
|
parent._childrenSet.add(childId);
|
|
655
676
|
parent.children.push(allItems[childId]);
|
|
677
|
+
hierarchyCount++;
|
|
656
678
|
}
|
|
657
679
|
// If this child was previously considered a root, remove it from roots
|
|
658
|
-
if (rootSet.has(childId))
|
|
680
|
+
if (rootSet.has(childId)) {
|
|
681
|
+
rootSet.delete(childId);
|
|
682
|
+
}
|
|
659
683
|
}
|
|
684
|
+
logger.debug(`parseTreeQueryResult: ${hierarchyCount} hierarchy links, ${skippedNonHierarchy} non-hierarchy links skipped`);
|
|
660
685
|
|
|
661
686
|
// Return roots in original order, excluding those that became children
|
|
662
687
|
const roots = rootOrder.filter((id) => rootSet.has(id)).map((id) => allItems[id]);
|
|
688
|
+
logger.debug(`parseTreeQueryResult: Returning ${roots.length} roots with ${Object.keys(allItems).length} total items`);
|
|
689
|
+
|
|
663
690
|
// Optional: clean helper sets
|
|
664
691
|
for (const id in allItems) delete allItems[id]._childrenSet;
|
|
665
692
|
|
|
666
693
|
return {
|
|
667
694
|
roots, // your parsed tree (what you currently return)
|
|
668
|
-
workItemRelations, //
|
|
695
|
+
workItemRelations, // all relations for link-driven rendering
|
|
696
|
+
allItems, // all fetched items (including those not in hierarchy)
|
|
669
697
|
};
|
|
670
698
|
}
|
|
671
699
|
|
|
@@ -1274,37 +1302,79 @@ export default class TicketsDataProvider {
|
|
|
1274
1302
|
* Determines whether the given WIQL (Work Item Query Language) string matches the specified
|
|
1275
1303
|
* source and target conditions. It checks if the WIQL contains references to the specified
|
|
1276
1304
|
* source and target work item types.
|
|
1305
|
+
*
|
|
1306
|
+
* Supports both equality (=) and IN operators:
|
|
1307
|
+
* - Source.[System.WorkItemType] = 'Epic'
|
|
1308
|
+
* - Source.[System.WorkItemType] IN ('Epic', 'Feature', 'Requirement')
|
|
1277
1309
|
*
|
|
1278
1310
|
* @param wiql - The WIQL string to evaluate.
|
|
1279
1311
|
* @param source - An array of source work item types to check for in the WIQL.
|
|
1280
1312
|
* @param target - An array of target work item types to check for in the WIQL.
|
|
1281
|
-
* @returns A boolean indicating whether the WIQL includes at least one source work item type
|
|
1282
|
-
* and at least one target work item type.
|
|
1313
|
+
* @returns A boolean indicating whether the WIQL includes at least one valid source work item type
|
|
1314
|
+
* and at least one valid target work item type.
|
|
1283
1315
|
*/
|
|
1284
1316
|
private matchesSourceTargetCondition(wiql: string, source: string[], target: string[]): boolean {
|
|
1285
|
-
|
|
1286
|
-
|
|
1317
|
+
const isSourceIncluded = this.matchesWorkItemTypeCondition(wiql, 'Source', source);
|
|
1318
|
+
const isTargetIncluded = this.matchesWorkItemTypeCondition(wiql, 'Target', target);
|
|
1319
|
+
return isSourceIncluded && isTargetIncluded;
|
|
1320
|
+
}
|
|
1287
1321
|
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1322
|
+
/**
|
|
1323
|
+
* Helper method to check if a WIQL contains valid work item types for a given context (Source/Target).
|
|
1324
|
+
* Supports both = and IN operators.
|
|
1325
|
+
*
|
|
1326
|
+
* @param wiql - The WIQL string to evaluate
|
|
1327
|
+
* @param context - Either 'Source' or 'Target'
|
|
1328
|
+
* @param allowedTypes - Array of allowed work item types
|
|
1329
|
+
* @returns true if all work item types in the WIQL are in the allowedTypes array
|
|
1330
|
+
*/
|
|
1331
|
+
private matchesWorkItemTypeCondition(wiql: string, context: 'Source' | 'Target', allowedTypes: string[]): boolean {
|
|
1332
|
+
// If allowedTypes is empty, accept any work item type (for backward compatibility)
|
|
1333
|
+
if (allowedTypes.length === 0) {
|
|
1334
|
+
return wiql.includes(`${context}.[System.WorkItemType]`);
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
const fieldPattern = `${context}.\\[System.WorkItemType\\]`;
|
|
1338
|
+
|
|
1339
|
+
// Pattern for equality: Source.[System.WorkItemType] = 'Epic'
|
|
1340
|
+
const equalityRegex = new RegExp(`${fieldPattern}\\s*=\\s*'([^']+)'`, 'gi');
|
|
1341
|
+
|
|
1342
|
+
// Pattern for IN operator: Source.[System.WorkItemType] IN ('Epic', 'Feature', 'Requirement')
|
|
1343
|
+
const inRegex = new RegExp(`${fieldPattern}\\s+IN\\s*\\(([^)]+)\\)`, 'gi');
|
|
1344
|
+
|
|
1345
|
+
const foundTypes = new Set<string>();
|
|
1346
|
+
|
|
1347
|
+
// Extract types from equality operators
|
|
1348
|
+
let match;
|
|
1349
|
+
while ((match = equalityRegex.exec(wiql)) !== null) {
|
|
1350
|
+
foundTypes.add(match[1].trim());
|
|
1293
1351
|
}
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1352
|
+
|
|
1353
|
+
// Extract types from IN operators
|
|
1354
|
+
while ((match = inRegex.exec(wiql)) !== null) {
|
|
1355
|
+
const typesString = match[1];
|
|
1356
|
+
// Extract all quoted values from the IN clause
|
|
1357
|
+
const typeMatches = typesString.matchAll(/'([^']+)'/g);
|
|
1358
|
+
for (const typeMatch of typeMatches) {
|
|
1359
|
+
foundTypes.add(typeMatch[1].trim());
|
|
1298
1360
|
}
|
|
1299
|
-
}
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
// If no work item types found in WIQL, return false
|
|
1364
|
+
if (foundTypes.size === 0) {
|
|
1365
|
+
return false;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
// Check if all found types are in the allowedTypes array
|
|
1369
|
+
for (const type of foundTypes) {
|
|
1370
|
+
if (!allowedTypes.includes(type)) {
|
|
1371
|
+
// Found a type that's not in the allowed list - reject this query
|
|
1372
|
+
return false;
|
|
1305
1373
|
}
|
|
1306
1374
|
}
|
|
1307
|
-
|
|
1375
|
+
|
|
1376
|
+
// All found types are valid
|
|
1377
|
+
return true;
|
|
1308
1378
|
}
|
|
1309
1379
|
|
|
1310
1380
|
// check if the query is a bug query
|