@activepieces/piece-azure-devops 0.0.2 → 0.0.4

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 (37) hide show
  1. package/package.json +7 -12
  2. package/src/index.js +24 -42
  3. package/src/index.d.ts +0 -5
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/add-comment.d.ts +0 -12
  7. package/src/lib/actions/add-comment.d.ts.map +0 -1
  8. package/src/lib/actions/add-comment.js +0 -57
  9. package/src/lib/actions/add-comment.js.map +0 -1
  10. package/src/lib/actions/create-work-item.d.ts +0 -27
  11. package/src/lib/actions/create-work-item.d.ts.map +0 -1
  12. package/src/lib/actions/create-work-item.js +0 -72
  13. package/src/lib/actions/create-work-item.js.map +0 -1
  14. package/src/lib/actions/get-work-item.d.ts +0 -11
  15. package/src/lib/actions/get-work-item.d.ts.map +0 -1
  16. package/src/lib/actions/get-work-item.js +0 -41
  17. package/src/lib/actions/get-work-item.js.map +0 -1
  18. package/src/lib/actions/list-work-items.d.ts +0 -12
  19. package/src/lib/actions/list-work-items.d.ts.map +0 -1
  20. package/src/lib/actions/list-work-items.js +0 -60
  21. package/src/lib/actions/list-work-items.js.map +0 -1
  22. package/src/lib/actions/update-work-item.d.ts +0 -67
  23. package/src/lib/actions/update-work-item.d.ts.map +0 -1
  24. package/src/lib/actions/update-work-item.js +0 -107
  25. package/src/lib/actions/update-work-item.js.map +0 -1
  26. package/src/lib/common/index.d.ts +0 -210
  27. package/src/lib/common/index.d.ts.map +0 -1
  28. package/src/lib/common/index.js +0 -581
  29. package/src/lib/common/index.js.map +0 -1
  30. package/src/lib/triggers/new-updated-work-item-webhook.d.ts +0 -68
  31. package/src/lib/triggers/new-updated-work-item-webhook.d.ts.map +0 -1
  32. package/src/lib/triggers/new-updated-work-item-webhook.js +0 -167
  33. package/src/lib/triggers/new-updated-work-item-webhook.js.map +0 -1
  34. package/src/lib/triggers/new-updated-work-item.d.ts +0 -91
  35. package/src/lib/triggers/new-updated-work-item.d.ts.map +0 -1
  36. package/src/lib/triggers/new-updated-work-item.js +0 -114
  37. package/src/lib/triggers/new-updated-work-item.js.map +0 -1
@@ -1,581 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WEBHOOK_EVENT_OPTIONS = exports.azureDevOpsCommon = exports.azureDevOpsAuth = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_common_1 = require("@activepieces/pieces-common");
6
- const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- function asAzureAuth(auth) {
8
- return auth;
9
- }
10
- function narrowString(value, fieldName) {
11
- if (typeof value !== 'string' || value.length === 0) {
12
- throw new Error(`Expected non-empty string for "${fieldName}", got ${typeof value}`);
13
- }
14
- return value;
15
- }
16
- function isRecord(value) {
17
- return typeof value === 'object' && value !== null && !Array.isArray(value);
18
- }
19
- function generateWebhookToken() {
20
- const bytes = new Uint8Array(32);
21
- crypto.getRandomValues(bytes);
22
- return Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('');
23
- }
24
- function timingSafeEqual(a, b) {
25
- if (a.length !== b.length)
26
- return false;
27
- let diff = 0;
28
- for (let i = 0; i < a.length; i++) {
29
- diff |= a.charCodeAt(i) ^ b.charCodeAt(i);
30
- }
31
- return diff === 0;
32
- }
33
- function extractHttpStatus(error) {
34
- var _a, _b;
35
- if (typeof error === 'object' && error !== null) {
36
- const err = error;
37
- const status = (_b = (_a = err.response) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : err.status;
38
- if (typeof status === 'number')
39
- return ` (HTTP ${status})`;
40
- }
41
- return '';
42
- }
43
- function parseWebhookPayload(body) {
44
- if (!isRecord(body))
45
- return null;
46
- const { eventType, resource } = body;
47
- if (typeof eventType !== 'string' || !isRecord(resource))
48
- return null;
49
- if (eventType !== 'workitem.created' &&
50
- eventType !== 'workitem.updated' &&
51
- eventType !== 'workitem.commented') {
52
- return null;
53
- }
54
- return {
55
- eventType,
56
- resource: resource,
57
- };
58
- }
59
- const authDescription = `To get your Personal Access Token (PAT):
60
-
61
- 1. Go to **Azure DevOps** and click your profile icon (top-right)
62
- 2. Select **Personal access tokens**
63
- 3. Click **+ New Token**
64
- 4. Give it a name and set expiration
65
- 5. Under **Scopes**, select:
66
- - **Work Items**: Read & Write
67
- - **Project and Team**: Read
68
- 6. Click **Create** and copy the token (you won't see it again)
69
-
70
- **Organization URL** is your Azure DevOps URL, e.g. \`https://dev.azure.com/mycompany\``;
71
- exports.azureDevOpsAuth = pieces_framework_1.PieceAuth.CustomAuth({
72
- description: authDescription,
73
- required: true,
74
- props: {
75
- organizationUrl: pieces_framework_1.Property.ShortText({
76
- displayName: 'Organization URL',
77
- description: 'Your Azure DevOps organization URL (e.g. https://dev.azure.com/mycompany)',
78
- required: true,
79
- }),
80
- pat: pieces_framework_1.PieceAuth.SecretText({
81
- displayName: 'Personal Access Token',
82
- description: 'Your Azure DevOps PAT with Work Items (Read & Write) and Project and Team (Read) scopes.',
83
- required: true,
84
- }),
85
- },
86
- validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
87
- if (!isValidUrl(auth.organizationUrl)) {
88
- return { valid: false, error: 'Organization URL must be a valid HTTP/HTTPS URL' };
89
- }
90
- const orgUrl = sanitizeOrgUrl(auth.organizationUrl);
91
- const encoded = Buffer.from(`:${auth.pat}`).toString('base64');
92
- try {
93
- const response = yield pieces_common_1.httpClient.sendRequest({
94
- method: pieces_common_1.HttpMethod.GET,
95
- url: `${orgUrl}/_apis/projects`,
96
- headers: { Authorization: `Basic ${encoded}` },
97
- queryParams: { 'api-version': '7.1' },
98
- });
99
- if (response.body.value !== undefined) {
100
- return { valid: true };
101
- }
102
- return { valid: false, error: 'Invalid PAT or Organization URL' };
103
- }
104
- catch (_b) {
105
- return { valid: false, error: 'Invalid PAT or Organization URL' };
106
- }
107
- }),
108
- });
109
- function azureDevOpsApiCall(_a) {
110
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ organizationUrl, pat, method, endpoint, body, queryParams, isJsonPatch = false, }) {
111
- const baseUrl = sanitizeOrgUrl(organizationUrl);
112
- const encoded = Buffer.from(`:${pat}`).toString('base64');
113
- const qs = {};
114
- if (queryParams) {
115
- for (const [key, value] of Object.entries(queryParams)) {
116
- if (value !== undefined && value !== null) {
117
- qs[key] = value;
118
- }
119
- }
120
- }
121
- const headers = {
122
- Authorization: `Basic ${encoded}`,
123
- };
124
- if (body !== undefined) {
125
- headers['Content-Type'] = isJsonPatch
126
- ? 'application/json-patch+json'
127
- : 'application/json';
128
- }
129
- const response = yield pieces_common_1.httpClient.sendRequest({
130
- method,
131
- url: `${baseUrl}${endpoint}`,
132
- headers,
133
- queryParams: qs,
134
- body,
135
- });
136
- return response.body;
137
- });
138
- }
139
- function fetchProjects(auth) {
140
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
141
- return azureDevOpsApiCall({
142
- organizationUrl: auth.props.organizationUrl,
143
- pat: auth.props.pat,
144
- method: pieces_common_1.HttpMethod.GET,
145
- endpoint: '/_apis/projects',
146
- queryParams: { 'api-version': '7.1' },
147
- });
148
- });
149
- }
150
- function fetchWorkItemTypes(auth, project) {
151
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
152
- return azureDevOpsApiCall({
153
- organizationUrl: auth.props.organizationUrl,
154
- pat: auth.props.pat,
155
- method: pieces_common_1.HttpMethod.GET,
156
- endpoint: `/${encodeURIComponent(project)}/_apis/wit/workitemtypes`,
157
- queryParams: { 'api-version': '7.1' },
158
- });
159
- });
160
- }
161
- function flattenWorkItem(workItem) {
162
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
163
- const fields = workItem.fields;
164
- return {
165
- id: workItem.id,
166
- rev: workItem.rev,
167
- url: (_a = workItem.url) !== null && _a !== void 0 ? _a : null,
168
- title: (_b = fields['System.Title']) !== null && _b !== void 0 ? _b : null,
169
- work_item_type: (_c = fields['System.WorkItemType']) !== null && _c !== void 0 ? _c : null,
170
- state: (_d = fields['System.State']) !== null && _d !== void 0 ? _d : null,
171
- reason: (_e = fields['System.Reason']) !== null && _e !== void 0 ? _e : null,
172
- assigned_to: (_g = (_f = fields['System.AssignedTo']) === null || _f === void 0 ? void 0 : _f.displayName) !== null && _g !== void 0 ? _g : null,
173
- assigned_to_email: (_j = (_h = fields['System.AssignedTo']) === null || _h === void 0 ? void 0 : _h.uniqueName) !== null && _j !== void 0 ? _j : null,
174
- created_date: (_k = fields['System.CreatedDate']) !== null && _k !== void 0 ? _k : null,
175
- created_by: (_m = (_l = fields['System.CreatedBy']) === null || _l === void 0 ? void 0 : _l.displayName) !== null && _m !== void 0 ? _m : null,
176
- changed_date: (_o = fields['System.ChangedDate']) !== null && _o !== void 0 ? _o : null,
177
- changed_by: (_q = (_p = fields['System.ChangedBy']) === null || _p === void 0 ? void 0 : _p.displayName) !== null && _q !== void 0 ? _q : null,
178
- area_path: (_r = fields['System.AreaPath']) !== null && _r !== void 0 ? _r : null,
179
- iteration_path: (_s = fields['System.IterationPath']) !== null && _s !== void 0 ? _s : null,
180
- priority: (_t = fields['Microsoft.VSTS.Common.Priority']) !== null && _t !== void 0 ? _t : null,
181
- description: (_u = fields['System.Description']) !== null && _u !== void 0 ? _u : null,
182
- project: (_v = fields['System.TeamProject']) !== null && _v !== void 0 ? _v : null,
183
- };
184
- }
185
- function fetchWorkItemsByIds(_a) {
186
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ organizationUrl, pat, ids, }) {
187
- if (ids.length === 0) {
188
- return [];
189
- }
190
- const results = [];
191
- const batchSize = 200;
192
- for (let i = 0; i < ids.length; i += batchSize) {
193
- const batch = ids.slice(i, i + batchSize);
194
- const response = yield azureDevOpsApiCall({
195
- organizationUrl,
196
- pat,
197
- method: pieces_common_1.HttpMethod.GET,
198
- endpoint: '/_apis/wit/workitems',
199
- queryParams: {
200
- ids: batch.join(','),
201
- '$expand': 'all',
202
- 'api-version': '7.1',
203
- },
204
- });
205
- if (response.value) {
206
- results.push(...response.value.map(flattenWorkItem));
207
- }
208
- }
209
- return results;
210
- });
211
- }
212
- function createSubscription(_a) {
213
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, projectId, eventType, webhookUrl, workItemType, basicAuthUsername, basicAuthPassword, }) {
214
- const publisherInputs = { projectId };
215
- if (workItemType) {
216
- publisherInputs['workItemType'] = workItemType;
217
- }
218
- const consumerInputs = {
219
- url: webhookUrl,
220
- resourceDetailsToSend: 'all',
221
- messagesToSend: 'none',
222
- detailedMessagesToSend: 'none',
223
- };
224
- if (basicAuthUsername !== undefined) {
225
- consumerInputs['basicAuthUsername'] = basicAuthUsername;
226
- }
227
- if (basicAuthPassword !== undefined) {
228
- consumerInputs['basicAuthPassword'] = basicAuthPassword;
229
- }
230
- return azureDevOpsApiCall({
231
- organizationUrl: auth.props.organizationUrl,
232
- pat: auth.props.pat,
233
- method: pieces_common_1.HttpMethod.POST,
234
- endpoint: '/_apis/hooks/subscriptions',
235
- queryParams: { 'api-version': '7.1' },
236
- body: {
237
- publisherId: 'tfs',
238
- eventType,
239
- resourceVersion: '1.0',
240
- consumerId: 'webHooks',
241
- consumerActionId: 'httpRequest',
242
- publisherInputs,
243
- consumerInputs,
244
- },
245
- });
246
- });
247
- }
248
- function deleteSubscription(_a) {
249
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, subscriptionId, }) {
250
- yield azureDevOpsApiCall({
251
- organizationUrl: auth.props.organizationUrl,
252
- pat: auth.props.pat,
253
- method: pieces_common_1.HttpMethod.DELETE,
254
- endpoint: `/_apis/hooks/subscriptions/${subscriptionId}`,
255
- queryParams: { 'api-version': '7.1' },
256
- });
257
- });
258
- }
259
- function fetchProjectId(auth, projectName) {
260
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
261
- var _a;
262
- const project = yield azureDevOpsApiCall({
263
- organizationUrl: auth.props.organizationUrl,
264
- pat: auth.props.pat,
265
- method: pieces_common_1.HttpMethod.GET,
266
- endpoint: `/_apis/projects/${encodeURIComponent(projectName)}`,
267
- queryParams: { 'api-version': '7.1' },
268
- });
269
- return (_a = project.id) !== null && _a !== void 0 ? _a : null;
270
- });
271
- }
272
- const MAX_TEAMS_FOR_MEMBER_DROPDOWN = 25;
273
- const MEMBER_FETCH_CONCURRENCY = 5;
274
- function fetchTeamMembers(auth, projectName) {
275
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
276
- var _a, _b;
277
- const teamsResponse = yield azureDevOpsApiCall({
278
- organizationUrl: auth.props.organizationUrl,
279
- pat: auth.props.pat,
280
- method: pieces_common_1.HttpMethod.GET,
281
- endpoint: `/_apis/projects/${encodeURIComponent(projectName)}/teams`,
282
- queryParams: {
283
- 'api-version': '7.1',
284
- '$top': String(MAX_TEAMS_FOR_MEMBER_DROPDOWN),
285
- },
286
- });
287
- const teams = (_a = teamsResponse.value) !== null && _a !== void 0 ? _a : [];
288
- const seen = new Map();
289
- for (let i = 0; i < teams.length; i += MEMBER_FETCH_CONCURRENCY) {
290
- const batch = teams.slice(i, i + MEMBER_FETCH_CONCURRENCY);
291
- const results = yield Promise.all(batch.map((team) => azureDevOpsApiCall({
292
- organizationUrl: auth.props.organizationUrl,
293
- pat: auth.props.pat,
294
- method: pieces_common_1.HttpMethod.GET,
295
- endpoint: `/_apis/projects/${encodeURIComponent(projectName)}/teams/${team.id}/members`,
296
- queryParams: { 'api-version': '7.1', '$top': '200' },
297
- })));
298
- for (const response of results) {
299
- for (const member of (_b = response.value) !== null && _b !== void 0 ? _b : []) {
300
- const identity = member.identity;
301
- if ((identity === null || identity === void 0 ? void 0 : identity.id) && !seen.has(identity.id)) {
302
- seen.set(identity.id, identity);
303
- }
304
- }
305
- }
306
- }
307
- return Array.from(seen.values());
308
- });
309
- }
310
- function fetchWorkItemTypeStates(auth, projectName, workItemType) {
311
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
312
- var _a;
313
- const response = yield azureDevOpsApiCall({
314
- organizationUrl: auth.props.organizationUrl,
315
- pat: auth.props.pat,
316
- method: pieces_common_1.HttpMethod.GET,
317
- endpoint: `/${encodeURIComponent(projectName)}/_apis/wit/workitemtypes/${encodeURIComponent(workItemType)}`,
318
- queryParams: { 'api-version': '7.1' },
319
- });
320
- return (_a = response.states) !== null && _a !== void 0 ? _a : [];
321
- });
322
- }
323
- function createAssignedToDropdown(required) {
324
- return pieces_framework_1.Property.Dropdown({
325
- displayName: 'Assigned To',
326
- description: 'Select the person to assign this work item to. Only project team members are listed — use the Custom API Call action if you need to assign a user outside your teams.',
327
- refreshers: ['project'],
328
- required,
329
- auth: exports.azureDevOpsAuth,
330
- options: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ auth, project }) {
331
- if (!auth) {
332
- return {
333
- disabled: true,
334
- options: [],
335
- placeholder: 'Please connect your Azure DevOps account first',
336
- };
337
- }
338
- if (!project) {
339
- return {
340
- disabled: true,
341
- options: [],
342
- placeholder: 'Please select a project first',
343
- };
344
- }
345
- const typedAuth = asAzureAuth(auth);
346
- try {
347
- const members = yield fetchTeamMembers(typedAuth, narrowString(project, 'project'));
348
- if (members.length === 0) {
349
- return {
350
- disabled: false,
351
- options: [],
352
- placeholder: 'No team members found in this project.',
353
- };
354
- }
355
- return {
356
- disabled: false,
357
- options: members.map((m) => {
358
- var _a;
359
- return ({
360
- label: m.uniqueName ? `${m.displayName} (${m.uniqueName})` : m.displayName,
361
- value: (_a = m.uniqueName) !== null && _a !== void 0 ? _a : m.displayName,
362
- });
363
- }),
364
- };
365
- }
366
- catch (error) {
367
- return {
368
- disabled: true,
369
- options: [],
370
- placeholder: `Load failed${extractHttpStatus(error)}. Check PAT.`,
371
- };
372
- }
373
- }),
374
- });
375
- }
376
- function createStateDropdown(required, description) {
377
- return pieces_framework_1.Property.Dropdown({
378
- displayName: 'State',
379
- description,
380
- refreshers: ['project', 'work_item_type'],
381
- required,
382
- auth: exports.azureDevOpsAuth,
383
- options: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ auth, project, work_item_type }) {
384
- if (!auth) {
385
- return {
386
- disabled: true,
387
- options: [],
388
- placeholder: 'Please connect your Azure DevOps account first',
389
- };
390
- }
391
- if (!project) {
392
- return {
393
- disabled: true,
394
- options: [],
395
- placeholder: 'Please select a project first',
396
- };
397
- }
398
- if (!work_item_type) {
399
- return {
400
- disabled: true,
401
- options: [],
402
- placeholder: 'Please select a work item type first',
403
- };
404
- }
405
- const typedAuth = asAzureAuth(auth);
406
- try {
407
- const states = yield fetchWorkItemTypeStates(typedAuth, narrowString(project, 'project'), narrowString(work_item_type, 'work_item_type'));
408
- if (states.length === 0) {
409
- return {
410
- disabled: false,
411
- options: [],
412
- placeholder: 'No states defined for this work item type.',
413
- };
414
- }
415
- return {
416
- disabled: false,
417
- options: states.map((s) => ({
418
- label: s.category ? `${s.name} (${s.category})` : s.name,
419
- value: s.name,
420
- })),
421
- };
422
- }
423
- catch (error) {
424
- return {
425
- disabled: true,
426
- options: [],
427
- placeholder: `Load failed${extractHttpStatus(error)}. Check PAT.`,
428
- };
429
- }
430
- }),
431
- });
432
- }
433
- function createWorkItemTypeDropdown(required, description) {
434
- return pieces_framework_1.Property.Dropdown({
435
- displayName: 'Work Item Type',
436
- description,
437
- refreshers: ['project'],
438
- required,
439
- auth: exports.azureDevOpsAuth,
440
- options: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ auth, project }) {
441
- if (!auth) {
442
- return {
443
- disabled: true,
444
- options: [],
445
- placeholder: 'Please connect your Azure DevOps account first',
446
- };
447
- }
448
- if (!project) {
449
- return {
450
- disabled: true,
451
- options: [],
452
- placeholder: 'Please select a project first',
453
- };
454
- }
455
- const typedAuth = asAzureAuth(auth);
456
- try {
457
- const response = yield fetchWorkItemTypes(typedAuth, narrowString(project, 'project'));
458
- if (!response.value || response.value.length === 0) {
459
- return {
460
- disabled: false,
461
- options: [],
462
- placeholder: 'No work item types found.',
463
- };
464
- }
465
- return {
466
- disabled: false,
467
- options: response.value.map((t) => ({
468
- label: t.name,
469
- value: t.name,
470
- })),
471
- };
472
- }
473
- catch (error) {
474
- return {
475
- disabled: true,
476
- options: [],
477
- placeholder: `Load failed${extractHttpStatus(error)}. Check PAT.`,
478
- };
479
- }
480
- }),
481
- });
482
- }
483
- exports.azureDevOpsCommon = {
484
- projectDropdown: pieces_framework_1.Property.Dropdown({
485
- displayName: 'Project',
486
- description: 'Select the Azure DevOps project',
487
- refreshers: [],
488
- required: true,
489
- auth: exports.azureDevOpsAuth,
490
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
491
- if (!auth) {
492
- return {
493
- disabled: true,
494
- options: [],
495
- placeholder: 'Please connect your Azure DevOps account first',
496
- };
497
- }
498
- const typedAuth = asAzureAuth(auth);
499
- try {
500
- const response = yield fetchProjects(typedAuth);
501
- if (!response.value || response.value.length === 0) {
502
- return {
503
- disabled: false,
504
- options: [],
505
- placeholder: 'No projects found. Create one in Azure DevOps first.',
506
- };
507
- }
508
- return {
509
- disabled: false,
510
- options: response.value.map((p) => ({
511
- label: p.name,
512
- value: p.name,
513
- })),
514
- };
515
- }
516
- catch (error) {
517
- return {
518
- disabled: true,
519
- options: [],
520
- placeholder: `Load failed${extractHttpStatus(error)}. Check PAT.`,
521
- };
522
- }
523
- }),
524
- }),
525
- workItemTypeDropdown: createWorkItemTypeDropdown(true, 'Select the type of work item (e.g. Bug, Task, User Story)'),
526
- workItemTypeDropdownOptional: createWorkItemTypeDropdown(false, 'Filter by work item type. Leave empty to trigger for all types.'),
527
- assignedToDropdown: createAssignedToDropdown(false),
528
- stateDropdown: createStateDropdown(false, 'New state for the work item. Leave empty to keep the current state.'),
529
- stateDropdownOptional: createStateDropdown(false, 'Filter by state. Leave empty to trigger for all states.'),
530
- priorityDropdown: pieces_framework_1.Property.StaticDropdown({
531
- displayName: 'Priority',
532
- description: 'The priority of the work item',
533
- required: false,
534
- options: {
535
- options: [
536
- { label: '1 - Critical', value: '1' },
537
- { label: '2 - High', value: '2' },
538
- { label: '3 - Medium', value: '3' },
539
- { label: '4 - Low', value: '4' },
540
- ],
541
- },
542
- }),
543
- escapeWiqlString,
544
- sanitizeOrgUrl,
545
- isValidUrl,
546
- asAuth: asAzureAuth,
547
- narrowString,
548
- parseWebhookPayload,
549
- generateWebhookToken,
550
- timingSafeEqual,
551
- extractHttpStatus,
552
- apiCall: azureDevOpsApiCall,
553
- fetchWorkItemsByIds,
554
- flattenWorkItem,
555
- fetchProjectId,
556
- fetchTeamMembers,
557
- fetchWorkItemTypeStates,
558
- createSubscription,
559
- deleteSubscription,
560
- };
561
- function sanitizeOrgUrl(url) {
562
- return url.replace(/\/+$/, '');
563
- }
564
- function escapeWiqlString(value) {
565
- return value.replace(/'/g, "''");
566
- }
567
- function isValidUrl(url) {
568
- try {
569
- const parsed = new URL(url);
570
- return parsed.protocol === 'http:' || parsed.protocol === 'https:';
571
- }
572
- catch (_a) {
573
- return false;
574
- }
575
- }
576
- exports.WEBHOOK_EVENT_OPTIONS = [
577
- { label: 'Work Item Created', value: 'workitem.created' },
578
- { label: 'Work Item Updated', value: 'workitem.updated' },
579
- { label: 'Work Item Commented', value: 'workitem.commented' },
580
- ];
581
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/common/index.ts"],"names":[],"mappings":"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"}