1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/kanboard_ynh.git synced 2024-09-03 19:36:17 +02:00
kanboard_ynh/sources/doc/api-project-procedures.markdown
2015-12-29 01:24:09 +01:00

512 lines
8.5 KiB
Markdown

API Project Procedures
======================
### createProject
- Purpose: **Create a new project**
- Parameters:
- **name** (string, required)
- **description** (string, optional)
- Result on success: **project_id**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "createProject",
"id": 1797076613,
"params": {
"name": "PHP client"
}
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1797076613,
"result": 2
}
```
### getProjectById
- Purpose: **Get project information**
- Parameters:
- **project_id** (integer, required)
- Result on success: **project properties**
- Result on failure: **null**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getProjectById",
"id": 226760253,
"params": {
"project_id": 1
}
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 226760253,
"result": {
"id": "1",
"name": "API test",
"is_active": "1",
"token": "",
"last_modified": "1436119135",
"is_public": "0",
"is_private": "0",
"is_everybody_allowed": "0",
"default_swimlane": "Default swimlane",
"show_default_swimlane": "1",
"description": "test",
"identifier": "",
"url": {
"board": "http:\/\/127.0.0.1:8000\/?controller=board&action=show&project_id=1",
"calendar": "http:\/\/127.0.0.1:8000\/?controller=calendar&action=show&project_id=1",
"list": "http:\/\/127.0.0.1:8000\/?controller=listing&action=show&project_id=1"
}
}
}
```
### getProjectByName
- Purpose: **Get project information**
- Parameters:
- **name** (string, required)
- Result on success: **project properties**
- Result on failure: **null**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getProjectByName",
"id": 1620253806,
"params": {
"name": "Test"
}
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1620253806,
"result": {
"id": "1",
"name": "Test",
"is_active": "1",
"token": "",
"last_modified": "1436119135",
"is_public": "0",
"is_private": "0",
"is_everybody_allowed": "0",
"default_swimlane": "Default swimlane",
"show_default_swimlane": "1",
"description": "test",
"identifier": "",
"url": {
"board": "http:\/\/127.0.0.1:8000\/?controller=board&action=show&project_id=1",
"calendar": "http:\/\/127.0.0.1:8000\/?controller=calendar&action=show&project_id=1",
"list": "http:\/\/127.0.0.1:8000\/?controller=listing&action=show&project_id=1"
}
}
}
```
### getAllProjects
- Purpose: **Get all available projects**
- Parameters:
- **none**
- Result on success: **List of projects**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getAllProjects",
"id": 2134420212
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 2134420212,
"result": [
{
"id": "1",
"name": "API test",
"is_active": "1",
"token": "",
"last_modified": "1436119570",
"is_public": "0",
"is_private": "0",
"is_everybody_allowed": "0",
"default_swimlane": "Default swimlane",
"show_default_swimlane": "1",
"description": null,
"identifier": "",
"url": {
"board": "http:\/\/127.0.0.1:8000\/?controller=board&action=show&project_id=1",
"calendar": "http:\/\/127.0.0.1:8000\/?controller=calendar&action=show&project_id=1",
"list": "http:\/\/127.0.0.1:8000\/?controller=listing&action=show&project_id=1"
}
}
]
}
```
### updateProject
- Purpose: **Update a project**
- Parameters:
- **id** (integer, required)
- **name** (string, required)
- **description** (string, optional)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "updateProject",
"id": 1853996288,
"params": {
"id": 1,
"name": "PHP client update"
}
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1853996288,
"result": true
}
```
### removeProject
- Purpose: **Remove a project**
- Parameters:
**project_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "removeProject",
"id": 46285125,
"params": {
"project_id": "2"
}
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 46285125,
"result": true
}
```
### enableProject
- Purpose: **Enable a project**
- Parameters:
- **project_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "enableProject",
"id": 1775494839,
"params": [
"1"
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1775494839,
"result": true
}
```
### disableProject
- Purpose: **Disable a project**
- Parameters:
- **project_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "disableProject",
"id": 1734202312,
"params": [
"1"
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1734202312,
"result": true
}
```
### enableProjectPublicAccess
- Purpose: **Enable public access for a given project**
- Parameters:
- **project_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "enableProjectPublicAccess",
"id": 103792571,
"params": [
"1"
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 103792571,
"result": true
}
```
### disableProjectPublicAccess
- Purpose: **Disable public access for a given project**
- Parameters:
- **project_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "disableProjectPublicAccess",
"id": 942472945,
"params": [
"1"
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 942472945,
"result": true
}
```
### getProjectActivity
- Purpose: **Get activity stream for a project**
- Parameters:
- **project_id** (integer, required)
- Result on success: **List of events**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getProjectActivity",
"id": 942472945,
"params": [
"project_id": 1
]
}
```
### getProjectActivities
- Purpose: **Get Activityfeed for Project(s)**
- Parameters:
- **project_ids** (integer array, required)
- Result on success: **List of events**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getProjectActivities",
"id": 942472945,
"params": [
"project_ids": [1,2]
]
}
```
### getMembers
- Purpose: **Get members of a project**
- Parameters:
- **project_id** (integer, required)
- Result on success: Key/value pair of user_id and username
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "getMembers",
"id": 1944388643,
"params": [
1
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 1944388643,
"result": {
"1": "user1",
"2": "user2",
"3": "user3"
}
}
```
### revokeUser
- Purpose: **Revoke user access for a given project**
- Parameters:
- **project_id** (integer, required)
- **user_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "revokeUser",
"id": 251218350,
"params": [
1,
2
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 251218350,
"result": true
}
```
### allowUser
- Purpose: **Grant user access for a given project**
- Parameters:
- **project_id** (integer, required)
- **user_id** (integer, required)
- Result on success: **true**
- Result on failure: **false**
Request example:
```json
{
"jsonrpc": "2.0",
"method": "allowUser",
"id": 2111451404,
"params": [
1,
2
]
}
```
Response example:
```json
{
"jsonrpc": "2.0",
"id": 2111451404,
"result": true
}
```