Merge manually #2694
This commit is contained in:
parent
15dbf5c7fd
commit
88549330fa
|
|
@ -0,0 +1,172 @@
|
|||
API Procedimientos de Categoría
|
||||
=======================
|
||||
|
||||
## createCategory
|
||||
|
||||
- Propósito: **Crea una nueva categoría**
|
||||
- Parámetros:
|
||||
- **project_id** (integer, required)
|
||||
- **name** (string, required, must be unique for the given project)
|
||||
- Resultado en caso exitoso: **category_id**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "createCategory",
|
||||
"id": 541909890,
|
||||
"params": {
|
||||
"name": "Super category",
|
||||
"project_id": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta::
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 541909890,
|
||||
"result": 4
|
||||
}
|
||||
```
|
||||
|
||||
## getCategory
|
||||
|
||||
- Propósito: **Obtiene información de la categoría**
|
||||
- Parámetros:
|
||||
- **category_id** (integer, required)
|
||||
- Resultado en caso exitoso: **category properties**
|
||||
- Resultado en caso fallido: **null**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getCategory",
|
||||
"id": 203539163,
|
||||
"params": {
|
||||
"category_id": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta::
|
||||
|
||||
```json
|
||||
{
|
||||
|
||||
"jsonrpc": "2.0",
|
||||
"id": 203539163,
|
||||
"result": {
|
||||
"id": "1",
|
||||
"name": "Super category",
|
||||
"project_id": "1"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## getAllCategories
|
||||
|
||||
- Propósito: **Obtiene todas las categorías disponibles**
|
||||
- Parámetros:
|
||||
- **project_id** (integer, required)
|
||||
- Resultado en caso exitoso: **List of categories**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getAllCategories",
|
||||
"id": 1261777968,
|
||||
"params": {
|
||||
"project_id": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta::
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1261777968,
|
||||
"result": [
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Super category",
|
||||
"project_id": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## updateCategory
|
||||
|
||||
- Propósito: **Actualiza una categoría**
|
||||
- Parámetros:
|
||||
- **id** (integer, required)
|
||||
- **name** (string, required)
|
||||
- Resultado en caso exitoso: **true**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "updateCategory",
|
||||
"id": 570195391,
|
||||
"params": {
|
||||
"id": 1,
|
||||
"name": "Renamed category"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta::
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 570195391,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
## removeCategory
|
||||
|
||||
- Propósito: **Elimina una categoría**
|
||||
- Parámetros:
|
||||
- **category_id** (integer)
|
||||
- Resultado en caso exitoso: **true**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "removeCategory",
|
||||
"id": 88225706,
|
||||
"params": {
|
||||
"category_id": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta::
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 88225706,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,229 @@
|
|||
API Procedimientos de columna
|
||||
=====================
|
||||
|
||||
## getColumns
|
||||
|
||||
- Propósito: **Obtiene toda la información de columnas para un proyecto dado**
|
||||
- Parametros:
|
||||
- **project_id** (integer, required)
|
||||
- Resultados en caso exitoso: **columns properties**
|
||||
- Resultados en caso fallido: **empty list**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getColumns",
|
||||
"id": 887036325,
|
||||
"params": [
|
||||
1
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 887036325,
|
||||
"result": [
|
||||
{
|
||||
"id": "1",
|
||||
"title": "Backlog",
|
||||
"position": "1",
|
||||
"project_id": "1",
|
||||
"task_limit": "0"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"title": "Ready",
|
||||
"position": "2",
|
||||
"project_id": "1",
|
||||
"task_limit": "0"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"title": "Work in progress",
|
||||
"position": "3",
|
||||
"project_id": "1",
|
||||
"task_limit": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## getColumn
|
||||
|
||||
- Propósito: **Obtiene una columna individual**
|
||||
- Parametros:
|
||||
- **column_id** (integer, required)
|
||||
- Resultados en caso exitoso: **column properties**
|
||||
- Resultados en caso fallido: **null**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getColumn",
|
||||
"id": 1242049935,
|
||||
"params": [
|
||||
2
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1242049935,
|
||||
"result": {
|
||||
"id": "2",
|
||||
"title": "Youpi",
|
||||
"position": "2",
|
||||
"project_id": "1",
|
||||
"task_limit": "5"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## changeColumnPosition
|
||||
|
||||
- Propósito: **Cambia la posición de columna**
|
||||
- Parametros:
|
||||
- **project_id** (integer, required)
|
||||
- **column_id** (integer, required)
|
||||
- **position** (integer, required, must be >= 1)
|
||||
- Resultados en caso exitoso: **true**
|
||||
- Resultados en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "changeColumnPosition",
|
||||
"id": 99275573,
|
||||
"params": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 99275573,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
## updateColumn
|
||||
|
||||
- Propósito: **Actualiza las propiedades de la columna**
|
||||
- Parametros:
|
||||
- **column_id** (integer, required)
|
||||
- **title** (string, required)
|
||||
- **task_limit** (integer, optional)
|
||||
- **description** (string, optional)
|
||||
- Resultados en caso exitoso: **true**
|
||||
- Resultados en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "updateColumn",
|
||||
"id": 480740641,
|
||||
"params": [
|
||||
2,
|
||||
"Boo",
|
||||
5
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 480740641,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
## addColumn
|
||||
|
||||
- Propósito: **Agrega una nueva columna**
|
||||
- Parametros:
|
||||
- **project_id** (integer, required)
|
||||
- **title** (string, required)
|
||||
- **task_limit** (integer, optional)
|
||||
- **description** (string, optional)
|
||||
- Resultados en caso exitoso: **column_id**
|
||||
- Resultados en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "addColumn",
|
||||
"id": 638544704,
|
||||
"params": [
|
||||
1,
|
||||
"Boo"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 638544704,
|
||||
"result": 5
|
||||
}
|
||||
```
|
||||
|
||||
## removeColumn
|
||||
|
||||
- Propósito: **Elimina una columna**
|
||||
- Parametros:
|
||||
- **column_id** (integer, required)
|
||||
- Resultados en caso exitoso: **true**
|
||||
- Resultados en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "removeColumn",
|
||||
"id": 1433237746,
|
||||
"params": [
|
||||
1
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1433237746,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
Group API Procedures
|
||||
====================
|
||||
|
||||
## createGroup
|
||||
|
||||
- Purpose: **Create a new group**
|
||||
- Parameters:
|
||||
- **name** (string, required)
|
||||
- **external_id** (string, optional)
|
||||
- Result on success: **link_id**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "createGroup",
|
||||
"id": 1416806551,
|
||||
"params": [
|
||||
"My Group B",
|
||||
"1234"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1416806551,
|
||||
"result": 2
|
||||
}
|
||||
```
|
||||
|
||||
## updateGroup
|
||||
|
||||
- Purpose: **Update a group**
|
||||
- Parameters:
|
||||
- **group_id** (integer, required)
|
||||
- **name** (string, optional)
|
||||
- **external_id** (string, optional)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "updateGroup",
|
||||
"id": 866078030,
|
||||
"params": {
|
||||
"group_id": "1",
|
||||
"name": "ABC",
|
||||
"external_id": "something"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 866078030,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
## removeGroup
|
||||
|
||||
- Purpose: **Remove a group**
|
||||
- Parameters:
|
||||
- **group_id** (integer, required)
|
||||
- Result on success: **true**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "removeGroup",
|
||||
"id": 566000661,
|
||||
"params": [
|
||||
"1"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 566000661,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
## getGroup
|
||||
|
||||
- Purpose: **Get one group**
|
||||
- Parameters:
|
||||
- **group_id** (integer, required)
|
||||
- Result on success: **Group dictionary**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getGroup",
|
||||
"id": 1968647622,
|
||||
"params": [
|
||||
"1"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1968647622,
|
||||
"result": {
|
||||
"id": "1",
|
||||
"external_id": "",
|
||||
"name": "My Group A"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## getAllGroups
|
||||
|
||||
- Purpose: **Get all groups**
|
||||
- Parameters: none
|
||||
- Result on success: **list of groups**
|
||||
- Result on failure: **false**
|
||||
|
||||
Request example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getAllGroups",
|
||||
"id": 546070742
|
||||
}
|
||||
```
|
||||
|
||||
Response example:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 546070742,
|
||||
"result": [
|
||||
{
|
||||
"id": "1",
|
||||
"external_id": "",
|
||||
"name": "My Group A"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"external_id": "1234",
|
||||
"name": "My Group B"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,187 @@
|
|||
API Procedimientos de Tareas Internas de Enlace
|
||||
=================================
|
||||
|
||||
## createTaskLink
|
||||
|
||||
- Propósito: **Crea un enlace entre dos tareas**
|
||||
- Parametros:
|
||||
- **task_id** (integer, required)
|
||||
- **opposite_task_id** (integer, required)
|
||||
- **link_id** (integer, required)
|
||||
- Resultado en caso exitoso: **task_link_id**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "createTaskLink",
|
||||
"id": 509742912,
|
||||
"params": [
|
||||
2,
|
||||
3,
|
||||
1
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 509742912,
|
||||
"result": 1
|
||||
}
|
||||
```
|
||||
|
||||
## updateTaskLink
|
||||
|
||||
- Propósito: **Actualiza enlace de tarea**
|
||||
- Parametros:
|
||||
- **task_link_id** (integer, required)
|
||||
- **task_id** (integer, required)
|
||||
- **opposite_task_id** (integer, required)
|
||||
- **link_id** (integer, required)
|
||||
- Resultado en caso exitoso: **true**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "updateTaskLink",
|
||||
"id": 669037109,
|
||||
"params": [
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
2
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 669037109,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
## getTaskLinkById
|
||||
|
||||
- Propósito: **Obtiene un enlace de tarea**
|
||||
- Parametros:
|
||||
- **task_link_id** (integer, required)
|
||||
- Resultado en caso exitoso: **task link properties**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getTaskLinkById",
|
||||
"id": 809885202,
|
||||
"params": [
|
||||
1
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 809885202,
|
||||
"result": {
|
||||
"id": "1",
|
||||
"link_id": "1",
|
||||
"task_id": "2",
|
||||
"opposite_task_id": "3"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## getAllTaskLinks
|
||||
|
||||
- Propósito: **Obtiene todos los enlaces relacionados a una tarea**
|
||||
- Parametros:
|
||||
- **task_id** (integer, required)
|
||||
- Resultado en caso exitoso: **list of task link**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getAllTaskLinks",
|
||||
"id": 810848359,
|
||||
"params": [
|
||||
2
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```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
|
||||
|
||||
- Propósito: **Elimina un enlace entre dos tareas**
|
||||
- Parametros:
|
||||
- **task_link_id** (integer, required)
|
||||
- Resultado en caso exitoso: **true**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "removeTaskLink",
|
||||
"id": 473028226,
|
||||
"params": [
|
||||
1
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 473028226,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,285 @@
|
|||
API Procedimientos de enlace
|
||||
===================
|
||||
|
||||
## getAllLinks
|
||||
|
||||
- Propósito: **Obtiene la lista de posibles relaciones entre tareas**
|
||||
- Parametros: ninguno
|
||||
- Resultado en caso exitoso: **List of links**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getAllLinks",
|
||||
"id": 113057196
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 113057196,
|
||||
"result": [
|
||||
{
|
||||
"id": "1",
|
||||
"label": "relates to",
|
||||
"opposite_id": "0"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"label": "blocks",
|
||||
"opposite_id": "3"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"label": "is blocked by",
|
||||
"opposite_id": "2"
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"label": "duplicates",
|
||||
"opposite_id": "5"
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"label": "is duplicated by",
|
||||
"opposite_id": "4"
|
||||
},
|
||||
{
|
||||
"id": "6",
|
||||
"label": "is a child of",
|
||||
"opposite_id": "7"
|
||||
},
|
||||
{
|
||||
"id": "7",
|
||||
"label": "is a parent of",
|
||||
"opposite_id": "6"
|
||||
},
|
||||
{
|
||||
"id": "8",
|
||||
"label": "targets milestone",
|
||||
"opposite_id": "9"
|
||||
},
|
||||
{
|
||||
"id": "9",
|
||||
"label": "is a milestone of",
|
||||
"opposite_id": "8"
|
||||
},
|
||||
{
|
||||
"id": "10",
|
||||
"label": "fixes",
|
||||
"opposite_id": "11"
|
||||
},
|
||||
{
|
||||
"id": "11",
|
||||
"label": "is fixed by",
|
||||
"opposite_id": "10"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## getOppositeLinkId
|
||||
|
||||
- Propósito: **Obtiene el identificador de enlace opuesto de un enlace de tarea**
|
||||
- Parametros:
|
||||
- **link_id** (integer, required)
|
||||
- Resultado en caso exitoso: **link_id**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getOppositeLinkId",
|
||||
"id": 407062448,
|
||||
"params": [
|
||||
2
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 407062448,
|
||||
"result": "3"
|
||||
}
|
||||
```
|
||||
|
||||
## getLinkByLabel
|
||||
|
||||
- Propósito: **Obtiene un enlace por etiqueta**
|
||||
- Parametros:
|
||||
- **label** (integer, required)
|
||||
- Resultado en caso exitoso: **link properties**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getLinkByLabel",
|
||||
"id": 1796123316,
|
||||
"params": [
|
||||
"blocks"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1796123316,
|
||||
"result": {
|
||||
"id": "2",
|
||||
"label": "blocks",
|
||||
"opposite_id": "3"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## getLinkById
|
||||
|
||||
- Propósito: **Obtiene un enlace por identificador**
|
||||
- Parametros:
|
||||
- **link_id** (integer, required)
|
||||
- Resultado en caso exitoso: **link properties**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "getLinkById",
|
||||
"id": 1190238402,
|
||||
"params": [
|
||||
4
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1190238402,
|
||||
"result": {
|
||||
"id": "4",
|
||||
"label": "duplicates",
|
||||
"opposite_id": "5"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## createLink
|
||||
|
||||
- Propósito: **Crea una nueva relación de tarea**
|
||||
- Parametros:
|
||||
- **label** (integer, required)
|
||||
- **opposite_label** (integer, optional)
|
||||
- Resultado en caso exitoso: **link_id**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "createLink",
|
||||
"id": 1040237496,
|
||||
"params": [
|
||||
"foo",
|
||||
"bar"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1040237496,
|
||||
"result": 13
|
||||
}
|
||||
```
|
||||
|
||||
## updateLink
|
||||
|
||||
- Propósito: **Actualiza un enlace**
|
||||
- Parametros:
|
||||
- **link_id** (integer, required)
|
||||
- **opposite_link_id** (integer, required)
|
||||
- **label** (string, required)
|
||||
- Resultado en caso exitoso: **true**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "updateLink",
|
||||
"id": 2110446926,
|
||||
"params": [
|
||||
"14",
|
||||
"12",
|
||||
"boo"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 2110446926,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
||||
## removeLink
|
||||
|
||||
- Propósito: **Elimina un enlace**
|
||||
- Parametros:
|
||||
- **link_id** (integer, required)
|
||||
- Resultado en caso exitoso: **true**
|
||||
- Resultado en caso fallido: **false**
|
||||
|
||||
Ejemplo de petición:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"method": "removeLink",
|
||||
"id": 2136522739,
|
||||
"params": [
|
||||
"14"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Ejemplo de respuesta:
|
||||
|
||||
```json
|
||||
{
|
||||
"jsonrpc": "2.0",
|
||||
"id": 2136522739,
|
||||
"result": true
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
Creación de proyectos
|
||||
=================
|
||||
|
||||
Kanboard puede manejar múltiples proyectos. Hay dos tipos de proyectos
|
||||
|
||||
- Proyectos por equipos
|
||||
- Proyectos privados pra una sola persona
|
||||
|
||||
Creando proyectos para multiples usuarios
|
||||
------------------------------------------
|
||||
|
||||
- Solamente los administradores y los administradores de proyecto pueden crear los proyectos.
|
||||
- La gestión de usuarios está disponible
|
||||
|
||||
Desde el dashboard, click en el link **Nuevo proyecto**:
|
||||
|
||||

|
||||
|
||||
Es muy facil , solo tienes que buscar un nombre para tu proyecto!
|
||||
|
||||
Crear un proyecto privado
|
||||
--------------------------
|
||||
|
||||
- Cualquiera puede crear un proyecto privado
|
||||
- **No hay** gestión de usuarios
|
||||
- Sólo el propietario y los administradores pueden acceder al proyecto
|
||||
|
||||
Desde el dashboard, haga clic en el enlace **Nuevo proyecto privado**.
|
||||
|
||||
|
||||
Crear proyectos desde otro proyecto
|
||||
--------------------------------------
|
||||
|
||||
Cuando tu creas un nuevo proyecto, tu puedes escoger o duplicar las propiedades de otro proyecto :
|
||||
|
||||
- Permisos
|
||||
- Acciones
|
||||
- Swimlanes
|
||||
- Categorias
|
||||
- Tareas
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
Creación de tarea
|
||||
==============
|
||||
|
||||
Desde el tablero, haga clic en el signo más **plus** al lado del nombre de la columna
|
||||
|
||||

|
||||
|
||||
A continuación, aparece el formulario de creación de tareas:
|
||||
|
||||

|
||||
|
||||
Descripción de campos:
|
||||
|
||||
- **Titulo**: El título de su tarea, que se podrá ver en el tablero.
|
||||
- **Descripción**: Descripción que usa el formato [Markdown](syntax-guide.markdown).
|
||||
- **Tags**: Lista de etiquetas asociadas a las tareas
|
||||
- **Crear otra tarea**:Marque esta casilla si desea crear una tarea similar (serán pre-llenados algunos campos)..
|
||||
- **Color**: Escoger el color de la tarjeta.
|
||||
- **Asignado**: Persona que trabajara en la tarea.
|
||||
- **Categoría**: Sólo una categoría puede ser asignado a una tarea (visibles sólo si los proyectos tienen categorías).
|
||||
- **Columna**: La columna en la que se creó la tarea, su tarea se coloca en la parte inferior.
|
||||
- **Prioridad**: AL Prioridad de la tarea, el intervalo se puede definir en la configuración del proyecto, los valores por defecto son P0 a P3.
|
||||
- **Complejidad**: Se utiliza en la gestión de proyectos ágiles (Scrum), los puntos de complejidad o de la historia es un número que le dice al equipo lo difícil es la historia. A menudo, las personas utilizan la serie de Fibonacci.
|
||||
- **Referencia**: ID externo para la tarea, por ejemplo, puede ser el número de entradas que provienen de otro sistema
|
||||
- **Estimación original** : Estimación de horas para completar la tarea.
|
||||
- **Tiempo transcurrido** : El tiempo dedicado a trabajar en la tarea.
|
||||
- **Fecha de Inicio** : Se trata de un campo de fecha y hora.
|
||||
- **Fecha de vencimiento** : Las tareas vencidas se tiene una fecha de vencimiento próxima rojo y las fechas de vencimiento será de color negro en el tablero. Varios formato de fecha se aceptan además del selector de fecha.
|
||||
|
||||
|
||||
Con el enlace de vista previa, se puede ver la descripción de la tarea convertiendo la sintaxis de Markdown.
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
Implementar Kanboard en Heroku
|
||||
=========================
|
||||
|
||||
Usted puede tratar de forma gratuita en Kanboard[Heroku](https://www.heroku.com/).
|
||||
Puede utilizar este botón de un solo clic instalar o siga las instrucciones del manual abajo:
|
||||
|
||||
[](https://heroku.com/deploy?template=https://github.com/kanboard/kanboard)
|
||||
|
||||
Requerimientos
|
||||
------------
|
||||
- Cuenta de Heroku, se puede utilizar una cuenta gratuita
|
||||
- Herramientas de línea de comandos instalados Heroku
|
||||
|
||||
Manual de Instrucciones
|
||||
-------------------
|
||||
|
||||
```bash
|
||||
# Obtener la ultima version de desarrollo
|
||||
git clone https://github.com/kanboard/kanboard.git
|
||||
cd kanboard
|
||||
|
||||
# Empuje el código para Heroku (También puede utilizar SSH si Git sobre HTTP no funciona)
|
||||
heroku create
|
||||
git push heroku master
|
||||
|
||||
# Iniciar un nuevo banco de pruebas con una base de datos PostgreSQL
|
||||
heroku ps:scale web=1
|
||||
heroku addons:add heroku-postgresql:hobby-dev
|
||||
|
||||
# Abra su navegador
|
||||
heroku open
|
||||
```
|
||||
|
||||
Limitaciones
|
||||
-----------
|
||||
|
||||
- El almacenamiento de Heroku es efímera, eso significa que los archivos cargados a través de Kanboard no son persistentes después de un reinicio. Es posible que desee instalar un plugin para almacenar sus archivos en un proveedor de almacenamiento en la nube como [Amazon S3](https://github.com/kanboard/plugin-s3).
|
||||
- Algunas funciones de Kanboard requieren que ejecute [un trabajo en segundo plano todos los días] (cronjob.markdown).
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
Requerimientos
|
||||
===============
|
||||
|
||||
Lado del servidor
|
||||
--------------------
|
||||
|
||||
### Sistemas operativos compatibles
|
||||
|
||||
| Sistemas operativos |
|
||||
|--------------------------------------|
|
||||
| Linux Ubuntu Xenial Xerus 16.04 LTS |
|
||||
| Linux Ubuntu Trusty 14.04 LTS |
|
||||
| Linux Centos 6.x |
|
||||
| Linux Centos 7.x |
|
||||
| Linux Redhat 6.x |
|
||||
| Linux Redhat 7.x |
|
||||
| Linux Debian 8 |
|
||||
| FreeBSD 10.x |
|
||||
| Microsoft Windows 2012 R2 |
|
||||
| Microsoft Windows 2008 |
|
||||
|
||||
### Base de datos compatibles
|
||||
|
||||
| Base de datos |
|
||||
|--------------------|
|
||||
| Sqlite 3.x |
|
||||
| Mysql >= 5.5 |
|
||||
| MariaDB >= 10 |
|
||||
| Postgresql >= 9.3 |
|
||||
|
||||
Qué base de datos para elegir?
|
||||
|
||||
| Tipo | Uso |
|
||||
|-----------------|-----------------------------------------------------|
|
||||
| Sqlite | un solo usuario o equipo pequeño (casi no hay concurrencia) |
|
||||
| Mysql/Postgres | Equipo grande, configuración de alta disponibilidad |
|
||||
|
||||
No usar Sqlite en montajes de NFS, use Sqlite solo cuando tengas un disco con Fast I/O
|
||||
|
||||
### Servidores Web Compatibles
|
||||
|
||||
| Servidores Web |
|
||||
|--------------------|
|
||||
| Apache HTTP Server |
|
||||
| Nginx |
|
||||
| Microsoft IIS |
|
||||
|
||||
Kanboard esta pre configurado para trabajar con Apache (URL rewriting).
|
||||
|
||||
### Versiones de PHP
|
||||
|
||||
| Versión de PHP |
|
||||
|----------------|
|
||||
| PHP >= 5.3.9 |
|
||||
| PHP 5.4 |
|
||||
| PHP 5.5 |
|
||||
| PHP 5.6 |
|
||||
| PHP 7.x |
|
||||
|
||||
### PHP Extensiones Requeridas
|
||||
|
||||
| PHP Extensiones Requeridas | Nota |
|
||||
|----------------------------|-------------------------------|
|
||||
| pdo_sqlite | Solo si usas Sqlite |
|
||||
| pdo_mysql | Solo si usas Mysql/MariaDB |
|
||||
| pdo_pgsql | Solo si usas Postgres |
|
||||
| gd | |
|
||||
| mbstring | |
|
||||
| openssl | |
|
||||
| json | |
|
||||
| hash | |
|
||||
| ctype | |
|
||||
| session | |
|
||||
| ldap | Solamente para autenticación LDAP |
|
||||
| Zend OPcache | Recomendado |
|
||||
|
||||
### Extensiones PHP opcionales
|
||||
|
||||
| PHP Extensiones Requeridas | Nota |
|
||||
|----------------------------|--------------------------------------------|
|
||||
| zip | Usado para instalar plugins desde Kanboard |
|
||||
|
||||
### Recomendaciones
|
||||
|
||||
- Usar sistemas operativos modernos de Linux o Unix.
|
||||
- El mejor performace se obtienen con la última versión de PHP junto con la operación de OPcode esta activado.
|
||||
|
||||
|
||||
Lado del cliente
|
||||
----------------
|
||||
|
||||
### Browsers [Navegadores]
|
||||
|
||||
Siempre usar el navegador mas moderno o la ultima versión posible:
|
||||
|
||||
| Browser |
|
||||
|---------------------------------------|
|
||||
| Safari |
|
||||
| Google Chrome |
|
||||
| Mozilla Firefox |
|
||||
| Microsoft Internet Explorer >= 11 |
|
||||
| Microsoft Edge |
|
||||
|
||||
### Dispositivos
|
||||
|
||||
| Device | Resolución de la pantalla |
|
||||
|-------------------|--------------------|
|
||||
| Laptop o desktop | >= 1366 x 768 |
|
||||
| Tablet | >= 1024 x 768 |
|
||||
|
||||
Kanboard aún no está optimizado para smartphones. Está funcionando, pero la interfaz de usuario no es muy cómoda de usar.
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
Autenticación por proxy inverso
|
||||
============================
|
||||
|
||||
Este metodo de autenticación a menudo es usado por [SSO](http://en.wikipedia.org/wiki/Single_sign-on) (Single Sign-On) especialmente para organizaciones mayores.
|
||||
|
||||
La autenticación se realiza mediante otro sistema, Kanboard no conoce su contraseña y supongamos que ya está autenticado.
|
||||
|
||||
Requerimentos
|
||||
------------
|
||||
|
||||
- Un proxy inverso bien configurado
|
||||
|
||||
o
|
||||
|
||||
- Apache Auth en el mismo servidor
|
||||
|
||||
|
||||
¿Como funciona esto?
|
||||
-------------------
|
||||
|
||||
1. Su proxy inverso autentica al usuario y envia el nombre de usuario a través de una cabecera HTTP.
|
||||
2. Kanboard recuperar el nombre de usuario de la solicitud
|
||||
- El usuario se crea automáticamente si es necesario
|
||||
- Abrir una nueva sesión Kanboard sin ningún símbolo asumiendo que es válida
|
||||
|
||||
Instrucciones de instalación
|
||||
----------------------------
|
||||
|
||||
### Configuración de su proxy inverso
|
||||
|
||||
Esto esta fuera del alcance de esta documentación.
|
||||
Debería comprobar la conexión del usuario ya que es enviado por el proxy inverso utilizando una cabecera HTTP.
|
||||
|
||||
### Configuración de Kanboard
|
||||
|
||||
Crear un archivo `config.php` copiar el archivo` config.default.php`:
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
// Activar / desactivar la autenticación del proxy inverso
|
||||
define('REVERSE_PROXY_AUTH', true); // Set this value to true
|
||||
|
||||
// La cabecera HTTP para recuperar. Si no se especifica, el valor por defecto es REMOTE_USER
|
||||
define('REVERSE_PROXY_USER_HEADER', 'REMOTE_USER');
|
||||
|
||||
// El Kanboard predeterminado esta el administrador para su organización.
|
||||
// Ya que todo debe ser filtrada por el proxy inverso,
|
||||
// Debe tener un usuario administrador para el arranque.
|
||||
define('REVERSE_PROXY_DEFAULT_ADMIN', 'myadmin');
|
||||
|
||||
// El dominio predeterminado para asumir la dirección de correo electrónico.
|
||||
// En caso de que el nombre de usuario no es una dirección de correo electrónico,
|
||||
// Se actualizará automáticamente como USER@mydomain.com
|
||||
define('REVERSE_PROXY_DEFAULT_DOMAIN', 'mydomain.com');
|
||||
```
|
||||
|
||||
Notas:
|
||||
|
||||
- Si el proxy esta en el mismo servidor Web que ejecuta Kanboard, según la [CGI protocol](http://www.ietf.org/rfc/rfc3875) el Header será `REMOTE_USER`. Por ejemplo, Apache añadir `REMOTE_USER` por defecto si` Require valid-usuario de la red se establece.
|
||||
|
||||
- Si Apache es un proxy inverso a otro Apache corriendo Kanboard, la cabecera `REMOTE_USER` no se establece (mismo comportamiento con IIS y Nginx)
|
||||
|
||||
- Si tu tienes un autentico reverse proxy, the [HTTP ICAP draft](http://tools.ietf.org/html/draft-stecher-icap-subid-00#section-3.4) proposes the header to be `X-Authenticated-User`. This de facto standard has been adopted by a number of tools.
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
Swimlanes
|
||||
=========
|
||||
|
||||
Swimlanes son separaciones horizontales en tu tablero.
|
||||
Por ejemplo, es útil para separar las versiones de software, dividir las tareas en diferentes productos, equipos o lo que quieras.
|
||||
|
||||
Tablero con swimlanes
|
||||
----------------------
|
||||
|
||||

|
||||
|
||||
- Tu puedes colapsar los swimlanes haciendo click en el icono de la izquierda
|
||||
- El swimlane por defecto se muestra siempre en la parte superior
|
||||
|
||||
La gestión de swimlanes
|
||||
-----------------------
|
||||
|
||||
- Todos los proyectos tienen un swimlane predeterminado.
|
||||
- Si hay más de un swimlane, el tablero mostrará todos swimlanes.
|
||||
- Usted puede arrastrar y soltar las tareas entre swimlanes.
|
||||
|
||||
Para configurar swimlanes ir a la página de **configuración del proyecto ** y elija la sección **Swimlanes**.
|
||||
|
||||
|
||||

|
||||
|
||||
A partir de ahí, se puede añadir un nuevo swimlane o cambiar el nombre por defecto.
|
||||
También puede desactivar y cambiar la posición de los diferentes swimlanes.
|
||||
|
||||
- El swimlane por defecto es siempre en la parte superior, pero se puede ocultarlo.
|
||||
- Swimlanes inactivas no se muestran en el tablero.
|
||||
- **Extracción de una swimlane no elimina tareas **, esas tareas se moverán a la swimlane predeterminada.
|
||||
|
||||
|
||||
Loading…
Reference in New Issue