Added new API calls for external task links

This commit is contained in:
Frederic Guillot
2016-06-26 14:33:53 -04:00
parent b82589e75f
commit 3d34681610
10 changed files with 642 additions and 185 deletions

View File

@@ -0,0 +1,221 @@
Internal Task Links API Procedures
==================================
## getExternalTaskLinkTypes
- Purpose: **Get all registered external link providers**
- Parameters: **none**
- Result on success: **dict**
- Result on failure: **false**
Request example:
```json
{"jsonrpc":"2.0","method":"getExternalTaskLinkTypes","id":477370568}
```
Response example:
```json
{
"jsonrpc": "2.0",
"result": {
"auto": "Auto",
"attachment": "Attachment",
"file": "Local File",
"weblink": "Web Link"
},
"id": 477370568
}
```
## getExternalTaskLinkProviderDependencies
- Purpose: **Get available dependencies for a given provider**
- Parameters:
- **providerName** (string, required)
- Result on success: **dict**
- Result on failure: **false**
Request example:
```json
{"jsonrpc":"2.0","method":"getExternalTaskLinkProviderDependencies","id":124790226,"params":["weblink"]}
```
Response example:
```json
{
"jsonrpc": "2.0",
"result": {
"related": "Related"
},
"id": 124790226
}
```
## createExternalTaskLink
- Purpose: **Create a new external link**
- Parameters:
- **task_id** (integer, required)
- **url** (string, required)
- **dependency** (string, required)
- **type** (string, optional)
- **title** (string, optional)
- Result on success: **link_id**
- Result on failure: **false**
Request example:
```json
{"jsonrpc":"2.0","method":"createExternalTaskLink","id":924217495,"params":[9,"http:\/\/localhost\/document.pdf","related","attachment"]}
```
Response example:
```json
{
"jsonrpc": "2.0",
"result": 1,
"id": 924217495
}
```
## updateExternalTaskLink
- Purpose: **Update external task link**
- Parameters:
- **task_id** (integer, required)
- **link_id** (integer, required)
- **title** (string, required)
- **url** (string, required)
- **dependency** (string, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc":"2.0",
"method":"updateExternalTaskLink",
"id":1123562620,
"params": {
"task_id":9,
"link_id":1,
"title":"New title"
}
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"result": true,
"id": 1123562620
}
```
## getExternalTaskLinkById
- Purpose: **Get an external task link**
- Parameters:
- **task_id** (integer, required)
- **link_id** (integer, required)
- Result on success: **dict**
- Result on failure: **false**
Request example:
```json
{"jsonrpc":"2.0","method":"getExternalTaskLinkById","id":2107066744,"params":[9,1]}
```
Response example:
```json
{
"jsonrpc": "2.0",
"result": {
"id": "1",
"link_type": "attachment",
"dependency": "related",
"title": "document.pdf",
"url": "http:\/\/localhost\/document.pdf",
"date_creation": "1466965256",
"date_modification": "1466965256",
"task_id": "9",
"creator_id": "0"
},
"id": 2107066744
}
```
## getAllExternalTaskLinks
- Purpose: **Get all external links attached to a task**
- Parameters:
- **task_id** (integer, required)
- Result on success: **list of external links**
- Result on failure: **false**
Request example:
```json
{"jsonrpc":"2.0","method":"getAllExternalTaskLinks","id":2069307223,"params":[9]}
```
Response example:
```json
{
"jsonrpc": "2.0",
"result": [
{
"id": "1",
"link_type": "attachment",
"dependency": "related",
"title": "New title",
"url": "http:\/\/localhost\/document.pdf",
"date_creation": "1466965256",
"date_modification": "1466965256",
"task_id": "9",
"creator_id": "0",
"creator_name": null,
"creator_username": null,
"dependency_label": "Related",
"type": "Attachment"
}
],
"id": 2069307223
}
```
## removeExternalTaskLink
- Purpose: **Remove an external link**
- Parameters:
- **task_id** (integer, required)
- **link_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{"jsonrpc":"2.0","method":"removeExternalTaskLink","id":552055660,"params":[9,1]}
```
Response example:
```json
{
"jsonrpc": "2.0",
"result": true,
"id": 552055660
}
```

View File

@@ -0,0 +1,187 @@
Internal Task Links API Procedures
==================================
## createTaskLink
- Purpose: **Create a link between two tasks**
- Parameters:
- **task_id** (integer, required)
- **opposite_task_id** (integer, required)
- **link_id** (integer, required)
- Result on success: **task_link_id**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "createTaskLink",
"id": 509742912,
"params": [
2,
3,
1
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 509742912,
"result": 1
}
```
## updateTaskLink
- Purpose: **Update task link**
- Parameters:
- **task_link_id** (integer, required)
- **task_id** (integer, required)
- **opposite_task_id** (integer, required)
- **link_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "updateTaskLink",
"id": 669037109,
"params": [
1,
2,
4,
2
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 669037109,
"result": true
}
```
## getTaskLinkById
- Purpose: **Get a task link**
- Parameters:
- **task_link_id** (integer, required)
- Result on success: **task link properties**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getTaskLinkById",
"id": 809885202,
"params": [
1
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 809885202,
"result": {
"id": "1",
"link_id": "1",
"task_id": "2",
"opposite_task_id": "3"
}
}
```
## getAllTaskLinks
- Purpose: **Get all links related to a task**
- Parameters:
- **task_id** (integer, required)
- Result on success: **list of task link**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getAllTaskLinks",
"id": 810848359,
"params": [
2
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 810848359,
"result": [
{
"id": "1",
"task_id": "3",
"label": "relates to",
"title": "B",
"is_active": "1",
"project_id": "1",
"task_time_spent": "0",
"task_time_estimated": "0",
"task_assignee_id": "0",
"task_assignee_username": null,
"task_assignee_name": null,
"column_title": "Backlog"
}
]
}
```
## removeTaskLink
- Purpose: **Remove a link between two tasks**
- Parameters:
- **task_link_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "removeTaskLink",
"id": 473028226,
"params": [
1
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 473028226,
"result": true
}
```

View File

@@ -60,6 +60,8 @@ Usage
- [Subtasks](api-subtask-procedures.markdown)
- [Files](api-file-procedures.markdown)
- [Links](api-link-procedures.markdown)
- [Internal Task Links](api-internal-task-link-procedures.markdown)
- [External Task Links](api-external-task-link-procedures.markdown)
- [Comments](api-comment-procedures.markdown)
- [Users](api-user-procedures.markdown)
- [Groups](api-group-procedures.markdown)

View File

@@ -283,188 +283,3 @@ Response example:
"result": true
}
```
## createTaskLink
- Purpose: **Create a link between two tasks**
- Parameters:
- **task_id** (integer, required)
- **opposite_task_id** (integer, required)
- **link_id** (integer, required)
- Result on success: **task_link_id**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "createTaskLink",
"id": 509742912,
"params": [
2,
3,
1
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 509742912,
"result": 1
}
```
## updateTaskLink
- Purpose: **Update task link**
- Parameters:
- **task_link_id** (integer, required)
- **task_id** (integer, required)
- **opposite_task_id** (integer, required)
- **link_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "updateTaskLink",
"id": 669037109,
"params": [
1,
2,
4,
2
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 669037109,
"result": true
}
```
## getTaskLinkById
- Purpose: **Get a task link**
- Parameters:
- **task_link_id** (integer, required)
- Result on success: **task link properties**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getTaskLinkById",
"id": 809885202,
"params": [
1
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 809885202,
"result": {
"id": "1",
"link_id": "1",
"task_id": "2",
"opposite_task_id": "3"
}
}
```
## getAllTaskLinks
- Purpose: **Get all links related to a task**
- Parameters:
- **task_id** (integer, required)
- Result on success: **list of task link**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getAllTaskLinks",
"id": 810848359,
"params": [
2
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 810848359,
"result": [
{
"id": "1",
"task_id": "3",
"label": "relates to",
"title": "B",
"is_active": "1",
"project_id": "1",
"task_time_spent": "0",
"task_time_estimated": "0",
"task_assignee_id": "0",
"task_assignee_username": null,
"task_assignee_name": null,
"column_title": "Backlog"
}
]
}
```
## removeTaskLink
- Purpose: **Remove a link between two tasks**
- Parameters:
- **task_link_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "removeTaskLink",
"id": 473028226,
"params": [
1
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 473028226,
"result": true
}
```