Package Exports
- @justbrunasso/n8n-nodes-glpi
- @justbrunasso/n8n-nodes-glpi/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@justbrunasso/n8n-nodes-glpi) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
n8n-nodes-glpi
GLPI REST API node for n8n — GLPI 10.x compatible — Criteria Builder + automatic session (no cache).
Features
- Automatic
initSessionon each execution (no cache) — você não precisa chamar Get Session Token manualmente. - Criteria Builder: adicione múltiplos critérios e envie
criteria[n][...]corretamente. - Operações suportadas (v1):
- initSession
- killSession (force logout)
- search (generic) — Criteria Builder
- getTickets (convenience)
- listSearchOptions
- getItem (GET /:itemtype/:id)
- getTicketFollowup
- getTicketSolution
- getTicketTasks
- getUserById
- getUserByEmail (helper)
- createTicket (POST /Ticket/)
- updateTicket (PUT /Ticket/:id)
- addFollowup (POST /Ticket/:id/ITILFollowup)
- addSolution (POST /ITILSolution/)
Implementação obtida e revisada com base na documentação oficial do GLPI (initSession é GET; listSearchOptions/search endpoints e uso de headers). :contentReference[oaicite:1]{index=1}
Instalação (local / desenvolvimento)
- Coloque a pasta
n8n-nodes-glpino seu workspace. npm installnpm run build- No n8n (instância), instale o pacote (opções):
- Link local:
npm linkno pacote enpm link n8n-nodes-glpina instância do n8n. - Ou publique no npm e
npm install n8n-nodes-glpino n8n.
- Link local:
- Reinicie o n8n.
Credenciais
Crie credenciais do tipo GLPI API no n8n com:
- Base URL:
https://seu-glpi.exemplo(sem/apirest.php) - App Token (obrigatório)
- User Token (opcional) — se presente, usará
Authorization: user_token <token> - Username/Password (opcional) — se não usar userToken, o node usa Basic Auth
Como usar (exemplos)
1) Init Session (operação manual — raramente precisa)
- Operation:
Init Session - Executar → retorna objeto com
session_token.
2) Search com Criteria Builder
- Operation:
Search - Entity:
Ticket - Criteria:
- Field:
19 - Search type:
morethan - Value:
={{ (() => { const d = new Date(); d.setDate(d.getDate() - 1); return d.toISOString().split('T')[0] + ' 00:00:00'; })() }} - Glue:
AND
- Field:
- Range:
0-500
O node monta parâmetros do tipo
criteria[n][...]e envia para/apirest.php/search/Ticket. Exemplo:
criteria[0][field]=...&criteria[0][searchtype]=...&criteria[0][value]=...&criteria[0][glue]=AND&range=0-50(Nota: o operador lógico é enviado em
criteria[n][glue]— ajuste apenas se sua versão da API exigir outra chave.)
Headers gerados (exemplo)
- Sempre:
App-Token: <appToken> - Se
userTokenpresente:Authorization: user_token <userToken> - Se usar username/password: Basic Auth via
auth(não envia header Authorization direto, usa credenciais HTTP)
Testar localmente (recomendações rápidas)
- Build:
npm install
npm run build- Gerar tarball e instalar na instância do n8n:
npm pack
# copia o .tgz para o host do n8n e, no diretório do n8n:
npm install /caminho/para/n8n-nodes-glpi-1.0.0.tgz
# reinicie o n8nPublicação
- Adicione em package.json:
"files": ["dist"],repository,bugsehomepage. - Mantenha
n8n-coreen8n-workflowcomo peerDependencies e instale-os como devDependencies para desenvolvimento. - Use
npm publish --access publicapós verificar o tarball (npm pack) localmente.
Troubleshooting rápido
- Erro TS no VS Code: instale devDependencies (
n8n-core,n8n-workflow,@types/node,typescript) e reinicie o TS Server (Ctrl+Shift+P → TypeScript: Restart TS Server). - Se o node não aparecer no n8n, verifique se
dist/index.jsexiste e se instalou o pacote na instância do n8n; reinicie o serviço n8n.
Licença / Contribuição
- Inclua LICENSE e um link para issues/PRs no package.json.