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 } ```