@elisra-devops/docgen-data-provider 1.140.0 โ†’ 1.142.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 (74) hide show
  1. package/.github/workflows/ci.yml +2 -0
  2. package/bin/helpers/requestContext.d.ts +51 -0
  3. package/bin/helpers/requestContext.js +218 -0
  4. package/bin/helpers/requestContext.js.map +1 -0
  5. package/bin/helpers/tfs.d.ts +5 -0
  6. package/bin/helpers/tfs.js +24 -24
  7. package/bin/helpers/tfs.js.map +1 -1
  8. package/bin/modules/GitDataProvider.js +3 -2
  9. package/bin/modules/GitDataProvider.js.map +1 -1
  10. package/bin/modules/JfrogDataProvider.js +3 -2
  11. package/bin/modules/JfrogDataProvider.js.map +1 -1
  12. package/bin/modules/PipelinesDataProvider.js +5 -4
  13. package/bin/modules/PipelinesDataProvider.js.map +1 -1
  14. package/bin/modules/ResultDataProvider.js +32 -25
  15. package/bin/modules/ResultDataProvider.js.map +1 -1
  16. package/bin/modules/TestDataProvider.js +4 -3
  17. package/bin/modules/TestDataProvider.js.map +1 -1
  18. package/bin/modules/TicketsDataProvider.js +26 -22
  19. package/bin/modules/TicketsDataProvider.js.map +1 -1
  20. package/bin/tests/helpers/requestContext.test.d.ts +1 -0
  21. package/bin/tests/helpers/requestContext.test.js +165 -0
  22. package/bin/tests/helpers/requestContext.test.js.map +1 -0
  23. package/bin/tests/helpers/tfs.test.js +54 -0
  24. package/bin/tests/helpers/tfs.test.js.map +1 -1
  25. package/bin/tests/modules/JfrogDataProvider.test.js +4 -2
  26. package/bin/tests/modules/JfrogDataProvider.test.js.map +1 -1
  27. package/bin/tests/modules/ResultDataProvider.test.js +9 -3
  28. package/bin/tests/modules/ResultDataProvider.test.js.map +1 -1
  29. package/bin/tests/modules/gitDataProvider.test.js +1 -1
  30. package/bin/tests/modules/gitDataProvider.test.js.map +1 -1
  31. package/bin/tests/modules/pipelineDataProvider.test.js +1 -1
  32. package/bin/tests/modules/pipelineDataProvider.test.js.map +1 -1
  33. package/bin/tests/modules/testDataProvider.test.js +1 -1
  34. package/bin/tests/modules/testDataProvider.test.js.map +1 -1
  35. package/bin/tests/modules/ticketsDataProvider.test.js +2 -2
  36. package/bin/tests/modules/ticketsDataProvider.test.js.map +1 -1
  37. package/bin/tests/utils/logger.test.d.ts +1 -0
  38. package/bin/tests/utils/logger.test.js +332 -0
  39. package/bin/tests/utils/logger.test.js.map +1 -0
  40. package/bin/tests/utils/runContext.test.d.ts +1 -0
  41. package/bin/tests/utils/runContext.test.js +51 -0
  42. package/bin/tests/utils/runContext.test.js.map +1 -0
  43. package/bin/utils/logSink.d.ts +39 -0
  44. package/bin/utils/logSink.js +28 -0
  45. package/bin/utils/logSink.js.map +1 -0
  46. package/bin/utils/logger.d.ts +7 -0
  47. package/bin/utils/logger.js +266 -27
  48. package/bin/utils/logger.js.map +1 -1
  49. package/bin/utils/runContext.d.ts +8 -0
  50. package/bin/utils/runContext.js +12 -0
  51. package/bin/utils/runContext.js.map +1 -0
  52. package/eslint.config.mjs +40 -0
  53. package/package.json +8 -3
  54. package/src/helpers/requestContext.ts +222 -0
  55. package/src/helpers/tfs.ts +30 -24
  56. package/src/modules/GitDataProvider.ts +3 -2
  57. package/src/modules/JfrogDataProvider.ts +3 -2
  58. package/src/modules/PipelinesDataProvider.ts +5 -4
  59. package/src/modules/ResultDataProvider.ts +31 -25
  60. package/src/modules/TestDataProvider.ts +4 -3
  61. package/src/modules/TicketsDataProvider.ts +28 -26
  62. package/src/tests/helpers/requestContext.test.ts +202 -0
  63. package/src/tests/helpers/tfs.test.ts +86 -0
  64. package/src/tests/modules/JfrogDataProvider.test.ts +5 -2
  65. package/src/tests/modules/ResultDataProvider.test.ts +10 -3
  66. package/src/tests/modules/gitDataProvider.test.ts +2 -1
  67. package/src/tests/modules/pipelineDataProvider.test.ts +2 -1
  68. package/src/tests/modules/testDataProvider.test.ts +4 -1
  69. package/src/tests/modules/ticketsDataProvider.test.ts +2 -2
  70. package/src/tests/utils/logger.test.ts +381 -0
  71. package/src/tests/utils/runContext.test.ts +48 -0
  72. package/src/utils/logSink.ts +59 -0
  73. package/src/utils/logger.ts +269 -29
  74. package/src/utils/runContext.ts +25 -0
@@ -23,6 +23,8 @@ jobs:
23
23
  run: npm ci
24
24
  - name: ๐Ÿ—๏ธ build
25
25
  run: npm run build
26
+ - name: ๐Ÿ” lint
27
+ run: npm run lint
26
28
  - name: ๐Ÿงช test
27
29
  run: npm test
28
30
  - name: ๐Ÿ“ค upload junit
@@ -0,0 +1,51 @@
1
+ export interface AdoRequestContext {
2
+ method?: string;
3
+ url?: string;
4
+ status?: number;
5
+ attempt?: number;
6
+ requestBody?: string;
7
+ responseExcerpt?: string;
8
+ }
9
+ /** Strips credentials embedded in the URL and masks sensitive query parameter values. */
10
+ export declare function sanitizeUrl(raw: unknown): string | undefined;
11
+ /**
12
+ * Replaces each single-quoted WIQL literal with its length โ€” the query structure (fields,
13
+ * operators, numbers, @macros) stays readable, free-text values never reach the logs.
14
+ * `''` is WIQL's escaped quote.
15
+ */
16
+ export declare function maskWiqlLiterals(text: string): string;
17
+ /**
18
+ * A short, safe description of a request body โ€” enough to see *what was asked* (the WIQL
19
+ * text, the id list) without ever carrying credentials or work-item content:
20
+ * - GET/HEAD never have one.
21
+ * - JSON-Patch arrays (work item / test case updates) keep only `op` + `path`; the `value`s
22
+ * are real field content and are dropped.
23
+ * - a WIQL `query` keeps its structure but its quoted literals are masked.
24
+ * - other JSON goes through redactValue (credential-looking keys scrubbed at any depth),
25
+ * with every string and the total length bounded.
26
+ * - anything that isn't plain JSON is described by type and size only.
27
+ */
28
+ export declare function summarizeBody(data: unknown, method?: string): string | undefined;
29
+ /** The server's own explanation of the failure (ADO puts it in `message`), bounded. */
30
+ export declare function summarizeResponse(data: unknown): string | undefined;
31
+ export declare function buildAdoRequestContext(error: any, request: {
32
+ method?: string;
33
+ url?: string;
34
+ data?: unknown;
35
+ }, attempt?: number): AdoRequestContext;
36
+ /**
37
+ * Attaches the context as an enumerable own property: winston's errors() / log() merge an
38
+ * Error's own enumerable properties onto the log record, which is how the transport and the
39
+ * text formatter find it without every call site having to pass it along.
40
+ */
41
+ export declare function annotateAdoError<T>(error: T, context: AdoRequestContext): T;
42
+ /**
43
+ * The log metadata for a caught error: message, stack, code, and the request description when
44
+ * the error came through TFSServices. Deliberately NOT the error object itself โ€” passing a
45
+ * whole AxiosError would merge its entire config/request/response graph onto the record.
46
+ * winston concatenates meta.message onto the call's own message, so
47
+ * `logger.error('Could not fetch X:', describeError(err))` reads the same as the old
48
+ * `logger.error(\`Could not fetch X: ${err.message}\`)` โ€” plus the request, which a message
49
+ * string can't carry.
50
+ */
51
+ export declare function describeError(error: unknown): Record<string, unknown>;
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeUrl = sanitizeUrl;
4
+ exports.maskWiqlLiterals = maskWiqlLiterals;
5
+ exports.summarizeBody = summarizeBody;
6
+ exports.summarizeResponse = summarizeResponse;
7
+ exports.buildAdoRequestContext = buildAdoRequestContext;
8
+ exports.annotateAdoError = annotateAdoError;
9
+ exports.describeError = describeError;
10
+ const logger_1 = require("../utils/logger");
11
+ const logSink_1 = require("../utils/logSink");
12
+ const MAX_URL_LEN = logSink_1.CONTEXT_LIMITS.url;
13
+ const MAX_BODY_LEN = logSink_1.CONTEXT_LIMITS.requestBody;
14
+ const MAX_STRING_VALUE_LEN = 500;
15
+ const MAX_ARRAY_ITEMS = 50;
16
+ const MAX_PATCH_OPS = 20;
17
+ const MAX_RESPONSE_LEN = logSink_1.CONTEXT_LIMITS.responseExcerpt;
18
+ const MAX_TEXT_RESPONSE_LEN = 200;
19
+ // Exact names, not a substring match โ€” "key" must not mask a legitimate "keywords" parameter.
20
+ const SENSITIVE_PARAM = /^(access_?token|token|pat|password|pwd|secret|sig|signature|api_?key|key|authorization|auth)$/i;
21
+ const truncate = (text, max) => (text.length > max ? `${text.slice(0, max)}โ€ฆ` : text);
22
+ /** Strips credentials embedded in the URL and masks sensitive query parameter values. */
23
+ function sanitizeUrl(raw) {
24
+ if (typeof raw !== 'string' || !raw)
25
+ return undefined;
26
+ try {
27
+ const parsed = new URL(raw);
28
+ parsed.username = '';
29
+ parsed.password = '';
30
+ // Rewrite only the sensitive values in the raw query string โ€” re-serializing through
31
+ // URLSearchParams would re-encode every other parameter ($depth, %20, +).
32
+ if (parsed.search) {
33
+ parsed.search = parsed.search
34
+ .slice(1)
35
+ .split('&')
36
+ .map((pair) => {
37
+ const eq = pair.indexOf('=');
38
+ if (eq < 0)
39
+ return pair;
40
+ let name = pair.slice(0, eq);
41
+ try {
42
+ name = decodeURIComponent(name);
43
+ }
44
+ catch (_a) {
45
+ // keep the raw name
46
+ }
47
+ return SENSITIVE_PARAM.test(name) ? `${pair.slice(0, eq)}=[REDACTED]` : pair;
48
+ })
49
+ .join('&');
50
+ }
51
+ return truncate(parsed.toString(), MAX_URL_LEN);
52
+ }
53
+ catch (_a) {
54
+ return truncate(raw, MAX_URL_LEN);
55
+ }
56
+ }
57
+ /**
58
+ * Replaces each single-quoted WIQL literal with its length โ€” the query structure (fields,
59
+ * operators, numbers, @macros) stays readable, free-text values never reach the logs.
60
+ * `''` is WIQL's escaped quote.
61
+ */
62
+ function maskWiqlLiterals(text) {
63
+ return text.replace(/'(?:[^']|'')*'/g, (m) => `'[${m.length - 2} chars]'`);
64
+ }
65
+ function isBinaryLike(data) {
66
+ return ((typeof Buffer !== 'undefined' && Buffer.isBuffer(data)) ||
67
+ data instanceof ArrayBuffer ||
68
+ ArrayBuffer.isView(data));
69
+ }
70
+ function isJsonPatch(data) {
71
+ return (Array.isArray(data) &&
72
+ data.length > 0 &&
73
+ data.every((item) => item &&
74
+ typeof item === 'object' &&
75
+ typeof item.op === 'string' &&
76
+ typeof item.path === 'string'));
77
+ }
78
+ function clampValues(value, depth = 0) {
79
+ if (typeof value === 'string')
80
+ return truncate(value, MAX_STRING_VALUE_LEN);
81
+ if (depth > 6 || value === null || typeof value !== 'object')
82
+ return value;
83
+ if (Array.isArray(value)) {
84
+ const items = value.slice(0, MAX_ARRAY_ITEMS).map((v) => clampValues(v, depth + 1));
85
+ return value.length > MAX_ARRAY_ITEMS ? [...items, `โ€ฆ(+${value.length - MAX_ARRAY_ITEMS} more)`] : items;
86
+ }
87
+ const out = {};
88
+ for (const key of Object.keys(value)) {
89
+ out[key] = clampValues(value[key], depth + 1);
90
+ }
91
+ return out;
92
+ }
93
+ /**
94
+ * A short, safe description of a request body โ€” enough to see *what was asked* (the WIQL
95
+ * text, the id list) without ever carrying credentials or work-item content:
96
+ * - GET/HEAD never have one.
97
+ * - JSON-Patch arrays (work item / test case updates) keep only `op` + `path`; the `value`s
98
+ * are real field content and are dropped.
99
+ * - a WIQL `query` keeps its structure but its quoted literals are masked.
100
+ * - other JSON goes through redactValue (credential-looking keys scrubbed at any depth),
101
+ * with every string and the total length bounded.
102
+ * - anything that isn't plain JSON is described by type and size only.
103
+ */
104
+ function summarizeBody(data, method) {
105
+ const verb = String(method || '').toUpperCase();
106
+ if (verb === 'GET' || verb === 'HEAD')
107
+ return undefined;
108
+ if (data === undefined || data === null || data === '')
109
+ return undefined;
110
+ if (typeof data === 'string') {
111
+ try {
112
+ const parsed = JSON.parse(data);
113
+ return typeof parsed === 'string' ? `[text, ${data.length} chars]` : summarizeBody(parsed, method);
114
+ }
115
+ catch (_a) {
116
+ return `[text, ${data.length} chars]`;
117
+ }
118
+ }
119
+ if (typeof data !== 'object')
120
+ return `[${typeof data}]`;
121
+ if (isBinaryLike(data)) {
122
+ const size = data.byteLength;
123
+ return `[binary${typeof size === 'number' ? `, ${size} bytes` : ''}]`;
124
+ }
125
+ if (typeof data.pipe === 'function')
126
+ return '[stream]';
127
+ if (typeof FormData !== 'undefined' && data instanceof FormData)
128
+ return '[form-data]';
129
+ if (isJsonPatch(data)) {
130
+ const ops = data.slice(0, MAX_PATCH_OPS).map((o) => `${o.op} ${o.path}`);
131
+ const more = data.length > MAX_PATCH_OPS ? ` โ€ฆ(+${data.length - MAX_PATCH_OPS} more)` : '';
132
+ return truncate(`json-patch (${data.length} ops, values omitted): ${ops.join('; ')}${more}`, MAX_BODY_LEN);
133
+ }
134
+ if (Array.isArray(data) ? data.length === 0 : Object.keys(data).length === 0)
135
+ return undefined;
136
+ try {
137
+ const body = !Array.isArray(data) && typeof data.query === 'string'
138
+ ? Object.assign(Object.assign({}, data), { query: maskWiqlLiterals(data.query) }) : data;
139
+ return truncate(JSON.stringify(clampValues((0, logger_1.redactValue)(body))), MAX_BODY_LEN);
140
+ }
141
+ catch (_b) {
142
+ return '[unserializable body]';
143
+ }
144
+ }
145
+ /** The server's own explanation of the failure (ADO puts it in `message`), bounded. */
146
+ function summarizeResponse(data) {
147
+ if (data === undefined || data === null)
148
+ return undefined;
149
+ if (typeof data === 'string')
150
+ return truncate(data, MAX_TEXT_RESPONSE_LEN);
151
+ if (isBinaryLike(data))
152
+ return undefined;
153
+ if (typeof data.pipe === 'function')
154
+ return '[stream]';
155
+ try {
156
+ const message = data.message;
157
+ if (typeof message === 'string')
158
+ return truncate(message, MAX_RESPONSE_LEN);
159
+ return truncate(JSON.stringify((0, logger_1.redactValue)(data)), MAX_RESPONSE_LEN);
160
+ }
161
+ catch (_a) {
162
+ return '[unserializable response data]';
163
+ }
164
+ }
165
+ function buildAdoRequestContext(error, request, attempt) {
166
+ var _a, _b, _c, _d, _e;
167
+ const method = String(request.method || ((_a = error === null || error === void 0 ? void 0 : error.config) === null || _a === void 0 ? void 0 : _a.method) || 'get').toUpperCase();
168
+ const context = { method, url: sanitizeUrl((_b = request.url) !== null && _b !== void 0 ? _b : (_c = error === null || error === void 0 ? void 0 : error.config) === null || _c === void 0 ? void 0 : _c.url) };
169
+ const status = Number((_d = error === null || error === void 0 ? void 0 : error.response) === null || _d === void 0 ? void 0 : _d.status);
170
+ if (Number.isFinite(status) && status > 0)
171
+ context.status = status;
172
+ if (attempt !== undefined)
173
+ context.attempt = attempt;
174
+ const requestBody = summarizeBody(request.data, method);
175
+ if (requestBody)
176
+ context.requestBody = requestBody;
177
+ const responseExcerpt = summarizeResponse((_e = error === null || error === void 0 ? void 0 : error.response) === null || _e === void 0 ? void 0 : _e.data);
178
+ if (responseExcerpt)
179
+ context.responseExcerpt = responseExcerpt;
180
+ return context;
181
+ }
182
+ /**
183
+ * Attaches the context as an enumerable own property: winston's errors() / log() merge an
184
+ * Error's own enumerable properties onto the log record, which is how the transport and the
185
+ * text formatter find it without every call site having to pass it along.
186
+ */
187
+ function annotateAdoError(error, context) {
188
+ if (error && typeof error === 'object') {
189
+ try {
190
+ Object.defineProperty(error, 'adoRequest', { value: context, enumerable: true, configurable: true, writable: true });
191
+ }
192
+ catch (_a) {
193
+ // A frozen/exotic error object just goes unannotated โ€” never worth failing the request path.
194
+ }
195
+ }
196
+ return error;
197
+ }
198
+ /**
199
+ * The log metadata for a caught error: message, stack, code, and the request description when
200
+ * the error came through TFSServices. Deliberately NOT the error object itself โ€” passing a
201
+ * whole AxiosError would merge its entire config/request/response graph onto the record.
202
+ * winston concatenates meta.message onto the call's own message, so
203
+ * `logger.error('Could not fetch X:', describeError(err))` reads the same as the old
204
+ * `logger.error(\`Could not fetch X: ${err.message}\`)` โ€” plus the request, which a message
205
+ * string can't carry.
206
+ */
207
+ function describeError(error) {
208
+ if (!error || typeof error !== 'object')
209
+ return { message: String(error) };
210
+ const e = error;
211
+ const meta = { message: e.message, stack: e.stack };
212
+ if (typeof e.code === 'string')
213
+ meta.code = e.code;
214
+ if (e.adoRequest)
215
+ meta.adoRequest = e.adoRequest;
216
+ return meta;
217
+ }
218
+ //# sourceMappingURL=requestContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestContext.js","sourceRoot":"","sources":["../../src/helpers/requestContext.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,11 @@ export declare class TFSServices {
22
22
  * Check if an error is retryable
23
23
  */
24
24
  private static isRetryableError;
25
+ /**
26
+ * Describes the failed request once, attaches it to the error, and (optionally) emits the one
27
+ * dedicated "ADO request failed" record.
28
+ */
29
+ private static reportFailure;
25
30
  /**
26
31
  * Log detailed error information
27
32
  */
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.TFSServices = void 0;
5
5
  const axios_1 = require("axios");
6
6
  const logger_1 = require("../utils/logger");
7
+ const requestContext_1 = require("./requestContext");
7
8
  // Environment detection
8
9
  const isNode = typeof window === 'undefined' && typeof process !== 'undefined' && ((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node);
9
10
  class TFSServices {
@@ -61,7 +62,7 @@ class TFSServices {
61
62
  }
62
63
  catch (e) {
63
64
  logger_1.default.error(`error download zip file , url : ${url}`);
64
- throw new Error(String(e));
65
+ throw (0, requestContext_1.annotateAdoError)(new Error(String(e)), (0, requestContext_1.buildAdoRequestContext)(e, { method: 'GET', url }));
65
66
  }
66
67
  }
67
68
  static async fetchAzureDevOpsImageAsBase64(url, pat, requestMethod = 'get', data = {}, customHeaders = {}, printError = true) {
@@ -123,7 +124,7 @@ class TFSServices {
123
124
  return result.data;
124
125
  }
125
126
  catch (e) {
126
- this.logDetailedError(e, url);
127
+ this.reportFailure(e, { method: 'GET', url });
127
128
  throw e;
128
129
  }
129
130
  }
@@ -140,7 +141,7 @@ class TFSServices {
140
141
  return result;
141
142
  }
142
143
  catch (e) {
143
- this.logDetailedError(e, url);
144
+ this.reportFailure(e, { method: requestMethod, url, data });
144
145
  throw e;
145
146
  }
146
147
  }
@@ -173,10 +174,9 @@ class TFSServices {
173
174
  await new Promise((resolve) => setTimeout(resolve, delay));
174
175
  continue;
175
176
  }
176
- // Log error if needed
177
- if (printError) {
178
- this.logDetailedError(e, url);
179
- }
177
+ // Always annotate (so any caller that logs this error โ€” however it words its own
178
+ // message โ€” carries the request), log the dedicated record only when asked to.
179
+ this.reportFailure(e, { method: config.method, url, data: config.data }, attempts, printError);
180
180
  throw e;
181
181
  }
182
182
  }
@@ -204,26 +204,26 @@ class TFSServices {
204
204
  return false;
205
205
  }
206
206
  /**
207
- * Log detailed error information
207
+ * Describes the failed request once, attaches it to the error, and (optionally) emits the one
208
+ * dedicated "ADO request failed" record.
208
209
  */
209
- static logDetailedError(error, url) {
210
- if (error.response) {
211
- logger_1.default.error(`Error for ${url} - ${error.message}`);
212
- logger_1.default.error(`Status: ${error.response.status}`);
213
- if (error.response.data) {
214
- if (typeof error.response.data === 'string') {
215
- logger_1.default.error(`Response: ${error.response.data.substring(0, 200)}`);
216
- }
217
- else {
218
- const dataMessage = error.response.data.message || JSON.stringify(error.response.data).substring(0, 200);
219
- logger_1.default.error(`Response: ${dataMessage}`);
220
- }
221
- }
222
- }
223
- else {
224
- logger_1.default.error(`Error for ${url} - ${error.message}`);
210
+ static reportFailure(error, request, attempt, print = true) {
211
+ const context = (0, requestContext_1.buildAdoRequestContext)(error, request, attempt);
212
+ (0, requestContext_1.annotateAdoError)(error, context);
213
+ if (print) {
214
+ this.logDetailedError(error, context);
225
215
  }
226
216
  }
217
+ /**
218
+ * Log detailed error information
219
+ */
220
+ static logDetailedError(error, context) {
221
+ logger_1.default.error('ADO request failed', {
222
+ message: error === null || error === void 0 ? void 0 : error.message,
223
+ stack: error === null || error === void 0 ? void 0 : error.stack,
224
+ adoRequest: context,
225
+ });
226
+ }
227
227
  static getErrorMessage(error) {
228
228
  var _a, _b, _c;
229
229
  if ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) {
@@ -1 +1 @@
1
- {"version":3,"file":"tfs.js","sourceRoot":"","sources":["../../src/helpers/tfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tfs.js","sourceRoot":"","sources":["../../src/helpers/tfs.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tfs_1 = require("../helpers/tfs");
4
4
  const TicketsDataProvider_1 = require("./TicketsDataProvider");
5
5
  const logger_1 = require("../utils/logger");
6
+ const requestContext_1 = require("../helpers/requestContext");
6
7
  const tfs_data_1 = require("../models/tfs-data");
7
8
  class GitDataProvider {
8
9
  constructor(orgUrl, token) {
@@ -102,7 +103,7 @@ class GitDataProvider {
102
103
  return undefined;
103
104
  }
104
105
  catch (err) {
105
- logger_1.default.warn(`File ${fileName} could not be read: ${err.message}`);
106
+ logger_1.default.warn(`File ${fileName} could not be read:`, (0, requestContext_1.describeError)(err));
106
107
  return undefined;
107
108
  }
108
109
  }
@@ -939,7 +940,7 @@ class GitDataProvider {
939
940
  }
940
941
  }
941
942
  catch (error) {
942
- logger_1.default.error(`Error in getSubmodulesData: ${error.message}`);
943
+ logger_1.default.error('Error in getSubmodulesData:', (0, requestContext_1.describeError)(error));
943
944
  }
944
945
  finally {
945
946
  return submodules;