summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/api-json-rpc.markdown106
-rw-r--r--docs/email-configuration.markdown77
-rw-r--r--docs/index.markdown118
-rw-r--r--docs/webhooks.markdown9
4 files changed, 301 insertions, 9 deletions
diff --git a/docs/api-json-rpc.markdown b/docs/api-json-rpc.markdown
index 929d63fd..3e5d76a6 100644
--- a/docs/api-json-rpc.markdown
+++ b/docs/api-json-rpc.markdown
@@ -1916,7 +1916,7 @@ Response example:
### getTask
-- Purpose: **Get task information**
+- Purpose: **Get task by the unique id**
- Parameters:
- **task_id** (integer, required)
- Result on success: **task properties**
@@ -1975,6 +1975,69 @@ Response example:
}
```
+### getTaskByReference
+
+- Purpose: **Get task by the external reference**
+- Parameters:
+ - **project_id** (integer, required)
+ - **reference** (string, required)
+- Result on success: **task properties**
+- Result on failure: **null**
+
+Request example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "getTaskByReference",
+ "id": 1992081213,
+ "params": {
+ "project_id": 1,
+ "reference": "TICKET-1234"
+ }
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1992081213,
+ "result": {
+ "id": "5",
+ "title": "Task with external ticket number",
+ "description": "[Link to my ticket](http:\/\/my-ticketing-system\/1234)",
+ "date_creation": "1434227446",
+ "color_id": "yellow",
+ "project_id": "1",
+ "column_id": "1",
+ "owner_id": "0",
+ "position": "4",
+ "is_active": "1",
+ "date_completed": null,
+ "score": "0",
+ "date_due": "0",
+ "category_id": "0",
+ "creator_id": "0",
+ "date_modification": "1434227446",
+ "reference": "TICKET-1234",
+ "date_started": null,
+ "time_spent": "0",
+ "time_estimated": "0",
+ "swimlane_id": "0",
+ "date_moved": "1434227446",
+ "recurrence_status": "0",
+ "recurrence_trigger": "0",
+ "recurrence_factor": "0",
+ "recurrence_timeframe": "0",
+ "recurrence_basedate": "0",
+ "recurrence_parent": null,
+ "recurrence_child": null
+ }
+}
+```
+
### getAllTasks
- Purpose: **Get all available tasks**
@@ -3542,9 +3605,8 @@ Response example:
- **project_id** (integer, required)
- **task_id** (integer, required)
- **filename** (integer, required)
- - **is_image** (boolean, required)
- **blob** File content encoded in base64 (string, required)
-- Result on success: **true**
+- Result on success: **file_id**
- Result on failure: **false**
- Note: **The maximum file size depends of your PHP configuration, this method should not be used to upload large files**
@@ -3554,12 +3616,11 @@ Request example:
{
"jsonrpc": "2.0",
"method": "createFile",
- "id": 1035045925,
+ "id": 94500810,
"params": [
1,
1,
"My file",
- false,
"cGxhaW4gdGV4dCBmaWxl"
]
}
@@ -3570,8 +3631,8 @@ Response example:
```json
{
"jsonrpc": "2.0",
- "id": 1035045925,
- "result": true
+ "id": 94500810,
+ "result": 1
}
```
@@ -3720,3 +3781,34 @@ Response example:
"result": true
}
```
+
+### removeAllFiles
+
+- Purpose: **Remove all files associated to a task**
+- Parameters:
+ - **task_id** (integer, required)
+- Result on success: **true**
+- Result on failure: **false**
+
+Request example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "removeAllFiles",
+ "id": 593312993,
+ "params": {
+ "task_id": 1
+ }
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 593312993,
+ "result": true
+}
+```
diff --git a/docs/email-configuration.markdown b/docs/email-configuration.markdown
index d5559a8f..c66996c6 100644
--- a/docs/email-configuration.markdown
+++ b/docs/email-configuration.markdown
@@ -12,6 +12,18 @@ To receive email notifications, users of Kanboard must have:
Note: The logged user who performs the action doesn't receive any notifications, only other project members.
+Email transports
+----------------
+
+There are several email transports available:
+
+- SMTP
+- Sendmail
+- PHP native mail function
+- Mailgun
+- Postmark
+- Sendgrid
+
Server settings
---------------
@@ -57,6 +69,71 @@ define('MAIL_TRANSPORT', 'sendmail');
define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs');
```
+### PHP native mail function
+
+This is the default configuration:
+
+```php
+define('MAIL_TRANSPORT', 'mail');
+```
+
+### Mailgun HTTP API
+
+You can use the HTTP API of Mailgun to send emails.
+
+Configuration:
+
+```php
+// We choose "mailgun" as mail transport
+define('MAIL_TRANSPORT', 'mailgun');
+
+// Mailgun API key
+define('MAILGUN_API_TOKEN', 'YOUR_API_KEY');
+
+// Mailgun domain name
+define('MAILGUN_DOMAIN', 'YOUR_DOMAIN_CONFIGURED_IN_MAILGUN');
+
+// Be sure to use the sender email address configured in Mailgun
+define('MAIL_FROM', 'sender-address-configured-in-mailgun@example.org');
+```
+
+### Postmark HTTP API
+
+Postmark is a third-party email service.
+If you already use the Postmark integration to receive emails in Kanboard you can use the same provider to send email too.
+
+This system use their HTTP API instead of the SMTP protocol.
+
+Here are the required settings for this configuration:
+
+```php
+// We choose "postmark" as mail transport
+define('MAIL_TRANSPORT', 'postmark');
+
+// Copy and paste your Postmark API token
+define('POSTMARK_API_TOKEN', 'COPY HERE YOUR POSTMARK API TOKEN');
+
+// Be sure to use the Postmark configured sender email address
+define('MAIL_FROM', 'sender-address-configured-in-postmark@example.org');
+```
+
+### Sendgrid HTTP API
+
+You can use the HTTP API of Sendgrid to send emails.
+
+Configuration:
+
+```php
+// We choose "sendgrid" as mail transport
+define('MAIL_TRANSPORT', 'sendgrid');
+
+// Sendgrid username
+define('SENDGRID_API_USER', 'YOUR_SENDGRID_USERNAME');
+
+// Sendgrid password
+define('SENDGRID_API_KEY', 'YOUR_SENDGRID_PASSWORD');
+```
+
### The sender email address
By default, emails will use the sender address `notifications@kanboard.local`.
diff --git a/docs/index.markdown b/docs/index.markdown
new file mode 100644
index 00000000..75df4694
--- /dev/null
+++ b/docs/index.markdown
@@ -0,0 +1,118 @@
+Documentation
+=============
+
+Using Kanboard
+--------------
+
+### Introduction
+
+- [What is Kanban?](what-is-kanban.markdown)
+- [Kanban vs Todo Lists and Scrum](kanban-vs-todo-and-scrum.markdown)
+- [Usage examples](usage-examples.markdown)
+
+### Working with projects
+
+- [Creating projects](creating-projects.markdown)
+- [Editing projects](editing-projects.markdown)
+- [Sharing boards and tasks](sharing-projects.markdown)
+- [Automatic actions](automatic-actions.markdown)
+- [Project permissions](project-permissions.markdown)
+- [Swimlanes](swimlanes.markdown)
+- [Calendar](calendar.markdown)
+- [Budget](budget.markdown)
+- [Analytics](analytics.markdown)
+
+### Working with tasks
+
+- [Creating tasks](creating-tasks.markdown)
+- [Adding screenshots](screenshots.markdown)
+- [Task links](task-links.markdown)
+- [Transitions](transitions.markdown)
+- [Time tracking](time-tracking.markdown)
+- [Recurring tasks](recurring-tasks.markdown)
+- [Create tasks by email](create-tasks-by-email.markdown)
+
+### Working with users
+
+- [User management](user-management.markdown)
+- [Hourly rate](hourly-rate.markdown)
+- [Timetable](timetable.markdown)
+- [Two factor authentication](2fa.markdown)
+
+### Settings
+
+- [Keyboard shortcuts](keyboard-shortcuts.markdown)
+- [Application settings](application-configuration.markdown)
+- [Project settings](project-configuration.markdown)
+- [Board settings](board-configuration.markdown)
+- [Calendar settings](calendar-configuration.markdown)
+- [Link settings](link-labels.markdown)
+- [Currency rate](currency-rate.markdown)
+- [Config file](config.markdown)
+
+### Integrations
+
+- [Bitbucket webhooks](bitbucket-webhooks.markdown)
+- [Github webhooks](github-webhooks.markdown)
+- [Gitlab webhooks](gitlab-webhooks.markdown)
+- [Hipchat](hipchat.markdown)
+- [Jabber](jabber.markdown)
+- [Mailgun](mailgun.markdown)
+- [Sendgrid](sendgrid.markdown)
+- [Slack](slack.markdown)
+- [Postmark](postmark.markdown)
+- [iCalendar subscriptions](ical.markdown)
+- [Json-RPC API](api-json-rpc.markdown)
+- [Webhooks](webhooks.markdown)
+
+### More
+
+- [Command line interface](cli.markdown)
+- [Syntax guide](syntax-guide.markdown)
+- [Frequently asked questions](faq.markdown)
+
+Technical details
+-----------------
+
+### Installation
+
+- [Installation instructions](installation.markdown)
+- [Upgrade Kanboard to a new version](update.markdown)
+- [Installation on Ubuntu](ubuntu-installation.markdown)
+- [Installation on Debian](debian-installation.markdown)
+- [Installation on Centos](centos-installation.markdown)
+- [Installation on FreeBSD](freebsd-installation.markdown)
+- [Installation on Windows Server with IIS](windows-iis-installation.markdown)
+- [Installation on Windows Server with Apache](windows-apache-installation.markdown)
+- [Installation on Heroku](heroku.markdown)
+- [Example with Nginx + HTTPS + SPDY + PHP-FPM](nginx-ssl-php-fpm.markdown)
+- [Run Kanboard with Docker](docker.markdown)
+
+### Configuration
+
+- [Email configuration](email-configuration.markdown)
+
+### Database
+
+- [Sqlite database management](sqlite-database.markdown)
+- [How to use Mysql](mysql-configuration.markdown)
+- [How to use Postgresql](postgresql-configuration.markdown)
+
+### Authentication
+
+- [LDAP authentication](ldap-authentication.markdown)
+- [Google authentication](google-authentication.markdown)
+- [GitHub authentication](github-authentication.markdown)
+- [Reverse proxy authentication](reverse-proxy-authentication.markdown)
+
+### Contributors
+
+- [Contributor guide](contributing.markdown)
+- [Translations](translations.markdown)
+- [Coding standards](coding-standards.markdown)
+- [Running tests](tests.markdown)
+- [Build assets](assets.markdown)
+- [Run Kanboard with Vagrant](vagrant.markdown)
+
+The documentation is written in [Markdown](http://en.wikipedia.org/wiki/Markdown).
+If you want to improve the documentation, just send a pull-request.
diff --git a/docs/webhooks.markdown b/docs/webhooks.markdown
index fa3e11d8..4ace116b 100644
--- a/docs/webhooks.markdown
+++ b/docs/webhooks.markdown
@@ -122,7 +122,7 @@ Task modification:
"date_completed": null,
"score": "0",
"date_due": "0",
- "category_id": "0",
+ "category_id": "2",
"creator_id": "1",
"date_modification": 1431991603,
"reference": "",
@@ -138,11 +138,16 @@ Task modification:
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
- "task_id": "1"
+ "task_id": "1",
+ "changes": {
+ "category_id": "2"
+ }
}
}
```
+Task update events have a field called `changes` that contains updated values.
+
Move a task to another column:
```json