Rewrite of the authentication and authorization system
This commit is contained in:
245
doc/api-action-procedures.markdown
Normal file
245
doc/api-action-procedures.markdown
Normal file
@@ -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
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user