You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+57-4Lines changed: 57 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,13 +15,66 @@ pnpm run build
15
15
16
16
Use **pnpm only** for installs in this repo. With Corepack enabled, `npm install` and `yarn install` are rejected. Do not commit `package-lock.json` or `yarn.lock` (see [SECURITY.md](SECURITY.md)).
17
17
18
-
### Live preview with `n8n-node dev`
18
+
### Testing locally
19
+
20
+
**Unit tests** (no HaloPSA credentials required):
19
21
20
22
```bash
21
-
n8n-node dev
23
+
pnpm test
22
24
```
23
25
24
-
Requires **Node.js 22.22.3+**.
26
+
**Live n8n preview** — runs n8n at http://localhost:5678 with this node linked for hot reload:
27
+
28
+
```bash
29
+
pnpm run dev
30
+
```
31
+
32
+
Use **Node.js 22 LTS** (`nvm use` reads `.nvmrc`). Node 23+ is not supported by n8n’s native dependencies.
33
+
34
+
**First run takes several minutes.**`n8n-node dev` downloads n8n via `npx` into `~/.n8n-node-cli`. You will see many `npm warn` lines about peer dependencies — that is normal. Wait until the n8n panel shows:
35
+
36
+
```
37
+
Editor is now accessible via: http://localhost:5678
38
+
```
39
+
40
+
Do not stop the process during the install. If you see `Shutting down gracefully` with exit code 1, you likely interrupted it with Ctrl+C before n8n finished starting.
41
+
42
+
Prefer **`pnpm run dev`** over a globally installed `n8n-node` so the CLI version matches this repo.
43
+
44
+
Configure HaloPSA OAuth credentials in the n8n UI, then test **Tickets → Get Many** with filters and **Return All** enabled.
45
+
46
+
Open **http://localhost:5678** (not `127.0.0.1` or a LAN IP). `pnpm run dev` sets `N8N_SECURE_COOKIE=false` for local HTTP so Safari and other browsers can sign in. To keep secure cookies enabled, set `N8N_SECURE_COOKIE=true` yourself and use HTTPS.
47
+
48
+
If the node does not appear after changes:
49
+
50
+
```bash
51
+
rm -rf ~/.n8n-node-cli/.n8n/custom
52
+
pnpm run dev
53
+
```
54
+
55
+
**Already running n8n elsewhere** (Docker, etc.):
56
+
57
+
```bash
58
+
pnpm run build
59
+
pnpm run dev:external
60
+
```
61
+
62
+
Set `N8N_DEV_RELOAD=true` and point your n8n instance’s custom extensions folder at `~/.n8n-node-cli/.n8n/custom` (or symlink this repo into your instance’s custom nodes directory).
63
+
64
+
Use `pnpm run watch` for TypeScript watch mode only (no n8n).
65
+
66
+
**Smoke test against a live HaloPSA instance** (validates the tickets getAll filter + bulk-fetch query shape):
67
+
68
+
```bash
69
+
cp .env.example .env # fill in HALO_BASE_URL, HALO_CLIENT_ID, HALO_CLIENT_SECRET
70
+
pnpm test:smoke
71
+
```
72
+
73
+
Optional: `HALO_REQUESTTYPE_ID`, `HALO_OPEN_ONLY` (see `.env.example`).
74
+
75
+
### Live preview with `n8n-node dev`
76
+
77
+
Same as `pnpm run dev` above. Requires **Node.js 22.22.3+** (22.x LTS recommended).
25
78
26
79
## Installation
27
80
@@ -63,7 +116,7 @@ Operations that support **Filters** also expose **Filters (JSON)** for runtime v
63
116
64
117
Use the JSON fields when driving values from webhooks, upstream nodes, or expressions; use the UI collections for static values.
65
118
66
-
**Return All** on list operations paginates through the HaloPSA API automatically (1000 rows per page).
119
+
**Return All** on list operations fetches up to 1000 rows in a single request, then continues with paginated requests (100 per page) when more records exist.
0 commit comments