n8n-nodes-runrunit 1.1.18 → 1.1.20
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 +330 -108
- package/dist/README.md +384 -0
- package/dist/nodes/Runrunit/resources/boardStage/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/boardStage/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/checklistItems/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/checklistItems/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/clients/create.js +40 -7
- package/dist/nodes/Runrunit/resources/clients/create.js.map +1 -1
- package/dist/nodes/Runrunit/resources/clients/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/clients/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/clients/monthlyBudgets.js +30 -0
- package/dist/nodes/Runrunit/resources/clients/monthlyBudgets.js.map +1 -1
- package/dist/nodes/Runrunit/resources/clients/update.js +41 -8
- package/dist/nodes/Runrunit/resources/clients/update.js.map +1 -1
- package/dist/nodes/Runrunit/resources/comments/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/comments/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/descendants/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/descendants/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/documents/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/documents/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/BoardStageExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/BoardStageExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/ChecklistItemsExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/ChecklistItemsExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/ClientsExecute.js +55 -2
- package/dist/nodes/Runrunit/resources/executers/ClientsExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/CommentsExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/CommentsExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/DescendantsExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/DescendantsExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/DocumentsExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/DocumentsExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/ProjectsExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/ProjectsExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/TaskExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/TaskExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/TeamExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/TeamExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/executers/UserExecute.js +5 -0
- package/dist/nodes/Runrunit/resources/executers/UserExecute.js.map +1 -1
- package/dist/nodes/Runrunit/resources/projects/getAll.js +31 -9
- package/dist/nodes/Runrunit/resources/projects/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/task/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/task/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/team/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/team/getAll.js.map +1 -1
- package/dist/nodes/Runrunit/resources/user/getAll.js +22 -0
- package/dist/nodes/Runrunit/resources/user/getAll.js.map +1 -1
- package/dist/package.json +2 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,162 +1,384 @@
|
|
|
1
1
|
# n8n-nodes-runrunit
|
|
2
2
|
|
|
3
|
-
Node n8n para
|
|
3
|
+
Node comunitário n8n para integração com a API do **Runrun.it** (v1.0).
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/n8n-nodes-runrunit)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Índice
|
|
6
11
|
|
|
7
|
-
Índice
|
|
8
12
|
- [Instalação](#instalação)
|
|
9
13
|
- [Credenciais](#credenciais)
|
|
10
|
-
- [Recursos
|
|
11
|
-
- [
|
|
12
|
-
- [
|
|
13
|
-
- [
|
|
14
|
+
- [Recursos e Operações](#recursos-e-operações)
|
|
15
|
+
- [User](#user-usuários)
|
|
16
|
+
- [Task](#task-tarefas)
|
|
17
|
+
- [Team](#team-equipes)
|
|
18
|
+
- [Projects](#projects-projetos)
|
|
19
|
+
- [Board Stages](#board-stages-estágios-de-board)
|
|
20
|
+
- [Comments](#comments-comentários)
|
|
21
|
+
- [Documents](#documents-documentos)
|
|
22
|
+
- [Checklists](#checklists)
|
|
23
|
+
- [Checklist Items](#checklist-items-itens-de-checklist)
|
|
24
|
+
- [Clients](#clients-clientes)
|
|
25
|
+
- [Descendants](#descendants-tarefas-descendentes)
|
|
26
|
+
- [Descriptions](#descriptions-descrições)
|
|
27
|
+
- [Time Worked](#time-worked-tempo-trabalhado)
|
|
28
|
+
- [Filtros e Ordenação](#filtros-e-ordenação)
|
|
29
|
+
- [Paginação](#paginação)
|
|
30
|
+
- [Desenvolvimento](#desenvolvimento)
|
|
31
|
+
|
|
32
|
+
---
|
|
14
33
|
|
|
15
34
|
## Instalação
|
|
16
35
|
|
|
17
|
-
|
|
36
|
+
### Via interface do n8n (recomendado)
|
|
37
|
+
|
|
38
|
+
1. Acesse **Settings → Community Nodes** no n8n
|
|
39
|
+
2. Clique em **Install**
|
|
40
|
+
3. Digite `n8n-nodes-runrunit` e confirme
|
|
41
|
+
|
|
42
|
+
### Manual
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
cd ~/.n8n
|
|
46
|
+
npm install n8n-nodes-runrunit
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Reinicie o n8n após a instalação.
|
|
50
|
+
|
|
51
|
+
---
|
|
18
52
|
|
|
19
53
|
## Credenciais
|
|
20
54
|
|
|
21
|
-
|
|
55
|
+
Crie uma credencial do tipo **Runrunit API** com os seguintes campos:
|
|
22
56
|
|
|
23
|
-
|
|
24
|
-
|
|
57
|
+
| Campo | Descrição |
|
|
58
|
+
|-------|-----------|
|
|
59
|
+
| `App-Key` | Chave da conta Runrun.it |
|
|
60
|
+
| `User-Token` | Token de autenticação do usuário |
|
|
25
61
|
|
|
26
|
-
|
|
62
|
+
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.
|
|
27
63
|
|
|
28
|
-
|
|
64
|
+
---
|
|
29
65
|
|
|
30
|
-
|
|
66
|
+
## Recursos e Operações
|
|
31
67
|
|
|
32
|
-
|
|
33
|
-
- Operações: `getAll` (GET /users), `get` (GET /users/:id), `create` (POST /users), `update` (PUT /users/:id)
|
|
68
|
+
A base URL de todas as requisições é `https://runrun.it/api/v1.0`.
|
|
34
69
|
|
|
35
|
-
|
|
36
|
-
- Operações: `getAll`, `get`, `create`, `update`, `delete`, `add_member`, `remove_member`
|
|
70
|
+
---
|
|
37
71
|
|
|
38
|
-
|
|
39
|
-
- Operações principais: `getAll`, `get`, `create`, `update`, `delete` e ações (play/pause/move/reposition/reestimate/share/unshare/clone/etc.)
|
|
72
|
+
### User (Usuários)
|
|
40
73
|
|
|
41
|
-
|
|
42
|
-
- Operações: `getAll`, `get`, `create`, `update`, `delete`, `move`, `update_use_latency_time`, `update_use_scrum_points`
|
|
74
|
+
**Endpoint base:** `/users`
|
|
43
75
|
|
|
44
|
-
|
|
45
|
-
|
|
76
|
+
| Operação | Método | Rota |
|
|
77
|
+
|----------|--------|------|
|
|
78
|
+
| Get Many | GET | `/users` |
|
|
79
|
+
| Get | GET | `/users/:id` |
|
|
80
|
+
| Create | POST | `/users` |
|
|
81
|
+
| Update | PUT | `/users/:id` |
|
|
46
82
|
|
|
47
|
-
|
|
48
|
-
- Operações: `getAll` (GET /tasks/:taskId/comments), `get` (GET /comments/:id), `create`, `update`, `delete`, `reaction` (POST /comments/:id/reaction)
|
|
49
|
-
- Payloads via propriedade `commentObject` (JSON) enviada no body como `comment`.
|
|
83
|
+
Parâmetros de `Get Many`: `limit`, `page`, `search_term`, `returnAll`, `sort`, `sort_dir`
|
|
50
84
|
|
|
51
|
-
|
|
52
|
-
- Operações: `getAll` (GET /tasks/:taskId/documents), `get`, `download`, `thumbnail`, `preview`, `create` (upload multipart), `mark_as_uploaded`, `delete`
|
|
53
|
-
- Observação: `create` suporta upload via `filePath` (n8n deve fornecer o arquivo). Metadados opcionais via `documentObject` enviados como `document`.
|
|
85
|
+
---
|
|
54
86
|
|
|
55
|
-
|
|
56
|
-
|
|
87
|
+
### Task (Tarefas)
|
|
88
|
+
|
|
89
|
+
**Endpoint base:** `/tasks`
|
|
90
|
+
|
|
91
|
+
| Operação | Método | Rota |
|
|
92
|
+
|----------|--------|------|
|
|
93
|
+
| Get Many | GET | `/tasks` |
|
|
94
|
+
| Get | GET | `/tasks/:id` |
|
|
95
|
+
| Create | POST | `/tasks` |
|
|
96
|
+
| Update | PUT | `/tasks/:id` |
|
|
97
|
+
| Delete | DELETE | `/tasks/:id` |
|
|
98
|
+
| Play | POST | `/tasks/:id/play` |
|
|
99
|
+
| Pause | POST | `/tasks/:id/pause` |
|
|
100
|
+
| Deliver | POST | `/tasks/:id/deliver` |
|
|
101
|
+
| Reopen | POST | `/tasks/:id/reopen` |
|
|
102
|
+
| Move | POST | `/tasks/:id/move` |
|
|
103
|
+
| Move To Next Stage | POST | `/tasks/:id/move_to_next_stage` |
|
|
104
|
+
| Move To Top | POST | `/tasks/:id/move_to_top` |
|
|
105
|
+
| Clone | POST | `/tasks/clone` |
|
|
106
|
+
| Reestimate | POST | `/tasks/:id/reestimate` |
|
|
107
|
+
| Reposition | POST | `/tasks/:id/reposition` |
|
|
108
|
+
| Share | POST | `/tasks/:id/share` |
|
|
109
|
+
| Unshare | POST | `/tasks/:id/unshare` |
|
|
110
|
+
| Add Comment | POST | `/tasks/:id/comments` |
|
|
111
|
+
| Add Manual Work Period | POST | `/tasks/:id/add_manual_work_period` |
|
|
112
|
+
| Change Board | POST | `/tasks/:id/change_board` |
|
|
113
|
+
| Change Project | POST | `/tasks/:id/change_project` |
|
|
114
|
+
| Change Time Worked | POST | `/tasks/:id/change_time_worked` |
|
|
115
|
+
| Change Type | POST | `/tasks/:id/change_type` |
|
|
116
|
+
| Create Assignments | POST | `/tasks/:id/create_assignments` |
|
|
117
|
+
| Complete Workflow Step | POST | `/tasks/:id/complete_workflow_step` |
|
|
118
|
+
| Mark As Urgent | POST | `/tasks/:id/mark_as_urgent` |
|
|
119
|
+
| Get Subtasks | GET | `/tasks/:id/subtasks` |
|
|
120
|
+
| Get Fields | GET | `/tasks/:id/fields` |
|
|
121
|
+
| Get Form Answers | GET | `/tasks/:id/form_answers` |
|
|
122
|
+
|
|
123
|
+
Parâmetros de `Get Many`: `limit`, `page`, `returnAll`, `search_term`, `project_id`, `client_id`, `responsible_id`, `is_closed`, `sort`, `sort_dir`, `filters`
|
|
57
124
|
|
|
58
|
-
|
|
59
|
-
- Operações: `getAll`, `get`, `create`, `update`, `delete` (vinculadas a `/checklists/:checklist_id/items`)
|
|
125
|
+
---
|
|
60
126
|
|
|
61
|
-
|
|
62
|
-
- Operações: `getAll`, `get`, `create`, `update`, `monthly_budgets`, `update_monthly_budget`
|
|
127
|
+
### Team (Equipes)
|
|
63
128
|
|
|
64
|
-
|
|
65
|
-
- Operações: `getAll` (GET /tasks/:taskId/descendants), `create` (POST /tasks/:taskId/descendants), `delete`
|
|
129
|
+
**Endpoint base:** `/teams`
|
|
66
130
|
|
|
67
|
-
|
|
68
|
-
|
|
131
|
+
| Operação | Método | Rota |
|
|
132
|
+
|----------|--------|------|
|
|
133
|
+
| Get Many | GET | `/teams` |
|
|
134
|
+
| Get | GET | `/teams/:id` |
|
|
135
|
+
| Create | POST | `/teams` |
|
|
136
|
+
| Update | PUT | `/teams/:id` |
|
|
137
|
+
| Delete | DELETE | `/teams/:id` |
|
|
138
|
+
| Add Member | POST | `/teams/:id/add_member` |
|
|
139
|
+
| Remove Member | POST | `/teams/:id/remove_member` |
|
|
69
140
|
|
|
70
|
-
|
|
141
|
+
Parâmetros de `Get Many`: `limit`, `page`, `returnAll`, `sort`, `sort_dir`
|
|
71
142
|
|
|
72
|
-
|
|
143
|
+
---
|
|
73
144
|
|
|
74
|
-
|
|
145
|
+
### Projects (Projetos)
|
|
75
146
|
|
|
76
|
-
|
|
77
|
-
curl -g "https://runrun.it/api/v1.0/users" \
|
|
78
|
-
-H "App-Key: YOUR_APP_KEY" \
|
|
79
|
-
-H "User-Token: YOUR_USER_TOKEN"
|
|
80
|
-
```
|
|
147
|
+
**Endpoint base:** `/projects`
|
|
81
148
|
|
|
82
|
-
|
|
149
|
+
| Operação | Método | Rota |
|
|
150
|
+
|----------|--------|------|
|
|
151
|
+
| Get Many | GET | `/projects` |
|
|
152
|
+
| Get | GET | `/projects/:id` |
|
|
153
|
+
| Create | POST | `/projects` |
|
|
154
|
+
| Update | PUT | `/projects/:id` |
|
|
155
|
+
| Related Users | GET | `/projects/:id/related_users` |
|
|
156
|
+
| Move | POST | `/projects/:id/move` |
|
|
157
|
+
| Share | POST | `/projects/:id/share` |
|
|
158
|
+
| Unshare | POST | `/projects/:id/unshare` |
|
|
159
|
+
| Clone | POST | `/projects/:id/clone` |
|
|
160
|
+
| Change Board Stage | POST | `/projects/:id/change_board_stage` |
|
|
161
|
+
| List Filters | GET | `/projects/filters` |
|
|
162
|
+
| Get Filter | GET | `/projects/filters/:id` |
|
|
163
|
+
| Delete Filter | DELETE | `/projects/filters/:id` |
|
|
83
164
|
|
|
84
|
-
|
|
85
|
-
# Exemplo: criar um gestor (is_manager=true) e tornar parceiros mútuos
|
|
86
|
-
curl "https://runrun.it/api/v1.0/users" \
|
|
87
|
-
-X POST \
|
|
88
|
-
-H "App-Key: YOUR_APP_KEY" \
|
|
89
|
-
-H "User-Token: YOUR_USER_TOKEN" \
|
|
90
|
-
-H "Content-Type: application/json" \
|
|
91
|
-
-d '{
|
|
92
|
-
"user": {
|
|
93
|
-
"name": "Novo Gestor Yesh",
|
|
94
|
-
"email": "gestor.teste@yesh.com.br",
|
|
95
|
-
"is_manager": true,
|
|
96
|
-
"team_ids": [435586],
|
|
97
|
-
"position": "Analista de Atendimento"
|
|
98
|
-
},
|
|
99
|
-
"make_everybody_mutual_partners": true
|
|
100
|
-
}'
|
|
101
|
-
```
|
|
165
|
+
Parâmetros de `Get Many`: `page`, `returnAll`, `client_id`, `project_group_id`, `search_term`, `is_closed`, `sort`, `sort_dir`, `filters`
|
|
102
166
|
|
|
103
|
-
|
|
104
|
-
# Exemplo: criar um colaborador
|
|
105
|
-
curl "https://runrun.it/api/v1.0/users" \
|
|
106
|
-
-X POST \
|
|
107
|
-
-H "App-Key: YOUR_APP_KEY" \
|
|
108
|
-
-H "User-Token: YOUR_USER_TOKEN" \
|
|
109
|
-
-H "Content-Type: application/json" \
|
|
110
|
-
-d '{
|
|
111
|
-
"user": {
|
|
112
|
-
"name": "Colaborador Teste",
|
|
113
|
-
"email": "colaborador.yesh@yesh.com.br",
|
|
114
|
-
"is_manager": false,
|
|
115
|
-
"is_master": false,
|
|
116
|
-
"team_ids": [435586],
|
|
117
|
-
"position": "Suporte Nível 1"
|
|
118
|
-
},
|
|
119
|
-
"make_everybody_mutual_partners": true
|
|
120
|
-
}'
|
|
121
|
-
```
|
|
167
|
+
---
|
|
122
168
|
|
|
123
|
-
|
|
169
|
+
### Board Stages (Estágios de Board)
|
|
124
170
|
|
|
125
|
-
|
|
126
|
-
curl -g "https://runrun.it/api/v1.0/tasks/123/comments" -H "App-Key: ..." -H "User-Token: ..."
|
|
127
|
-
```
|
|
171
|
+
**Endpoint base:** `/boards/:boardId/stages`
|
|
128
172
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
173
|
+
| Operação | Método | Rota |
|
|
174
|
+
|----------|--------|------|
|
|
175
|
+
| Get Many | GET | `/boards/:boardId/stages` |
|
|
176
|
+
| Get | GET | `/boards/:boardId/stages/:id` |
|
|
177
|
+
| Create | POST | `/boards/:boardId/stages` |
|
|
178
|
+
| Update | PUT | `/boards/:boardId/stages/:id` |
|
|
179
|
+
| Delete | DELETE | `/boards/:boardId/stages/:id` |
|
|
180
|
+
| Move | POST | `/boards/:boardId/stages/:id/move` |
|
|
181
|
+
| Update Use Latency Time | POST | `/boards/:boardId/stages/:id/update_use_latency_time` |
|
|
182
|
+
| Update Use Scrum Points | POST | `/boards/:boardId/stages/:id/update_use_scrum_points` |
|
|
183
|
+
|
|
184
|
+
Parâmetros de `Get Many`: `boardId` (obrigatório), `limit`, `page`, `returnAll`, `sort`, `sort_dir`
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### Comments (Comentários)
|
|
189
|
+
|
|
190
|
+
**Endpoint base:** `/comments`
|
|
191
|
+
|
|
192
|
+
| Operação | Método | Rota |
|
|
193
|
+
|----------|--------|------|
|
|
194
|
+
| Get Many | GET | `/tasks/:taskId/comments` |
|
|
195
|
+
| Get | GET | `/comments/:id` |
|
|
196
|
+
| Create | POST | `/comments` |
|
|
197
|
+
| Update | PUT | `/comments/:id` |
|
|
198
|
+
| Delete | DELETE | `/comments/:id` |
|
|
199
|
+
| Reaction | POST | `/comments/:id/reaction` |
|
|
200
|
+
|
|
201
|
+
Parâmetros de `Get Many`: `taskId`, `limit`, `page`, `returnAll`, `sort`, `sort_dir`
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### Documents (Documentos)
|
|
206
|
+
|
|
207
|
+
**Endpoint base:** `/documents`
|
|
208
|
+
|
|
209
|
+
| Operação | Método | Rota |
|
|
210
|
+
|----------|--------|------|
|
|
211
|
+
| Get Many | GET | `/tasks/:taskId/documents` ou `/documents` |
|
|
212
|
+
| Get | GET | `/documents/:id` |
|
|
213
|
+
| Delete | DELETE | `/documents/:id` |
|
|
214
|
+
|
|
215
|
+
Parâmetros de `Get Many`: `taskId` (opcional — filtra por tarefa), `limit`, `page`, `returnAll`, `sort`, `sort_dir`
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### Checklists
|
|
220
|
+
|
|
221
|
+
**Endpoint base:** `/tasks/:taskId/checklist`
|
|
222
|
+
|
|
223
|
+
| Operação | Método | Rota |
|
|
224
|
+
|----------|--------|------|
|
|
225
|
+
| Get | GET | `/tasks/:taskId/checklist` |
|
|
226
|
+
| Create | POST | `/tasks/:taskId/checklist` |
|
|
227
|
+
| Update | PUT | `/tasks/:taskId/checklist` |
|
|
228
|
+
| Delete | DELETE | `/tasks/:taskId/checklist` |
|
|
229
|
+
|
|
230
|
+
---
|
|
135
231
|
|
|
136
|
-
|
|
232
|
+
### Checklist Items (Itens de Checklist)
|
|
137
233
|
|
|
138
|
-
|
|
139
|
-
- Paginação: muitos endpoints suportam `page`, `limit` e cabeçalhos `Link` / `X-Item-Range`. As propriedades `getAll`/`returnAll` já foram configuradas em alguns recursos para usar paginação de offset.
|
|
140
|
-
- Upload de arquivos (`documents.create`): foi adicionada a propriedade `filePath` para apontar arquivo local; caso precise de comportamento avançado do n8n (binary data node input), posso implementar leitura do `binary` input e montagem multipart automaticamente.
|
|
234
|
+
**Endpoint base:** `/checklist_items`
|
|
141
235
|
|
|
142
|
-
|
|
236
|
+
| Operação | Método | Rota |
|
|
237
|
+
|----------|--------|------|
|
|
238
|
+
| Get Many | GET | `/checklist_items` |
|
|
239
|
+
| Get | GET | `/checklist_items/:id` |
|
|
240
|
+
| Create | POST | `/checklist_items` |
|
|
241
|
+
| Update | PUT | `/checklist_items/:id` |
|
|
242
|
+
| Delete | DELETE | `/checklist_items/:id` |
|
|
143
243
|
|
|
144
|
-
|
|
244
|
+
Parâmetros de `Get Many`: `checklistId`, `limit`, `page`, `returnAll`, `sort`, `sort_dir`
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
### Clients (Clientes)
|
|
249
|
+
|
|
250
|
+
**Endpoint base:** `/clients`
|
|
251
|
+
|
|
252
|
+
| Operação | Método | Rota |
|
|
253
|
+
|----------|--------|------|
|
|
254
|
+
| Get Many | GET | `/clients` |
|
|
255
|
+
| Get | GET | `/clients/:id` |
|
|
256
|
+
| Create | POST | `/clients` |
|
|
257
|
+
| Update | PUT | `/clients/:id` |
|
|
258
|
+
| Monthly Budgets | GET | `/clients/:id/monthly_budgets` |
|
|
259
|
+
| Update Monthly Budget | POST | `/clients/:id/update_monthly_budget` |
|
|
260
|
+
|
|
261
|
+
Parâmetros de `Get Many`: `limit`, `page`, `returnAll`, `sort`, `sort_dir`
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
### Descendants (Tarefas Descendentes)
|
|
266
|
+
|
|
267
|
+
**Endpoint base:** `/tasks/:taskId/descendants`
|
|
268
|
+
|
|
269
|
+
| Operação | Método | Rota |
|
|
270
|
+
|----------|--------|------|
|
|
271
|
+
| Get Many | GET | `/tasks/:taskId/descendants` |
|
|
272
|
+
| Create | POST | `/tasks/:taskId/descendants` |
|
|
273
|
+
| Delete | DELETE | `/descendants/:id` |
|
|
274
|
+
|
|
275
|
+
Parâmetros de `Get Many`: `taskId` (obrigatório), `limit`, `page`, `returnAll`, `sort`, `sort_dir`
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
### Descriptions (Descrições)
|
|
280
|
+
|
|
281
|
+
**Endpoint base:** `/descriptions`
|
|
282
|
+
|
|
283
|
+
| Operação | Método | Rota |
|
|
284
|
+
|----------|--------|------|
|
|
285
|
+
| Get | GET | `/descriptions?subject_type=...&subject_id=...` |
|
|
286
|
+
| Update | PUT | `/descriptions` |
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
### Time Worked (Tempo Trabalhado)
|
|
291
|
+
|
|
292
|
+
**Endpoint base:** `/reports/time_worked`
|
|
293
|
+
|
|
294
|
+
| Operação | Método | Rota |
|
|
295
|
+
|----------|--------|------|
|
|
296
|
+
| Get | GET | `/reports/time_worked` |
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## Filtros e Ordenação
|
|
301
|
+
|
|
302
|
+
### Ordenação
|
|
303
|
+
|
|
304
|
+
Todas as operações **Get Many** suportam os parâmetros:
|
|
305
|
+
|
|
306
|
+
| Parâmetro | Tipo | Descrição |
|
|
307
|
+
|-----------|------|-----------|
|
|
308
|
+
| `sort` | string | Nome do campo para ordenar os resultados (ex: `created_at`, `title`) |
|
|
309
|
+
| `sort_dir` | options | Direção da ordenação: `asc` (padrão) ou `desc` |
|
|
310
|
+
|
|
311
|
+
> **Nota:** `sort_dir` só aparece na interface e só é enviado na requisição quando `sort` está preenchido.
|
|
312
|
+
|
|
313
|
+
### Filtros Pós-Execução
|
|
314
|
+
|
|
315
|
+
Os recursos **Task**, **Projects** e **Clients** suportam uma coleção `Filters` que permite filtrar os resultados localmente após a resposta da API, usando operadores como `equals`, `contains`, `gt`, `lt`, `isTrue`, `isFalse`.
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Paginação
|
|
320
|
+
|
|
321
|
+
As operações `Get Many` suportam:
|
|
322
|
+
|
|
323
|
+
| Campo | Descrição |
|
|
324
|
+
|-------|-----------|
|
|
325
|
+
| `Return All` | Quando ativado, busca todos os registros (usa `limit=99000`) |
|
|
326
|
+
| `Limit` | Número máximo de registros por página (máx. 100) |
|
|
327
|
+
| `Page` | Número da página para paginação baseada em offset |
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Desenvolvimento
|
|
145
332
|
|
|
146
333
|
```bash
|
|
334
|
+
# Instalar dependências
|
|
147
335
|
npm install
|
|
336
|
+
|
|
337
|
+
# Build (compila TypeScript e copia README para dist/)
|
|
148
338
|
npm run build
|
|
339
|
+
|
|
340
|
+
# Modo de desenvolvimento com hot-reload
|
|
341
|
+
npm run dev
|
|
342
|
+
|
|
343
|
+
# Lint
|
|
149
344
|
npm run lint
|
|
345
|
+
npm run lint:fix
|
|
150
346
|
```
|
|
151
347
|
|
|
152
|
-
|
|
348
|
+
### Estrutura do projeto
|
|
349
|
+
|
|
350
|
+
```
|
|
351
|
+
.
|
|
352
|
+
├── credentials/
|
|
353
|
+
│ └── RunrunitApi.credentials.ts # Configuração das credenciais
|
|
354
|
+
├── nodes/
|
|
355
|
+
│ └── Runrunit/
|
|
356
|
+
│ ├── Runrunit.node.ts # Definição principal do node
|
|
357
|
+
│ ├── GenericFunctions.ts # makeRequest, applyPostFilters, etc.
|
|
358
|
+
│ └── resources/
|
|
359
|
+
│ ├── <resource>/
|
|
360
|
+
│ │ ├── index.ts # Operações (options) do resource
|
|
361
|
+
│ │ ├── getAll.ts # Propriedades da operação Get Many
|
|
362
|
+
│ │ ├── get.ts # Propriedades da operação Get
|
|
363
|
+
│ │ ├── create.ts # Propriedades da operação Create
|
|
364
|
+
│ │ └── update.ts # Propriedades da operação Update
|
|
365
|
+
│ └── executers/
|
|
366
|
+
│ └── <Resource>Execute.ts # Lógica de execução HTTP
|
|
367
|
+
├── package.json
|
|
368
|
+
└── README.md
|
|
369
|
+
```
|
|
153
370
|
|
|
154
371
|
---
|
|
155
372
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
373
|
+
## Links
|
|
374
|
+
|
|
375
|
+
- [Documentação da API Runrun.it](https://runrun.it/api-docs)
|
|
376
|
+
- [Repositório GitHub](https://github.com/YeshShareDEV/n8n-nodes-runrun.it)
|
|
377
|
+
- [npm](https://www.npmjs.com/package/n8n-nodes-runrunit)
|
|
378
|
+
- [Documentação de nodes comunitários n8n](https://docs.n8n.io/integrations/community-nodes/)
|
|
379
|
+
|
|
380
|
+
---
|
|
160
381
|
|
|
161
|
-
|
|
382
|
+
## Licença
|
|
162
383
|
|
|
384
|
+
[MIT](LICENSE)
|