summaryrefslogtreecommitdiff
path: root/doc/api-action-procedures.markdown
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-12-05 20:31:27 -0500
committerFrederic Guillot <fred@kanboard.net>2015-12-05 20:31:27 -0500
commite9fedf3e5cd63aea4da7a71f6647ee427c62fa49 (patch)
treeabc2de5aebace4a2d7c94805552264dab6b10bc7 /doc/api-action-procedures.markdown
parent346b8312e5ac877ce3192c2db3a26b500018bbb5 (diff)
Rewrite of the authentication and authorization system
Diffstat (limited to 'doc/api-action-procedures.markdown')
-rw-r--r--doc/api-action-procedures.markdown245
1 files changed, 245 insertions, 0 deletions
diff --git a/doc/api-action-procedures.markdown b/doc/api-action-procedures.markdown
new file mode 100644
index 00000000..5dd88f4a
--- /dev/null
+++ b/doc/api-action-procedures.markdown
@@ -0,0 +1,245 @@
+API Automatic Actions Procedures
+================================
+
+### getAvailableActions
+
+- Purpose: **Get list of available automatic actions**
+- Parameters: none
+- Result on success: **list of actions**
+- Result on failure: **false**
+
+Request example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "getAvailableActions",
+ "id": 1217735483
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1217735483,
+ "result": {
+ "TaskLogMoveAnotherColumn": "Add a comment logging moving the task between columns",
+ "TaskAssignColorUser": "Assign a color to a specific user",
+ "TaskAssignColorColumn": "Assign a color when the task is moved to a specific column",
+ "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",
+ "TaskUpdateStartDate": "Automatically update the start date",
+ "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",
+ "TaskMoveColumnAssigned": "Move the task to another column when assigned to a user",
+ "TaskMoveColumnUnAssigned": "Move the task to another column when assignee is cleared",
+ "TaskMoveAnotherProject": "Move the task to another project",
+ "TaskOpen": "Open a task"
+ }
+}
+```
+
+### getAvailableActionEvents
+
+- Purpose: **Get list of available events for actions**
+- Parameters: none
+- Result on success: **list of events**
+- Result on failure: **false**
+
+Request example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "getAvailableActionEvents",
+ "id": 2116665643
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 2116665643,
+ "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"
+ }
+}
+```
+
+### getCompatibleActionEvents
+
+- 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": "getCompatibleActionEvents",
+ "id": 899370297,
+ "params": [
+ "TaskClose"
+ ]
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 899370297,
+ "result": {
+ "bitbucket.webhook.commit": "Bitbucket commit received",
+ "github.webhook.commit": "Github commit received",
+ "github.webhook.issue.closed": "Github issue closed",
+ "gitlab.webhook.commit": "Gitlab commit received",
+ "gitlab.webhook.issue.closed": "Gitlab issue closed",
+ "task.move.column": "Move a task to another column"
+ }
+}
+```
+
+### getActions
+
+- Purpose: **Get list of actions for a project**
+- Parameters:
+ - **project_id** (integer, required)
+- Result on success: **list of actions properties**
+- 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** (key/value parameters, 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": "removeAction",
+ "id": 1510741671,
+ "params": [
+ 1
+ ]
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1510741671,
+ "result": true
+}
+```