n8n-nodes-runrunit
v1.1.23
Published
n8n community nodes for Runrun.it (Runrunit) integrations
Maintainers
Readme
n8n-nodes-runrunit
Node comunitário n8n para integração com a API do Runrun.it (v1.0).
Índice
Instalação
Via interface do n8n (recomendado)
- Acesse Settings → Community Nodes no n8n
- Clique em Install
- Digite
n8n-nodes-runrunite confirme
Manual
cd ~/.n8n
npm install n8n-nodes-runrunitReinicie o n8n após a instalação.
Credenciais
Crie uma credencial do tipo Runrunit API com os seguintes campos:
| Campo | Descrição |
|-------|-----------|
| App-Key | Chave da conta Runrun.it |
| User-Token | Token de autenticação do usuário |
Ambos os valores são enviados como headers em todas as requisições. Você encontra essas informações em Configurações → Integrações → API dentro do Runrun.it.
Recursos e Operações
A base URL de todas as requisições é https://runrun.it/api/v1.0.
User (Usuários)
Endpoint base: /users
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /users |
| Get | GET | /users/:id |
| Create | POST | /users |
| Update | PUT | /users/:id |
Parâmetros de Get Many: limit, page, search_term, returnAll, sort, sort_dir
Task (Tarefas)
Endpoint base: /tasks
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /tasks |
| Get | GET | /tasks/:id |
| Create | POST | /tasks |
| Update | PUT | /tasks/:id |
| Delete | DELETE | /tasks/:id |
| Play | POST | /tasks/:id/play |
| Pause | POST | /tasks/:id/pause |
| Deliver | POST | /tasks/:id/deliver |
| Reopen | POST | /tasks/:id/reopen |
| Move | POST | /tasks/:id/move |
| Move To Next Stage | POST | /tasks/:id/move_to_next_stage |
| Move To Top | POST | /tasks/:id/move_to_top |
| Clone | POST | /tasks/clone |
| Reestimate | POST | /tasks/:id/reestimate |
| Reposition | POST | /tasks/:id/reposition |
| Share | POST | /tasks/:id/share |
| Unshare | POST | /tasks/:id/unshare |
| Add Comment | POST | /tasks/:id/comments |
| Add Manual Work Period | POST | /tasks/:id/add_manual_work_period |
| Change Board | POST | /tasks/:id/change_board |
| Change Project | POST | /tasks/:id/change_project |
| Change Time Worked | POST | /tasks/:id/change_time_worked |
| Change Type | POST | /tasks/:id/change_type |
| Create Assignments | POST | /tasks/:id/create_assignments |
| Complete Workflow Step | POST | /tasks/:id/complete_workflow_step |
| Mark As Urgent | POST | /tasks/:id/mark_as_urgent |
| Get Subtasks | GET | /tasks/:id/subtasks |
| Get Fields | GET | /tasks/:id/fields |
| Get Form Answers | GET | /tasks/:id/form_answers |
Parâmetros de Get Many: limit, page, returnAll, search_term, project_id, client_id, responsible_id, is_closed, sort, sort_dir, filters
Team (Equipes)
Endpoint base: /teams
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /teams |
| Get | GET | /teams/:id |
| Create | POST | /teams |
| Update | PUT | /teams/:id |
| Delete | DELETE | /teams/:id |
| Add Member | POST | /teams/:id/add_member |
| Remove Member | POST | /teams/:id/remove_member |
Parâmetros de Get Many: limit, page, returnAll, sort, sort_dir
Projects (Projetos)
Endpoint base: /projects
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /projects |
| Get | GET | /projects/:id |
| Create | POST | /projects |
| Update | PUT | /projects/:id |
| Related Users | GET | /projects/:id/related_users |
| Move | POST | /projects/:id/move |
| Share | POST | /projects/:id/share |
| Unshare | POST | /projects/:id/unshare |
| Clone | POST | /projects/:id/clone |
| Change Board Stage | POST | /projects/:id/change_board_stage |
| List Filters | GET | /projects/filters |
| Get Filter | GET | /projects/filters/:id |
| Delete Filter | DELETE | /projects/filters/:id |
Parâmetros de Get Many: page, returnAll, client_id, project_group_id, search_term, is_closed, sort, sort_dir, filters
Board Stages (Estágios de Board)
Endpoint base: /boards/:boardId/stages
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /boards/:boardId/stages |
| Get | GET | /boards/:boardId/stages/:id |
| Create | POST | /boards/:boardId/stages |
| Update | PUT | /boards/:boardId/stages/:id |
| Delete | DELETE | /boards/:boardId/stages/:id |
| Move | POST | /boards/:boardId/stages/:id/move |
| Update Use Latency Time | POST | /boards/:boardId/stages/:id/update_use_latency_time |
| Update Use Scrum Points | POST | /boards/:boardId/stages/:id/update_use_scrum_points |
Parâmetros de Get Many: boardId (obrigatório), limit, page, returnAll, sort, sort_dir
Comments (Comentários)
Endpoint base: /comments
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /tasks/:taskId/comments |
| Get | GET | /comments/:id |
| Create | POST | /comments |
| Update | PUT | /comments/:id |
| Delete | DELETE | /comments/:id |
| Reaction | POST | /comments/:id/reaction |
Parâmetros de Get Many: taskId, limit, page, returnAll, sort, sort_dir
Documents (Documentos)
Endpoint base: /documents
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /tasks/:taskId/documents ou /documents |
| Get | GET | /documents/:id |
| Delete | DELETE | /documents/:id |
Parâmetros de Get Many: taskId (opcional — filtra por tarefa), limit, page, returnAll, sort, sort_dir
Checklists
Endpoint base: /tasks/:taskId/checklist
| Operação | Método | Rota |
|----------|--------|------|
| Get | GET | /tasks/:taskId/checklist |
| Create | POST | /tasks/:taskId/checklist |
| Update | PUT | /tasks/:taskId/checklist |
| Delete | DELETE | /tasks/:taskId/checklist |
Checklist Items (Itens de Checklist)
Endpoint base: /checklist_items
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /checklist_items |
| Get | GET | /checklist_items/:id |
| Create | POST | /checklist_items |
| Update | PUT | /checklist_items/:id |
| Delete | DELETE | /checklist_items/:id |
Parâmetros de Get Many: checklistId, limit, page, returnAll, sort, sort_dir
Clients (Clientes)
Endpoint base: /clients
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /clients |
| Get | GET | /clients/:id |
| Create | POST | /clients |
| Update | PUT | /clients/:id |
| Monthly Budgets | GET | /clients/:id/monthly_budgets |
| Update Monthly Budget | POST | /clients/:id/update_monthly_budget |
Parâmetros de Get Many: limit, page, returnAll, sort, sort_dir
Descendants (Tarefas Descendentes)
Endpoint base: /tasks/:taskId/descendants
| Operação | Método | Rota |
|----------|--------|------|
| Get Many | GET | /tasks/:taskId/descendants |
| Create | POST | /tasks/:taskId/descendants |
| Delete | DELETE | /descendants/:id |
Parâmetros de Get Many: taskId (obrigatório), limit, page, returnAll, sort, sort_dir
Descriptions (Descrições)
Endpoint base: /descriptions
| Operação | Método | Rota |
|----------|--------|------|
| Get | GET | /descriptions?subject_type=...&subject_id=... |
| Update | PUT | /descriptions |
Time Worked (Tempo Trabalhado)
Endpoint base: /reports/time_worked
| Operação | Método | Rota |
|----------|--------|------|
| Get | GET | /reports/time_worked |
Filtros e Ordenação
Ordenação
Todas as operações Get Many suportam os parâmetros:
| Parâmetro | Tipo | Descrição |
|-----------|------|-----------|
| sort | string | Nome do campo para ordenar os resultados (ex: created_at, title) |
| sort_dir | options | Direção da ordenação: asc (padrão) ou desc |
Nota:
sort_dirsó aparece na interface e só é enviado na requisição quandosortestá preenchido.
Filtros Pós-Execução
Os recursos Task, Projects e Clients suportam uma coleção Filters que permite filtrar os resultados localmente após a resposta da API, usando os seguintes operadores:
| Operador | Símbolo | Aplicável a |
|----------|---------|-------------|
| equals | = | texto, número |
| contains | ⊃ | texto |
| gt | > | número |
| gte | >= | número |
| lt | < | número |
| lte | <= | número |
| isTrue | boolean verdadeiro | boolean |
| isFalse | boolean falso | boolean |
Em Task, o campo sort é um dropdown com as opções: id, title, client_name, is_closed, project_name, last_activity_at, created_at.
Os campos de filtro adicionais disponíveis para Task incluem: subtasks_count, subtasks_closed_count, attachments_count (numéricos — use gt, gte, lt, lte).
Paginação
As operações Get Many suportam:
| Campo | Descrição |
|-------|-----------|
| Return All | Quando ativado, busca todos os registros (usa limit=99000) |
| Limit | Número máximo de registros por página (máx. 100) |
| Page | Número da página para paginação baseada em offset |
Desenvolvimento
# Instalar dependências
npm install
# Build (compila TypeScript e copia README para dist/)
npm run build
# Modo de desenvolvimento com hot-reload
npm run dev
# Lint
npm run lint
npm run lint:fixEstrutura do projeto
.
├── credentials/
│ └── RunrunitApi.credentials.ts # Configuração das credenciais
├── nodes/
│ └── Runrunit/
│ ├── Runrunit.node.ts # Definição principal do node
│ ├── GenericFunctions.ts # makeRequest, applyPostFilters, etc.
│ └── resources/
│ ├── <resource>/
│ │ ├── index.ts # Operações (options) do resource
│ │ ├── getAll.ts # Propriedades da operação Get Many
│ │ ├── get.ts # Propriedades da operação Get
│ │ ├── create.ts # Propriedades da operação Create
│ │ └── update.ts # Propriedades da operação Update
│ └── executers/
│ └── <Resource>Execute.ts # Lógica de execução HTTP
├── package.json
└── README.md