diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/api-json-rpc.markdown | 634 | ||||
-rw-r--r-- | docs/faq.markdown | 5 |
2 files changed, 635 insertions, 4 deletions
diff --git a/docs/api-json-rpc.markdown b/docs/api-json-rpc.markdown index 346b1dec..dcf92ea8 100644 --- a/docs/api-json-rpc.markdown +++ b/docs/api-json-rpc.markdown @@ -144,6 +144,32 @@ Array Procedures ---------- +### getVersion + +- Purpose: **Get the application version** +- Parameters: none +- Result: **version** (Example: 1.0.12, master) + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getVersion", + "id": 1661138292 +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1661138292, + "result": "1.0.13" +} +``` + ### getTimezone - Purpose: **Get the application timezone** @@ -176,6 +202,7 @@ Response example: - Purpose: **Create a new project** - Parameters: - **name** (string, required) + - **description** (string, optional) - Result on success: **project_id** - Result on failure: **false** @@ -235,7 +262,8 @@ Response example: "is_active": "1", "token": "", "last_modified": "1410263246", - "is_public": "0" + "is_public": "0", + "description": "A sample project" } } ``` @@ -273,7 +301,8 @@ Response example: "is_active": "1", "token": "", "last_modified": "0", - "is_public": "0" + "is_public": "0", + "description": "A sample project" } } ``` @@ -309,7 +338,8 @@ Response example: "is_active": "1", "token": "", "last_modified": "0", - "is_public": "0" + "is_public": "0", + "description": "PHP client project" }, { "id": "1", @@ -317,7 +347,8 @@ Response example: "is_active": "1", "token": "", "last_modified": "0", - "is_public": "0" + "is_public": "0", + "description": "Test project" } ] } @@ -332,6 +363,7 @@ Response example: - **is_active** (integer, optional) - **token** (string, optional) - **is_public** (integer, optional) + - **description** (string, optional) - Result on success: **true** - Result on failure: **false** @@ -973,6 +1005,600 @@ Response example: } ``` +### getSwimlanes + +- Purpose: **Get the list of enabled swimlanes of a project** +- Parameters: + - **project_id** (integer, required) +- Result on success: **swimlane properties** +- Result on failure: **null** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getSwimlanes", + "id": 1242049935, + "params": [ + 2 + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1242049935, + "result": [ + { + "id": "0", + "name": "Default" + }, + { + "id": "2", + "name": "Version 7.0" + }, + ] +} +``` + +### getAllSwimlanes + +- Purpose: **Get the list of all swimlanes of a project** +- Parameters: + - **project_id** (integer, required) +- Result on success: **swimlane properties** +- Result on failure: **null** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getAllSwimlanes", + "id": 1242049935, + "params": [ + 2 + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1242049935, + "result": [ + { + "id": "0", + "name": "Default" + }, + { + "id": "3", + "name": "Version 1.0", + "is_active": "0", + "position": 1, + "project_id": 2 + }, + { + "id": "2", + "name": "Version 7.0", + "is_active": "1", + "position": 2, + "project_id": 2 + } + ] +} +``` + +### getSwimlane + +- Purpose: **Get the a swimlane** +- Parameters: + - **project_id** (integer, required) + - **name** (string, required) +- Result on success: **swimlane properties** +- Result on failure: **null** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getSwimlane", + "id": 1242049935, + "params": [ + 2, + "Version 1.0" + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1242049935, + "result": { + "id": "3", + "name": "Version 1.0", + "is_active": "0", + "position": 2, + "project_id": 2 + } +} +``` + +### moveSwimlaneUp + +- Purpose: **Move up the swimlane position** +- Parameters: + - **project_id** (integer, required) + - **swimlane_id** (integer, required) +- Result on success: **true** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "moveSwimlaneUp", + "id": 99275573, + "params": [ + 1, + 2 + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 99275573, + "result": true +} +``` + +### moveSwimlaneDown + +- Purpose: **Move down the swimlane position** +- Parameters: + - **project_id** (integer, required) + - **swimlane_id** (integer, required) +- Result on success: **true** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "moveSwimlaneDown", + "id": 957090649, + "params": { + "project_id": 1, + "swimlane_id": 2 + } +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 957090649, + "result": true +} +``` + +### updateSwimlane + +- Purpose: **Update swimlane properties** +- Parameters: + - **swimlane_id** (integer, required) + - **name** (string, required) +- Result on success: **true** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "updateSwimlane", + "id": 480740641, + "params": [ + 2, + "Version 4.1" + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 480740641, + "result": true +} +``` + +### addSwimlane + +- Purpose: **Add a new swimlane** +- Parameters: + - **project_id** (integer, required) + - **name** (string, required) +- Result on success: **swimlane_id** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "addSwimlane", + "id": 638544704, + "params": [ + 1, + "Version 1.0" + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 638544704, + "result": 5 +} +``` + +### removeSwimlane + +- Purpose: **Remove a swimlane** +- Parameters: + - **project_id** (integer, required) + - **swimlane_id** (integer, required) +- Result on success: **true** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "removeSwimlane", + "id": 1433237746, + "params": [ + 2, + 1 + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": true +} +``` + +### disableSwimlane + +- Purpose: **Enable a swimlane** +- Parameters: + - **project_id** (integer, required) + - **swimlane_id** (integer, required) +- Result on success: **true** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "disableSwimlane", + "id": 1433237746, + "params": [ + 2, + 1 + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": true +} +``` + +### enableSwimlane + +- Purpose: **Enable a swimlane** +- Parameters: + - **project_id** (integer, required) + - **swimlane_id** (integer, required) +- Result on success: **true** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "enableSwimlane", + "id": 1433237746, + "params": [ + 2, + 1 + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": true +} +``` + +### getAvailableActions + +- Purpose: **Get list of available actions** +- Parameters: none +- Result on success: **list of actions** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getAvailableActions", + "id": 1433237746, +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": { + "TaskLogMoveAnotherColumn" : "Add a comment logging moving the task between columns", + "TaskAssignColorUser" : "Assign a color to a specific user", + "TaskAssignCategoryColor" : "Assign automatically a category based on a color", + "TaskAssignColorCategory" : "Assign automatically a color based on a category", + "TaskAssignSpecificUser" : "Assign the task to a specific user", + "TaskAssignCurrentUser" : "Assign the task to the person who does the action", + "TaskAssignUser" : "Change the assignee based on an external username", + "TaskAssignCategoryLabel" : "Change the category based on an external label", + "TaskClose" : "Close a task", + "CommentCreation" : "Create a comment from an external provider", + "TaskCreation" : "Create a task from an external provider", + "TaskDuplicateAnotherProject" : "Duplicate the task to another project", + "TaskMoveAnotherProject" : "Move the task to another project", + "TaskOpen" : "Open a task" + } +} +``` + +### getAvailableEvents + +- Purpose: **Get list of available events** +- Parameters: none +- Result on success: **list of events** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getAvailableEvents", + "id": 1433237746, +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": { + "bitbucket.webhook.commit" : "Bitbucket commit received", + "task.close" : "Closing a task", + "github.webhook.commit" : "Github commit received", + "github.webhook.issue.assignee" : "Github issue assignee change", + "github.webhook.issue.closed" : "Github issue closed", + "github.webhook.issue.commented" : "Github issue comment created", + "github.webhook.issue.label" : "Github issue label change", + "github.webhook.issue.opened" : "Github issue opened", + "github.webhook.issue.reopened" : "Github issue reopened", + "gitlab.webhook.commit" : "Gitlab commit received", + "gitlab.webhook.issue.closed" : "Gitlab issue closed", + "gitlab.webhook.issue.opened" : "Gitlab issue opened", + "task.move.column" : "Move a task to another column", + "task.open" : "Open a closed task", + "task.assignee_change" : "Task assignee change", + "task.create" : "Task creation", + "task.create_update" : "Task creation or modification", + "task.update" : "Task modification" + } +} +``` + +### getCompatibleEvents + +- Purpose: **Get list of events compatible with an action** +- Parameters: + - **action_name** (string, required) +- Result on success: **list of events** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getCompatibleEvents", + "id": 1433237746, + "params": [ + "TaskAssignSpecificUser" + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": { + "task.move.column" : "Move a task to another column", + "task.create_update" : "Task creation or modification", + } +} +``` + +### getActions + +- Purpose: **Get list of actions for a project** +- Parameters: + - **project_id** (integer, required) +- Result on success: **list of actions info** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getActions", + "id": 1433237746, + "params": [ + "1" + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": [ + { + "id" : "13", + "project_id" : "2", + "event_name" : "task.move.column", + "action_name" : "TaskAssignSpecificUser", + "params" : { + "column_id" : "5", + "user_id" : "1" + } + } + ] +} +``` + +### createAction + +- Purpose: **Create an action** +- Parameters: + - **project_id** (integer, required) + - **event_name** (string, required) + - **action_name** (string, required) + - **params** (list of string pairs, required) +- Result on success: **action_id** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "createAction", + "id": 1433237746, + "params": { + "project_id" : "2", + "event_name" : "task.move.column", + "action_name" : "TaskAssignSpecificUser", + "params" : { + "column_id" : "3", + "user_id" : "2" + } + } +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": 14 +} +``` + +### removeAction + +- Purpose: **Remove an action** +- Parameters: + - **action_id** (integer, required) +- Result on success: **true** +- Result on failure: **false** + +Request example: + +```json +{ + "jsonrpc": "2.0", + "method": "getAvailableEvents", + "id": 1433237746, + "params": [ + "2", + ] +} +``` + +Response example: + +```json +{ + "jsonrpc": "2.0", + "id": 1433237746, + "result": true +} +``` ### createTask diff --git a/docs/faq.markdown b/docs/faq.markdown index 0b7a3562..68bc686f 100644 --- a/docs/faq.markdown +++ b/docs/faq.markdown @@ -91,3 +91,8 @@ How to install Kanboard on Yunohost? [YunoHost](https://yunohost.org/) is a server operating system aiming to make self-hosting accessible to everyone. There is a [package to install Kanboard on Yunohost easily](https://github.com/mbugeia/kanboard_ynh). + + +Are there some tutorials about Kanboard in other languages? +------------------------------------ + - [German article series about Kanboard](http://demaya.de/wp/2014/07/kanboard-eine-jira-alternative-im-detail-installation/) |