n8n-nodes-azuredevops-advanced 0.2.0 → 0.3.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.
- package/credentials/AzureDevOpsAdvancedApi.credentials.ts +2 -2
- package/dist/credentials/AzureDevOpsAdvancedApi.credentials.js +2 -2
- package/dist/nodes/AzureDevOpsAdvanced/AzureDevOpsAdvanced.node.js +3 -3
- package/nodes/AzureDevOpsAdvanced/AzureDevOpsAdvanced.node.ts +3 -3
- package/package.json +8 -3
|
@@ -3,7 +3,7 @@ import { ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
|
3
3
|
export class AzureDevOpsAdvancedApi implements ICredentialType {
|
|
4
4
|
name = 'azureDevOpsAdvancedApi';
|
|
5
5
|
displayName = 'Azure DevOps Advanced API';
|
|
6
|
-
//
|
|
6
|
+
// Documentation link explaining how to obtain a Personal Access Token
|
|
7
7
|
documentationUrl = 'https://n8n.io/integrations/azure-devops';
|
|
8
8
|
properties: INodeProperties[] = [
|
|
9
9
|
{
|
|
@@ -21,7 +21,7 @@ export class AzureDevOpsAdvancedApi implements ICredentialType {
|
|
|
21
21
|
typeOptions: { password: true },
|
|
22
22
|
default: '',
|
|
23
23
|
required: true,
|
|
24
|
-
description: '
|
|
24
|
+
description: 'Your Azure DevOps Personal Access Token with Read/Write access to all required resources',
|
|
25
25
|
},
|
|
26
26
|
];
|
|
27
27
|
}
|
|
@@ -5,7 +5,7 @@ class AzureDevOpsAdvancedApi {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.name = 'azureDevOpsAdvancedApi';
|
|
7
7
|
this.displayName = 'Azure DevOps Advanced API';
|
|
8
|
-
//
|
|
8
|
+
// Documentation link explaining how to obtain a Personal Access Token
|
|
9
9
|
this.documentationUrl = 'https://n8n.io/integrations/azure-devops';
|
|
10
10
|
this.properties = [
|
|
11
11
|
{
|
|
@@ -23,7 +23,7 @@ class AzureDevOpsAdvancedApi {
|
|
|
23
23
|
typeOptions: { password: true },
|
|
24
24
|
default: '',
|
|
25
25
|
required: true,
|
|
26
|
-
description: '
|
|
26
|
+
description: 'Your Azure DevOps Personal Access Token with Read/Write access to all required resources',
|
|
27
27
|
},
|
|
28
28
|
];
|
|
29
29
|
}
|
|
@@ -243,7 +243,7 @@ class AzureDevOpsAdvanced {
|
|
|
243
243
|
});
|
|
244
244
|
}
|
|
245
245
|
else if (operation === 'listUsers') {
|
|
246
|
-
//
|
|
246
|
+
// Users are fetched via the Azure Graph API (vssps endpoint)
|
|
247
247
|
const endpoint = `_apis/graph/users?api-version=7.1-preview.1`;
|
|
248
248
|
const credentials = await this.getCredentials('azureDevOpsAdvancedApi');
|
|
249
249
|
const baseUrl = `https://vssps.dev.azure.com/${credentials.organization}`;
|
|
@@ -260,7 +260,7 @@ class AzureDevOpsAdvanced {
|
|
|
260
260
|
responseData = (responseData === null || responseData === void 0 ? void 0 : responseData.value) || responseData;
|
|
261
261
|
}
|
|
262
262
|
else if (operation === 'listTags') {
|
|
263
|
-
//
|
|
263
|
+
// Retrieve all work item tags scoped to the project
|
|
264
264
|
const endpoint = `${project}/_apis/wit/tags?api-version=7.1-preview.1`;
|
|
265
265
|
responseData = await GenericFunctions_1.azureApiRequest.call(this, 'GET', endpoint);
|
|
266
266
|
responseData = (responseData === null || responseData === void 0 ? void 0 : responseData.value) || responseData;
|
|
@@ -522,7 +522,7 @@ class AzureDevOpsAdvanced {
|
|
|
522
522
|
});
|
|
523
523
|
}
|
|
524
524
|
}
|
|
525
|
-
//
|
|
525
|
+
// Process and return results
|
|
526
526
|
if (Array.isArray(responseData)) {
|
|
527
527
|
returnData.push.apply(returnData, responseData.map(item => ({ json: item })));
|
|
528
528
|
}
|
|
@@ -257,7 +257,7 @@ export class AzureDevOpsAdvanced implements INodeType {
|
|
|
257
257
|
});
|
|
258
258
|
}
|
|
259
259
|
else if (operation === 'listUsers') {
|
|
260
|
-
//
|
|
260
|
+
// Users are fetched via the Azure Graph API (vssps endpoint)
|
|
261
261
|
const endpoint = `_apis/graph/users?api-version=7.1-preview.1`;
|
|
262
262
|
const credentials = await this.getCredentials('azureDevOpsAdvancedApi');
|
|
263
263
|
const baseUrl = `https://vssps.dev.azure.com/${(credentials as any).organization}`;
|
|
@@ -275,7 +275,7 @@ export class AzureDevOpsAdvanced implements INodeType {
|
|
|
275
275
|
responseData = responseData?.value || responseData;
|
|
276
276
|
}
|
|
277
277
|
else if (operation === 'listTags') {
|
|
278
|
-
//
|
|
278
|
+
// Retrieve all work item tags scoped to the project
|
|
279
279
|
const endpoint = `${project}/_apis/wit/tags?api-version=7.1-preview.1`;
|
|
280
280
|
responseData = await azureApiRequest.call(this, 'GET', endpoint);
|
|
281
281
|
responseData = responseData?.value || responseData;
|
|
@@ -540,7 +540,7 @@ export class AzureDevOpsAdvanced implements INodeType {
|
|
|
540
540
|
}
|
|
541
541
|
}
|
|
542
542
|
|
|
543
|
-
//
|
|
543
|
+
// Process and return results
|
|
544
544
|
if (Array.isArray(responseData)) {
|
|
545
545
|
returnData.push.apply(returnData, responseData.map(item => ({ json: item })));
|
|
546
546
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-azuredevops-advanced",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Comprehensive Azure DevOps custom node for n8n",
|
|
5
5
|
"main": "dist/nodes/AzureDevOpsAdvanced/AzureDevOpsAdvanced.node.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"files": [
|
|
26
26
|
"dist",
|
|
27
27
|
"credentials",
|
|
28
|
-
"nodes"
|
|
28
|
+
"nodes",
|
|
29
|
+
"README.md"
|
|
29
30
|
],
|
|
30
31
|
"n8n": {
|
|
31
32
|
"n8nNodesApiVersion": 1,
|
|
@@ -38,14 +39,18 @@
|
|
|
38
39
|
},
|
|
39
40
|
"scripts": {
|
|
40
41
|
"build": "tsc",
|
|
41
|
-
"dev": "tsc --watch"
|
|
42
|
+
"dev": "tsc --watch",
|
|
43
|
+
"test": "jest --forceExit"
|
|
42
44
|
},
|
|
43
45
|
"dependencies": {
|
|
44
46
|
"n8n-core": "^1.x",
|
|
45
47
|
"n8n-workflow": "^1.x"
|
|
46
48
|
},
|
|
47
49
|
"devDependencies": {
|
|
50
|
+
"@types/jest": "^30.0.0",
|
|
48
51
|
"@types/node": "^18.x",
|
|
52
|
+
"jest": "^30.4.2",
|
|
53
|
+
"ts-jest": "^29.4.11",
|
|
49
54
|
"typescript": "^5.x"
|
|
50
55
|
},
|
|
51
56
|
"publishConfig": {
|