@elisra-devops/docgen-data-provider 1.107.0 → 1.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/helpers/tfs.js +1 -8
- package/bin/helpers/tfs.js.map +1 -1
- package/bin/modules/TicketsDataProvider.d.ts +2 -0
- package/bin/modules/TicketsDataProvider.js +59 -9
- package/bin/modules/TicketsDataProvider.js.map +1 -1
- package/bin/tests/helpers/tfs.test.js +3 -5
- package/bin/tests/helpers/tfs.test.js.map +1 -1
- package/bin/tests/modules/ticketsDataProvider.historical.test.js +267 -4
- package/bin/tests/modules/ticketsDataProvider.historical.test.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/tfs.ts +1 -10
- package/src/modules/TicketsDataProvider.ts +81 -19
- package/src/tests/helpers/tfs.test.ts +3 -5
- package/src/tests/modules/ticketsDataProvider.historical.test.ts +341 -8
package/bin/helpers/tfs.js
CHANGED
|
@@ -36,13 +36,6 @@ class TFSServices {
|
|
|
36
36
|
static addAuthHeader(config, headerName, value) {
|
|
37
37
|
var _a;
|
|
38
38
|
const existing = ((_a = config.headers) !== null && _a !== void 0 ? _a : {});
|
|
39
|
-
if (existing &&
|
|
40
|
-
typeof existing === 'object' &&
|
|
41
|
-
existing.headers &&
|
|
42
|
-
typeof existing.headers === 'object') {
|
|
43
|
-
config.headers = Object.assign(Object.assign({}, existing), { headers: Object.assign(Object.assign({}, existing.headers), { [headerName]: value }) });
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
39
|
config.headers = Object.assign(Object.assign({}, existing), { [headerName]: value });
|
|
47
40
|
}
|
|
48
41
|
static applyAuth(config, rawToken) {
|
|
@@ -134,7 +127,7 @@ class TFSServices {
|
|
|
134
127
|
throw e;
|
|
135
128
|
}
|
|
136
129
|
}
|
|
137
|
-
static async postRequest(url, pat, requestMethod = 'post', data, customHeaders = {
|
|
130
|
+
static async postRequest(url, pat, requestMethod = 'post', data, customHeaders = { 'Content-Type': 'application/json' }) {
|
|
138
131
|
const config = {
|
|
139
132
|
url: url,
|
|
140
133
|
headers: customHeaders,
|
package/bin/helpers/tfs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tfs.js","sourceRoot":"","sources":["../../src/helpers/tfs.ts"],"names":[],"mappings":";;;;AAAA,iCAAiE;AACjE,4CAAqC;AAErC,wBAAwB;AACxB,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,WAAW,KAAI,MAAA,OAAO,CAAC,QAAQ,0CAAE,IAAI,CAAA,CAAC;AAEzG,MAAa,WAAW;IA2Bd,MAAM,CAAC,cAAc,CAAC,QAAgB;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,QAAgB;QACxC,OAAO,kDAAkD,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,QAAgB;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,MAA0B,EAAE,UAAkB,EAAE,KAAa;;QACxF,MAAM,QAAQ,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAQ,CAAC;QAC/C,
|
|
1
|
+
{"version":3,"file":"tfs.js","sourceRoot":"","sources":["../../src/helpers/tfs.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,6 +181,8 @@ export default class TicketsDataProvider {
|
|
|
181
181
|
private chunkHistoricalWorkItemIds;
|
|
182
182
|
private normalizeHistoricalQueryPath;
|
|
183
183
|
private normalizeHistoricalQueryRoot;
|
|
184
|
+
private historicalErrorMessage;
|
|
185
|
+
private isHistoricalMissingWorkItemError;
|
|
184
186
|
private fetchHistoricalWorkItemsBatch;
|
|
185
187
|
private executeHistoricalQueryAtAsOf;
|
|
186
188
|
private toHistoricalWorkItemSnapshot;
|
|
@@ -1276,7 +1276,9 @@ class TicketsDataProvider {
|
|
|
1276
1276
|
return unique.join('; ');
|
|
1277
1277
|
}
|
|
1278
1278
|
isTestCaseType(workItemType) {
|
|
1279
|
-
const normalized = String(workItemType || '')
|
|
1279
|
+
const normalized = String(workItemType || '')
|
|
1280
|
+
.trim()
|
|
1281
|
+
.toLowerCase();
|
|
1280
1282
|
return normalized === 'test case' || normalized === 'testcase';
|
|
1281
1283
|
}
|
|
1282
1284
|
toHistoricalRevision(value) {
|
|
@@ -1369,9 +1371,7 @@ class TicketsDataProvider {
|
|
|
1369
1371
|
normalizeHistoricalQueryPath(path) {
|
|
1370
1372
|
const rawPath = String(path || '').trim();
|
|
1371
1373
|
const normalizedRoot = rawPath.toLowerCase();
|
|
1372
|
-
if (rawPath === '' ||
|
|
1373
|
-
normalizedRoot === 'shared' ||
|
|
1374
|
-
normalizedRoot === 'shared queries') {
|
|
1374
|
+
if (rawPath === '' || normalizedRoot === 'shared' || normalizedRoot === 'shared queries') {
|
|
1375
1375
|
return 'Shared%20Queries';
|
|
1376
1376
|
}
|
|
1377
1377
|
const segments = rawPath
|
|
@@ -1404,6 +1404,29 @@ class TicketsDataProvider {
|
|
|
1404
1404
|
}
|
|
1405
1405
|
return root;
|
|
1406
1406
|
}
|
|
1407
|
+
historicalErrorMessage(error) {
|
|
1408
|
+
var _a, _b;
|
|
1409
|
+
return String(((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) || (error === null || error === void 0 ? void 0 : error.message) || error || '').trim();
|
|
1410
|
+
}
|
|
1411
|
+
isHistoricalMissingWorkItemError(error, workItemId) {
|
|
1412
|
+
var _a;
|
|
1413
|
+
const status = Number(((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status) || (error === null || error === void 0 ? void 0 : error.status) || 0);
|
|
1414
|
+
const message = this.historicalErrorMessage(error);
|
|
1415
|
+
if (!message) {
|
|
1416
|
+
return false;
|
|
1417
|
+
}
|
|
1418
|
+
const mentionsWorkItem = /\bwork\s*item\b/i.test(message);
|
|
1419
|
+
const mentionsId = message.includes(String(workItemId));
|
|
1420
|
+
const missingPattern = /does not exist(?: at time)?|not found|has been deleted|was deleted/i;
|
|
1421
|
+
const hasMissingIndicator = missingPattern.test(message);
|
|
1422
|
+
if (!mentionsWorkItem || !mentionsId || !hasMissingIndicator) {
|
|
1423
|
+
return false;
|
|
1424
|
+
}
|
|
1425
|
+
if (/at time/i.test(message)) {
|
|
1426
|
+
return true;
|
|
1427
|
+
}
|
|
1428
|
+
return status === 404 || status === 410;
|
|
1429
|
+
}
|
|
1407
1430
|
async fetchHistoricalWorkItemsBatch(project, ids, asOf, apiVersion) {
|
|
1408
1431
|
const workItemsBatchUrl = this.appendApiVersion(`${this.orgUrl}${project}/_apis/wit/workitemsbatch`, apiVersion);
|
|
1409
1432
|
const idChunks = this.chunkHistoricalWorkItemIds(ids);
|
|
@@ -1414,16 +1437,34 @@ class TicketsDataProvider {
|
|
|
1414
1437
|
$expand: 'Relations',
|
|
1415
1438
|
fields: HISTORICAL_WORK_ITEM_FIELDS,
|
|
1416
1439
|
}))));
|
|
1417
|
-
return
|
|
1440
|
+
return {
|
|
1441
|
+
items: batchResponses.flatMap((batch) => (Array.isArray(batch === null || batch === void 0 ? void 0 : batch.value) ? batch.value : [])),
|
|
1442
|
+
skippedWorkItemIds: [],
|
|
1443
|
+
};
|
|
1418
1444
|
}
|
|
1419
1445
|
catch (error) {
|
|
1420
1446
|
logger_1.default.warn(`[historical-workitems] workitemsbatch failed${apiVersion ? ` (api-version=${apiVersion})` : ''}, falling back to per-item retrieval: ${(error === null || error === void 0 ? void 0 : error.message) || error}`);
|
|
1421
1447
|
const asOfParam = encodeURIComponent(asOf);
|
|
1422
|
-
const responses = await Promise.all(ids.map((id) => this.limit(() => {
|
|
1448
|
+
const responses = await Promise.all(ids.map((id) => this.limit(async () => {
|
|
1423
1449
|
const itemUrl = this.appendApiVersion(`${this.orgUrl}${project}/_apis/wit/workitems/${id}?$expand=Relations&asOf=${asOfParam}`, apiVersion);
|
|
1424
|
-
|
|
1450
|
+
try {
|
|
1451
|
+
const item = await tfs_1.TFSServices.getItemContent(itemUrl, this.token);
|
|
1452
|
+
return { id, item, skipped: false };
|
|
1453
|
+
}
|
|
1454
|
+
catch (itemError) {
|
|
1455
|
+
if (this.isHistoricalMissingWorkItemError(itemError, id)) {
|
|
1456
|
+
logger_1.default.warn(`[historical-workitems] skipping work item ${id} for asOf ${asOf}: ${this.historicalErrorMessage(itemError)}`);
|
|
1457
|
+
return { id, item: null, skipped: true };
|
|
1458
|
+
}
|
|
1459
|
+
throw itemError;
|
|
1460
|
+
}
|
|
1425
1461
|
})));
|
|
1426
|
-
return
|
|
1462
|
+
return {
|
|
1463
|
+
items: responses
|
|
1464
|
+
.filter((entry) => !entry.skipped && entry.item && typeof entry.item === 'object')
|
|
1465
|
+
.map((entry) => entry.item),
|
|
1466
|
+
skippedWorkItemIds: responses.filter((entry) => entry.skipped).map((entry) => entry.id),
|
|
1467
|
+
};
|
|
1427
1468
|
}
|
|
1428
1469
|
}
|
|
1429
1470
|
async executeHistoricalQueryAtAsOf(project, queryId, asOfIso) {
|
|
@@ -1489,9 +1530,10 @@ class TicketsDataProvider {
|
|
|
1489
1530
|
total: 0,
|
|
1490
1531
|
rows: [],
|
|
1491
1532
|
snapshotMap: new Map(),
|
|
1533
|
+
skippedWorkItemIds: [],
|
|
1492
1534
|
};
|
|
1493
1535
|
}
|
|
1494
|
-
const values = await this.fetchHistoricalWorkItemsBatch(project, ids, asOf, apiVersion);
|
|
1536
|
+
const { items: values, skippedWorkItemIds } = await this.fetchHistoricalWorkItemsBatch(project, ids, asOf, apiVersion);
|
|
1495
1537
|
const rows = values
|
|
1496
1538
|
.map((workItem) => this.toHistoricalWorkItemSnapshot(project, workItem))
|
|
1497
1539
|
.sort((a, b) => a.id - b.id);
|
|
@@ -1506,6 +1548,7 @@ class TicketsDataProvider {
|
|
|
1506
1548
|
total: rows.length,
|
|
1507
1549
|
rows,
|
|
1508
1550
|
snapshotMap,
|
|
1551
|
+
skippedWorkItemIds,
|
|
1509
1552
|
};
|
|
1510
1553
|
}
|
|
1511
1554
|
collectHistoricalQueries(root, parentPath = '') {
|
|
@@ -1563,6 +1606,7 @@ class TicketsDataProvider {
|
|
|
1563
1606
|
queryName: snapshot.queryName,
|
|
1564
1607
|
asOf: snapshot.asOf,
|
|
1565
1608
|
total: snapshot.total,
|
|
1609
|
+
skippedWorkItemsCount: snapshot.skippedWorkItemIds.length,
|
|
1566
1610
|
rows: snapshot.rows.map((row) => ({
|
|
1567
1611
|
id: row.id,
|
|
1568
1612
|
workItemType: row.workItemType,
|
|
@@ -1698,6 +1742,12 @@ class TicketsDataProvider {
|
|
|
1698
1742
|
total: compareTo.total,
|
|
1699
1743
|
},
|
|
1700
1744
|
summary: Object.assign(Object.assign({}, summary), { updatedCount: summary.changedCount }),
|
|
1745
|
+
skippedWorkItems: {
|
|
1746
|
+
baselineCount: baseline.skippedWorkItemIds.length,
|
|
1747
|
+
compareToCount: compareTo.skippedWorkItemIds.length,
|
|
1748
|
+
totalDistinct: new Set([...baseline.skippedWorkItemIds, ...compareTo.skippedWorkItemIds])
|
|
1749
|
+
.size,
|
|
1750
|
+
},
|
|
1701
1751
|
rows,
|
|
1702
1752
|
};
|
|
1703
1753
|
}
|