summaryrefslogtreecommitdiff
path: root/doc/en_US/cli.markdown
blob: b7d607054d0658fbf79eff2062d48a915b33a325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
Command Line Interface
======================

Kanboard provides a simple command line interface that can be used from any Unix terminal.
This tool can be used only on the local machine.

This feature is useful to run commands outside of the web server processes.

Usage
-----

- Open a terminal and go to your Kanboard directory (example: `cd /var/www/kanboard`)
- Run the command `./cli` or `php cli`

```bash
Kanboard version master

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  cronjob                            Execute daily cronjob
  help                               Displays help for a command
  job                                Execute individual job (read payload from stdin)
  list                               Lists commands
  worker                             Execute queue worker
 db
  db:migrate                         Execute SQL migrations
  db:version                         Show database schema version
 export
  export:daily-project-column-stats  Daily project column stats CSV export (number of tasks per column and per day)
  export:subtasks                    Subtasks CSV export
  export:tasks                       Tasks CSV export
  export:transitions                 Task transitions CSV export
 locale
  locale:compare                     Compare application translations with the fr_FR locale
  locale:sync                        Synchronize all translations based on the fr_FR locale
 notification
  notification:overdue-tasks         Send notifications for overdue tasks
 plugin
  plugin:install                     Install a plugin from a remote Zip archive
  plugin:uninstall                   Remove a plugin
  plugin:upgrade                     Update all installed plugins
 projects
  projects:daily-stats               Calculate daily statistics for all projects
 trigger
  trigger:tasks                      Trigger scheduler event for all tasks
 user
  user:reset-2fa                     Remove two-factor authentication for a user
  user:reset-password                Change user password
```

Available commands
------------------

### Tasks CSV export

Usage:

```bash
./cli export:tasks <project_id> <start_date> <end_date>
```

Example:

```bash
./cli export:tasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```

CSV data are sent to `stdout`.

### Subtasks CSV export

Usage:

```bash
./cli export:subtasks <project_id> <start_date> <end_date>
```

Example:

```bash
./cli export:subtasks 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```

### Task transitions CSV export

Usage:

```bash
./cli export:transitions <project_id> <start_date> <end_date>
```

Example:

```bash
./cli export:transitions 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```

### Export daily summaries data in CSV

The exported data will be printed on the standard output:

```bash
./cli export:daily-project-column-stats <project_id> <start_date> <end_date>
```

Example:

```bash
./cli export:daily-project-column-stats 1 2014-10-01 2014-11-30 > /tmp/my_custom_export.csv
```

### Send notifications for overdue tasks

Emails will be sent to all users with notifications enabled.

```bash
./cli notification:overdue-tasks
```

Optional parameters:

- `--show`: Display notifications sent
- `--group`: Group all overdue tasks for one user (from all projects) in one email
- `--manager`: Send all overdue tasks to project manager(s) in one email
- `-p|--project project_id|identifier`: Send notifications only for the given project

You can also display the overdue tasks with the flag `--show`:

```bash
./cli notification:overdue-tasks --show
+-----+---------+------------+------------+--------------+----------+
| Id  | Title   | Due date   | Project Id | Project name | Assignee |
+-----+---------+------------+------------+--------------+----------+
| 201 | Test    | 2014-10-26 | 1          | Project #0   | admin    |
| 202 | My task | 2014-10-28 | 1          | Project #0   |          |
+-----+---------+------------+------------+--------------+----------+
```

Example to filter by project:

```bash
./cli notification:overdue-tasks --project 123
```

Or if you have defined a project identifier:

```bash
./cli notification:overdue-tasks --project MY_PROJECT
```

### Run daily project stats calculation

This command calculate the statistics of each project:

```bash
./cli projects:daily-stats
Run calculation for Project #0
Run calculation for Project #1
Run calculation for Project #10
```

### Trigger for tasks

This command send a "daily cronjob event" to all open tasks of each project.

```bash
./cli trigger:tasks
Trigger task event: project_id=2, nb_tasks=1
```

### Reset user password

```bash
./cli user:reset-password my_user
```

You will be prompted for a password and confirmation. Characters are not printed to the screen.

### Remove two-factor authentication for a user

```bash
./cli user:reset-2fa my_user
```

### Install a plugin

```bash
./cli plugin:install https://github.com/kanboard/plugin-github-auth/releases/download/v1.0.1/GithubAuth-1.0.1.zip
```

Note: Installed files will have the same permissions as the current user

### Remove a plugin

```bash
./cli plugin:uninstall Budget
```

### Upgrade all plugins

```bash
./cli plugin:upgrade
* Updating plugin: Budget Planning
* Plugin up to date: Github Authentication
```

### Run Background worker

```bash
./cli worker
```

### Execute individual job (mostly for debugging)

```bash
echo 'RAW_JOB_DATA' | ./cli job
```

### Execute database migrations

If the parameter `DB_RUN_MIGRATIONS` is set to `false`, you have run the database migrations manually:

```bash
./cli db:migrate
```

### Check database schema version

```bash
./cli db:version
Current version: 95
Last version: 96
```