n8n-nodes-azuredevops-advanced 0.1.0 → 0.1.2
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/README.md +595 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,595 @@
|
|
|
1
|
+
# n8n-nodes-azuredevops-advanced
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/n8n-nodes-azuredevops-advanced)
|
|
4
|
+
[](https://www.npmjs.com/package/n8n-nodes-azuredevops-advanced)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
[](https://docs.n8n.io/integrations/community-nodes/)
|
|
7
|
+
|
|
8
|
+
A comprehensive n8n community node package for Azure DevOps integration. Manage Git, Pipelines, Work Items, Pull Requests, Test Plans, Boards, Wiki, Service Hooks, TFVC, and Artifacts — all from a single node.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Table of Contents
|
|
13
|
+
|
|
14
|
+
- [Features](#features)
|
|
15
|
+
- [Installation](#installation)
|
|
16
|
+
- [Credential Configuration](#credential-configuration)
|
|
17
|
+
- [Resources & Operations](#resources--operations)
|
|
18
|
+
- [Git Repositories](#1-git-repositories)
|
|
19
|
+
- [Pipeline (CI/CD)](#2-pipeline-cicd)
|
|
20
|
+
- [Work Items](#3-work-items)
|
|
21
|
+
- [Pull Requests](#4-pull-requests)
|
|
22
|
+
- [Test Plans](#5-test-plans)
|
|
23
|
+
- [Boards](#6-boards)
|
|
24
|
+
- [Wiki](#7-wiki)
|
|
25
|
+
- [Service Hooks](#8-service-hooks)
|
|
26
|
+
- [TFVC](#9-tfvc)
|
|
27
|
+
- [Artifacts](#10-artifacts)
|
|
28
|
+
- [Usage Examples](#usage-examples)
|
|
29
|
+
- [Requirements](#requirements)
|
|
30
|
+
- [Contributing](#contributing)
|
|
31
|
+
- [License](#license)
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Features
|
|
36
|
+
|
|
37
|
+
- **10 Azure DevOps resources** managed through a single node
|
|
38
|
+
- **40+ operations** for comprehensive automation
|
|
39
|
+
- Azure DevOps REST API **v7.1** support
|
|
40
|
+
- Secure authentication via Personal Access Token (PAT)
|
|
41
|
+
- Full support for n8n error handling and **continueOnFail**
|
|
42
|
+
- Built with TypeScript for complete type safety
|
|
43
|
+
|
|
44
|
+
### Supported Resources
|
|
45
|
+
|
|
46
|
+
| Resource | Operations | Description |
|
|
47
|
+
|----------|-----------|-------------|
|
|
48
|
+
| Git Repositories | 4 | List repos, read files, create branches, push commits |
|
|
49
|
+
| Pipeline (CI/CD) | 4 | List, run, get logs, cancel pipelines |
|
|
50
|
+
| Work Items | 6 | Create, update, list work items; manage users and tags |
|
|
51
|
+
| Pull Requests | 5 | Create, update, list PRs, read comments |
|
|
52
|
+
| Test Plans | 4 | List test plans, suites, cases, and runs |
|
|
53
|
+
| Boards | 3 | List boards, columns, and iterations (sprints) |
|
|
54
|
+
| Wiki | 4 | Read, create, and update wiki pages |
|
|
55
|
+
| Service Hooks | 2 | List and create webhook subscriptions |
|
|
56
|
+
| TFVC | 2 | List TFVC branches and read files |
|
|
57
|
+
| Artifacts | 2 | List feeds and packages |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Installation
|
|
62
|
+
|
|
63
|
+
### Via n8n UI (Recommended)
|
|
64
|
+
|
|
65
|
+
1. In n8n, go to **Settings → Community Nodes**
|
|
66
|
+
2. Click **Install**
|
|
67
|
+
3. Enter the package name: `n8n-nodes-azuredevops-advanced`
|
|
68
|
+
4. Click **Install** and confirm the restart
|
|
69
|
+
|
|
70
|
+
### Manual Installation via npm
|
|
71
|
+
|
|
72
|
+
For self-hosted n8n environments:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install n8n-nodes-azuredevops-advanced
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
If you're running Docker, add it to the `n8n-custom-extensions` folder or build a custom Docker image:
|
|
79
|
+
|
|
80
|
+
```dockerfile
|
|
81
|
+
FROM n8nio/n8n
|
|
82
|
+
RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-azuredevops-advanced
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Credential Configuration
|
|
88
|
+
|
|
89
|
+
### Creating an Azure DevOps Personal Access Token (PAT)
|
|
90
|
+
|
|
91
|
+
1. Go to [dev.azure.com](https://dev.azure.com) and sign in
|
|
92
|
+
2. Click your user icon in the top right → **Personal access tokens**
|
|
93
|
+
3. Click **New Token**
|
|
94
|
+
4. Give the token a name (e.g. `n8n-integration`)
|
|
95
|
+
5. Set an **Expiration** date
|
|
96
|
+
6. Under **Scopes**, select the permissions you need:
|
|
97
|
+
|
|
98
|
+
| Scope | Permission | Used For |
|
|
99
|
+
|-------|-----------|----------|
|
|
100
|
+
| Code | Read & Write | Git, Pull Requests |
|
|
101
|
+
| Build | Read & Execute | Pipeline |
|
|
102
|
+
| Work Items | Read & Write | Work Items, Boards |
|
|
103
|
+
| Test Management | Read & Write | Test Plans |
|
|
104
|
+
| Wiki | Read & Write | Wiki |
|
|
105
|
+
| Service Hooks | Read, Write & Manage | Service Hooks |
|
|
106
|
+
| Packaging | Read | Artifacts |
|
|
107
|
+
|
|
108
|
+
7. Click **Create** and copy the token (it won't be shown again!)
|
|
109
|
+
|
|
110
|
+
### Creating a Credential in n8n
|
|
111
|
+
|
|
112
|
+
1. In n8n, go to **Credentials → Add Credential**
|
|
113
|
+
2. Select **Azure DevOps Advanced API**
|
|
114
|
+
3. Fill in the following fields:
|
|
115
|
+
|
|
116
|
+
| Field | Description | Example |
|
|
117
|
+
|-------|-------------|---------|
|
|
118
|
+
| Organization | Your Azure DevOps organization name | `mycompany` |
|
|
119
|
+
| Personal Access Token | The PAT you created above | `xxxxxxxxxxxxxxxxxxxx` |
|
|
120
|
+
|
|
121
|
+
4. Click **Save**
|
|
122
|
+
|
|
123
|
+
> **Note:** You can find your organization name in the URL: `dev.azure.com/{organization}`
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Resources & Operations
|
|
128
|
+
|
|
129
|
+
### 1. Git Repositories
|
|
130
|
+
|
|
131
|
+
Manage Azure DevOps Git repositories.
|
|
132
|
+
|
|
133
|
+
#### Operations
|
|
134
|
+
|
|
135
|
+
| Operation | Description | Required Parameters |
|
|
136
|
+
|-----------|-------------|-------------------|
|
|
137
|
+
| **List Repositories** | List all Git repos in a project | Project |
|
|
138
|
+
| **Get File Content** | Retrieve the content of a file | Project, Repository ID, File Path |
|
|
139
|
+
| **Create Branch** | Create a new branch (from main) | Project, Repository ID, Branch Name |
|
|
140
|
+
| **Push Commit** | Commit a file change | Project, Repository ID, Branch Name, Commit Message |
|
|
141
|
+
|
|
142
|
+
#### Example: Get File Content
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
Resource: Git Repositories
|
|
146
|
+
Operation: Get File Content
|
|
147
|
+
Project: MyProject
|
|
148
|
+
Repository ID: my-repo
|
|
149
|
+
File Path: /src/app.ts
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### Example: Create Branch
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
Resource: Git Repositories
|
|
156
|
+
Operation: Create Branch
|
|
157
|
+
Project: MyProject
|
|
158
|
+
Repository ID: my-repo
|
|
159
|
+
Branch Name: refs/heads/feature/new-feature
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### 2. Pipeline (CI/CD)
|
|
165
|
+
|
|
166
|
+
Automate Azure DevOps build and release pipelines.
|
|
167
|
+
|
|
168
|
+
#### Operations
|
|
169
|
+
|
|
170
|
+
| Operation | Description | Required Parameters |
|
|
171
|
+
|-----------|-------------|-------------------|
|
|
172
|
+
| **List Pipelines** | List all pipelines | Project |
|
|
173
|
+
| **Run Pipeline** | Trigger a pipeline | Project, Pipeline ID |
|
|
174
|
+
| **Get Build Logs** | Retrieve logs for a specific run | Project, Pipeline ID, Run ID |
|
|
175
|
+
| **Cancel Run** | Cancel an active pipeline run | Project, Pipeline ID, Run ID |
|
|
176
|
+
|
|
177
|
+
#### Example: Trigger a Pipeline
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Resource: Pipeline
|
|
181
|
+
Operation: Run Pipeline
|
|
182
|
+
Project: MyProject
|
|
183
|
+
Pipeline ID: 42
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
#### Example: Get Build Logs
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
Resource: Pipeline
|
|
190
|
+
Operation: Get Build Logs
|
|
191
|
+
Project: MyProject
|
|
192
|
+
Pipeline ID: 42
|
|
193
|
+
Run ID: 1234
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### 3. Work Items
|
|
199
|
+
|
|
200
|
+
Manage Azure DevOps work items (Task, Bug, Epic, Feature, User Story).
|
|
201
|
+
|
|
202
|
+
#### Operations
|
|
203
|
+
|
|
204
|
+
| Operation | Description | Required Parameters |
|
|
205
|
+
|-----------|-------------|-------------------|
|
|
206
|
+
| **Get Work Item** | Fetch a single work item | Project, Work Item ID |
|
|
207
|
+
| **List All Work Items** | List all work items via WIQL query | Project |
|
|
208
|
+
| **Create Work Item** | Create a new work item | Project, Work Item Type, Title |
|
|
209
|
+
| **Update Work Item** | Update an existing work item | Project, Work Item ID |
|
|
210
|
+
| **List Users** | List organization users | — |
|
|
211
|
+
| **List Tags** | List all tags in a project | Project |
|
|
212
|
+
|
|
213
|
+
#### Supported Work Item Types
|
|
214
|
+
|
|
215
|
+
- Task
|
|
216
|
+
- Bug
|
|
217
|
+
- Epic
|
|
218
|
+
- Feature
|
|
219
|
+
- User Story
|
|
220
|
+
- Issue
|
|
221
|
+
- Test Case
|
|
222
|
+
|
|
223
|
+
#### Supported Work Item States
|
|
224
|
+
|
|
225
|
+
- New / To Do
|
|
226
|
+
- Active / Doing
|
|
227
|
+
- Resolved
|
|
228
|
+
- Closed / Done
|
|
229
|
+
- Removed
|
|
230
|
+
|
|
231
|
+
#### Additional Fields (Optional)
|
|
232
|
+
|
|
233
|
+
Extra fields available when creating or updating a work item:
|
|
234
|
+
|
|
235
|
+
| Field Name | Description |
|
|
236
|
+
|-----------|-------------|
|
|
237
|
+
| `System.Description` | Work item description (HTML supported) |
|
|
238
|
+
| `System.AssignedTo` | Assigned user name or email |
|
|
239
|
+
| `System.State` | State (New, Active, Resolved, Closed) |
|
|
240
|
+
| `Microsoft.VSTS.Common.Priority` | Priority (1=Highest, 4=Lowest) |
|
|
241
|
+
| `System.Tags` | Tags (semicolon-separated) |
|
|
242
|
+
| `Custom.FieldName` | Any custom field |
|
|
243
|
+
|
|
244
|
+
#### Example: Create a Bug
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
Resource: Work Items
|
|
248
|
+
Operation: Create Work Item
|
|
249
|
+
Project: MyProject
|
|
250
|
+
Work Item Type: Bug
|
|
251
|
+
Title: Login button not working
|
|
252
|
+
Additional Fields:
|
|
253
|
+
- System.Description: Steps to reproduce...
|
|
254
|
+
- System.AssignedTo: john.doe@company.com
|
|
255
|
+
- Microsoft.VSTS.Common.Priority: 1
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
### 4. Pull Requests
|
|
261
|
+
|
|
262
|
+
Automate Git pull request workflows.
|
|
263
|
+
|
|
264
|
+
#### Operations
|
|
265
|
+
|
|
266
|
+
| Operation | Description | Required Parameters |
|
|
267
|
+
|-----------|-------------|-------------------|
|
|
268
|
+
| **Get Pull Request** | Fetch a single PR | Project, Repository ID, PR ID |
|
|
269
|
+
| **List Pull Requests** | List PRs with filters | Project, Repository ID |
|
|
270
|
+
| **Create Pull Request** | Open a new PR | Project, Repository ID, Source Branch, Target Branch, Title |
|
|
271
|
+
| **Update Pull Request** | Update or merge a PR | Project, Repository ID, PR ID |
|
|
272
|
+
| **Get Comments** | Fetch PR review threads | Project, Repository ID, PR ID |
|
|
273
|
+
|
|
274
|
+
#### PR Listing Filters
|
|
275
|
+
|
|
276
|
+
| Filter | Options |
|
|
277
|
+
|--------|---------|
|
|
278
|
+
| Status | active, abandoned, completed, all |
|
|
279
|
+
| Source Branch | Source branch name |
|
|
280
|
+
| Target Branch | Target branch name |
|
|
281
|
+
| Limit | Maximum number of results |
|
|
282
|
+
|
|
283
|
+
#### Merge Strategies
|
|
284
|
+
|
|
285
|
+
Merge strategies available when completing a PR:
|
|
286
|
+
|
|
287
|
+
| Strategy | Description |
|
|
288
|
+
|----------|-------------|
|
|
289
|
+
| `noFastForward` | Create a merge commit |
|
|
290
|
+
| `rebase` | Rebase onto target branch |
|
|
291
|
+
| `rebaseMerge` | Rebase and create a merge commit |
|
|
292
|
+
| `squash` | Squash all commits into one |
|
|
293
|
+
|
|
294
|
+
#### Example: Create a Pull Request
|
|
295
|
+
|
|
296
|
+
```
|
|
297
|
+
Resource: Pull Requests
|
|
298
|
+
Operation: Create Pull Request
|
|
299
|
+
Project: MyProject
|
|
300
|
+
Repository ID: my-repo
|
|
301
|
+
Source Branch: refs/heads/feature/new-feature
|
|
302
|
+
Target Branch: refs/heads/main
|
|
303
|
+
Title: Add new authentication feature
|
|
304
|
+
Additional Fields:
|
|
305
|
+
- Description: This PR adds OAuth2 support
|
|
306
|
+
- isDraft: false
|
|
307
|
+
- Reviewers: user-id-1,user-id-2
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
### 5. Test Plans
|
|
313
|
+
|
|
314
|
+
Automate Azure DevOps test management.
|
|
315
|
+
|
|
316
|
+
#### Operations
|
|
317
|
+
|
|
318
|
+
| Operation | Description | Required Parameters |
|
|
319
|
+
|-----------|-------------|-------------------|
|
|
320
|
+
| **List Test Plans** | List all test plans | Project |
|
|
321
|
+
| **List Test Suites** | List suites within a plan | Project, Plan ID |
|
|
322
|
+
| **List Test Cases** | List test cases within a suite | Project, Plan ID, Suite ID |
|
|
323
|
+
| **List Test Runs** | List all test runs | Project |
|
|
324
|
+
|
|
325
|
+
#### Example: List Test Cases
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
Resource: Test Plans
|
|
329
|
+
Operation: List Test Cases
|
|
330
|
+
Project: MyProject
|
|
331
|
+
Plan ID: 10
|
|
332
|
+
Suite ID: 25
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
### 6. Boards
|
|
338
|
+
|
|
339
|
+
Agile board and sprint management.
|
|
340
|
+
|
|
341
|
+
#### Operations
|
|
342
|
+
|
|
343
|
+
| Operation | Description | Required Parameters |
|
|
344
|
+
|-----------|-------------|-------------------|
|
|
345
|
+
| **List Boards** | List team boards | Project, Team |
|
|
346
|
+
| **List Board Columns** | List columns in a board | Project, Team, Board ID |
|
|
347
|
+
| **List Iterations** | Get sprint/iteration list | Project, Team |
|
|
348
|
+
|
|
349
|
+
#### Example: Get Sprint List
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
Resource: Boards
|
|
353
|
+
Operation: List Iterations
|
|
354
|
+
Project: MyProject
|
|
355
|
+
Team: MyProject Team
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
#### Common Board IDs
|
|
359
|
+
|
|
360
|
+
- `Epics`
|
|
361
|
+
- `Features`
|
|
362
|
+
- `Stories`
|
|
363
|
+
- `Backlog items`
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
### 7. Wiki
|
|
368
|
+
|
|
369
|
+
Manage Azure DevOps wiki pages.
|
|
370
|
+
|
|
371
|
+
#### Operations
|
|
372
|
+
|
|
373
|
+
| Operation | Description | Required Parameters |
|
|
374
|
+
|-----------|-------------|-------------------|
|
|
375
|
+
| **List Wikis** | List all wikis in a project | Project |
|
|
376
|
+
| **Get Page** | Fetch a wiki page | Project, Wiki Identifier, Page Path |
|
|
377
|
+
| **Create Page** | Create a new wiki page | Project, Wiki Identifier, Page Path, Content |
|
|
378
|
+
| **Update Page** | Update an existing wiki page | Project, Wiki Identifier, Page Path, Content |
|
|
379
|
+
|
|
380
|
+
#### Example: Create a Wiki Page
|
|
381
|
+
|
|
382
|
+
```
|
|
383
|
+
Resource: Wiki
|
|
384
|
+
Operation: Create Page
|
|
385
|
+
Project: MyProject
|
|
386
|
+
Wiki Identifier: MyProject.wiki
|
|
387
|
+
Page Path: /Documentation/API-Guide
|
|
388
|
+
Content: # API Guide\n\nThis page contains the API reference...
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
> **Note:** The Content field supports Markdown format.
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
### 8. Service Hooks
|
|
396
|
+
|
|
397
|
+
Manage webhook subscriptions for Azure DevOps events.
|
|
398
|
+
|
|
399
|
+
#### Operations
|
|
400
|
+
|
|
401
|
+
| Operation | Description | Required Parameters |
|
|
402
|
+
|-----------|-------------|-------------------|
|
|
403
|
+
| **List Subscriptions** | List all webhook subscriptions | — |
|
|
404
|
+
| **Create Subscription** | Create a new webhook subscription | Project, Event Type, Consumer URL |
|
|
405
|
+
|
|
406
|
+
#### Supported Event Types
|
|
407
|
+
|
|
408
|
+
| Event Type | Description |
|
|
409
|
+
|-----------|-------------|
|
|
410
|
+
| `build.complete` | Build completed |
|
|
411
|
+
| `git.push` | Code pushed |
|
|
412
|
+
| `git.pullrequest.created` | Pull request created |
|
|
413
|
+
| `git.pullrequest.merged` | Pull request merged |
|
|
414
|
+
| `workitem.created` | Work item created |
|
|
415
|
+
| `workitem.updated` | Work item updated |
|
|
416
|
+
| `ms.vss-release.release-created-event` | Release created |
|
|
417
|
+
|
|
418
|
+
#### Example: Create a Webhook Subscription
|
|
419
|
+
|
|
420
|
+
```
|
|
421
|
+
Resource: Service Hooks
|
|
422
|
+
Operation: Create Subscription
|
|
423
|
+
Project: MyProject
|
|
424
|
+
Event Type: git.push
|
|
425
|
+
Consumer URL: https://your-n8n-instance.com/webhook/xyz
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
> **Tip:** Use your n8n Webhook node's URL as the Consumer URL to connect Azure DevOps events directly to n8n workflows.
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
### 9. TFVC
|
|
433
|
+
|
|
434
|
+
Support for Team Foundation Version Control (legacy source control).
|
|
435
|
+
|
|
436
|
+
#### Operations
|
|
437
|
+
|
|
438
|
+
| Operation | Description | Required Parameters |
|
|
439
|
+
|-----------|-------------|-------------------|
|
|
440
|
+
| **List Branches** | List TFVC branches and folders | Project |
|
|
441
|
+
| **Get File Content** | Read a file from TFVC | Project, File Path |
|
|
442
|
+
|
|
443
|
+
#### Example: Read a TFVC File
|
|
444
|
+
|
|
445
|
+
```
|
|
446
|
+
Resource: TFVC
|
|
447
|
+
Operation: Get File Content
|
|
448
|
+
Project: MyProject
|
|
449
|
+
File Path: $/MyProject/src/main.cs
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
> **Note:** TFVC paths start with `$/`.
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
### 10. Artifacts
|
|
457
|
+
|
|
458
|
+
Azure Artifacts package feed management.
|
|
459
|
+
|
|
460
|
+
#### Operations
|
|
461
|
+
|
|
462
|
+
| Operation | Description | Required Parameters |
|
|
463
|
+
|-----------|-------------|-------------------|
|
|
464
|
+
| **List Feeds** | List all artifact feeds | Project |
|
|
465
|
+
| **List Packages** | List packages in a feed | Project, Feed ID |
|
|
466
|
+
|
|
467
|
+
#### Example: List Packages
|
|
468
|
+
|
|
469
|
+
```
|
|
470
|
+
Resource: Artifacts
|
|
471
|
+
Operation: List Packages
|
|
472
|
+
Project: MyProject
|
|
473
|
+
Feed ID: my-nuget-feed
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
---
|
|
477
|
+
|
|
478
|
+
## Usage Examples
|
|
479
|
+
|
|
480
|
+
### Example 1: Automated PR Creation Workflow
|
|
481
|
+
|
|
482
|
+
This workflow automatically creates a PR in Azure DevOps in response to an external event:
|
|
483
|
+
|
|
484
|
+
1. **Webhook Trigger** → Receives a GitHub push event
|
|
485
|
+
2. **Azure DevOps Advanced** (Git: Create Branch) → Creates a new branch
|
|
486
|
+
3. **Azure DevOps Advanced** (Pull Requests: Create) → Opens a PR
|
|
487
|
+
4. **Slack** → Sends a notification to the team
|
|
488
|
+
|
|
489
|
+
### Example 2: Work Item Automation
|
|
490
|
+
|
|
491
|
+
Synchronize issues from Jira to Azure DevOps:
|
|
492
|
+
|
|
493
|
+
1. **Schedule Trigger** → Runs every hour
|
|
494
|
+
2. **Jira** → Lists new issues
|
|
495
|
+
3. **IF** → Filters out items already in Azure DevOps
|
|
496
|
+
4. **Azure DevOps Advanced** (Work Items: Create) → Creates a Task
|
|
497
|
+
5. **Jira** → Updates the original issue
|
|
498
|
+
|
|
499
|
+
### Example 3: Build Monitoring
|
|
500
|
+
|
|
501
|
+
Send an alert when a pipeline fails:
|
|
502
|
+
|
|
503
|
+
1. **Azure DevOps Advanced** (Service Hooks: Create Subscription) → Subscribes to build events
|
|
504
|
+
2. **Webhook** → Receives the build complete event
|
|
505
|
+
3. **IF** → Checks whether the build failed
|
|
506
|
+
4. **Azure DevOps Advanced** (Pipeline: Get Build Logs) → Fetches error logs
|
|
507
|
+
5. **Email / Slack** → Sends a detailed failure notification
|
|
508
|
+
|
|
509
|
+
---
|
|
510
|
+
|
|
511
|
+
## Requirements
|
|
512
|
+
|
|
513
|
+
- **n8n** >= 1.0.0
|
|
514
|
+
- **Node.js** >= 18.x
|
|
515
|
+
- An Azure DevOps account and organization
|
|
516
|
+
- A Personal Access Token (PAT) with sufficient permissions
|
|
517
|
+
|
|
518
|
+
---
|
|
519
|
+
|
|
520
|
+
## Development
|
|
521
|
+
|
|
522
|
+
To run the project locally:
|
|
523
|
+
|
|
524
|
+
```bash
|
|
525
|
+
# Clone the repository
|
|
526
|
+
git clone https://github.com/ertekinozturgut/n8n-nodes-azuredevops-advanced.git
|
|
527
|
+
cd n8n-nodes-azuredevops-advanced
|
|
528
|
+
|
|
529
|
+
# Install dependencies
|
|
530
|
+
npm install
|
|
531
|
+
|
|
532
|
+
# TypeScript compilation (watch mode)
|
|
533
|
+
npm run dev
|
|
534
|
+
|
|
535
|
+
# Production build
|
|
536
|
+
npm run build
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
### Project Structure
|
|
540
|
+
|
|
541
|
+
```
|
|
542
|
+
n8n-nodes-azuredevops-advanced/
|
|
543
|
+
├── nodes/
|
|
544
|
+
│ └── AzureDevOpsAdvanced/
|
|
545
|
+
│ ├── AzureDevOpsAdvanced.node.ts # Main node implementation
|
|
546
|
+
│ ├── GenericFunctions.ts # API request helper
|
|
547
|
+
│ ├── azureDevOps.svg # Node icon
|
|
548
|
+
│ └── descriptions/
|
|
549
|
+
│ ├── GitDescription.ts
|
|
550
|
+
│ ├── PipelineDescription.ts
|
|
551
|
+
│ ├── WorkItemDescription.ts
|
|
552
|
+
│ ├── PullRequestDescription.ts
|
|
553
|
+
│ ├── TestPlanDescription.ts
|
|
554
|
+
│ ├── BoardDescription.ts
|
|
555
|
+
│ ├── WikiDescription.ts
|
|
556
|
+
│ ├── ServiceHookDescription.ts
|
|
557
|
+
│ ├── TfvcDescription.ts
|
|
558
|
+
│ └── ArtifactsDescription.ts
|
|
559
|
+
├── credentials/
|
|
560
|
+
│ └── AzureDevOpsAdvancedApi.credentials.ts
|
|
561
|
+
├── dist/ # Compiled JavaScript
|
|
562
|
+
├── package.json
|
|
563
|
+
└── tsconfig.json
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
---
|
|
567
|
+
|
|
568
|
+
## Contributing
|
|
569
|
+
|
|
570
|
+
Contributions are welcome! Please follow these steps:
|
|
571
|
+
|
|
572
|
+
1. Fork the repository
|
|
573
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
574
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
575
|
+
4. Push the branch (`git push origin feature/amazing-feature`)
|
|
576
|
+
5. Open a Pull Request
|
|
577
|
+
|
|
578
|
+
### Bug Reports
|
|
579
|
+
|
|
580
|
+
You can report bugs or request features via [GitHub Issues](https://github.com/ertekinozturgut/n8n-nodes-azuredevops-advanced/issues).
|
|
581
|
+
|
|
582
|
+
---
|
|
583
|
+
|
|
584
|
+
## License
|
|
585
|
+
|
|
586
|
+
This project is licensed under the [MIT License](LICENSE).
|
|
587
|
+
|
|
588
|
+
---
|
|
589
|
+
|
|
590
|
+
## Links
|
|
591
|
+
|
|
592
|
+
- [npm Package](https://www.npmjs.com/package/n8n-nodes-azuredevops-advanced)
|
|
593
|
+
- [GitHub Repository](https://github.com/ertekinozturgut/n8n-nodes-azuredevops-advanced)
|
|
594
|
+
- [Azure DevOps REST API Documentation](https://docs.microsoft.com/en-us/rest/api/azure/devops/)
|
|
595
|
+
- [n8n Community Nodes Guide](https://docs.n8n.io/integrations/community-nodes/)
|
package/package.json
CHANGED