Jump to: navigation, search

Difference between revisions of "StoryBoard/RestAPI"

 
(4 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
* Only a super-priviledged Users can perform Storyboard management actions. (create a Project Group, grant other privileges, etc.)
 
* Only a super-priviledged Users can perform Storyboard management actions. (create a Project Group, grant other privileges, etc.)
  
== Project Group Operations ==
+
== Project Group and Project Operations ==
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 16: Line 16:
 
|-
 
|-
 
| GET || /project_groups/(group_name) || Returns a Project Group by it's name. || none
 
| GET || /project_groups/(group_name) || Returns a Project Group by it's name. || none
 +
|-
 +
| GET || /project_groups/(group_name)/projects || Returns a list of Projects in the Project Group by it's name. || none
 +
|-
 +
| GET || /project_groups/(group_name)/projects/(project_name) || Returns a Project in the Project Group by it's name. || none
 
|-
 
|-
 
| POST || /project_groups || Creates a new Project Group. || Authorized, StoryboardAdmin
 
| POST || /project_groups || Creates a new Project Group. || Authorized, StoryboardAdmin
 
|-
 
|-
| PUT || /project_groups/(group_name) || Updates a Project Group named (group_name) with new properties. || Authorized, StoryboardAdmin
+
| POST || /project_groups/(group_name)/projects || Creates a new Project in a Project Groups. || Authorized, Admin in Project Group or higher
 +
|-
 +
| PUT || /project_groups/(group_name) || Updates a Project Group named (group_name) with new properties. || Authorized, Admin in Project Group or higher
 +
|-
 +
| PUT || /project_groups/(group_name)/projects/(project_name) || Updates a Project named (project_name). || Authorized, Admin in Project or higher
 
|-
 
|-
 
| DELETE || /project_groups/(group_name) || Deletes a Project Group named (group_name) || Authorized, StoryboardAdmin
 
| DELETE || /project_groups/(group_name) || Deletes a Project Group named (group_name) || Authorized, StoryboardAdmin
 +
|-
 +
| DELETE || /project_groups/(group_name)/projects/(project_name) || Deletes a Project named (project_name) || Authorized, Admin in Project Group or higher
 
|}
 
|}
 
== Project Operations ==
 
(TBD)
 
  
 
== Branch Operations ==
 
== Branch Operations ==

Latest revision as of 12:45, 27 November 2013

Basic Concepts

Storyboard REST API should be considered as the only instrument to communicate with Storyboard.

  • Most of read operations are accessible without any authorization.
  • User should be authorized to perform non-administrative actions. (create a Story, change a Task status, etc.)
  • User should be authorized and have special privileges to perform administrative actions. (create a Project in a Project Group, change Task Priority, etc.)
  • Only a super-priviledged Users can perform Storyboard management actions. (create a Project Group, grant other privileges, etc.)

Project Group and Project Operations

HTTP Method URL Description Required Permissions
GET /project_groups Returns a list of all existing Project Groups. none
GET /project_groups/(group_name) Returns a Project Group by it's name. none
GET /project_groups/(group_name)/projects Returns a list of Projects in the Project Group by it's name. none
GET /project_groups/(group_name)/projects/(project_name) Returns a Project in the Project Group by it's name. none
POST /project_groups Creates a new Project Group. Authorized, StoryboardAdmin
POST /project_groups/(group_name)/projects Creates a new Project in a Project Groups. Authorized, Admin in Project Group or higher
PUT /project_groups/(group_name) Updates a Project Group named (group_name) with new properties. Authorized, Admin in Project Group or higher
PUT /project_groups/(group_name)/projects/(project_name) Updates a Project named (project_name). Authorized, Admin in Project or higher
DELETE /project_groups/(group_name) Deletes a Project Group named (group_name) Authorized, StoryboardAdmin
DELETE /project_groups/(group_name)/projects/(project_name) Deletes a Project named (project_name) Authorized, Admin in Project Group or higher

Branch Operations

(TBD)

Milestone Operations

(TBD)

Story Operations

(TBD)

Task Operations

(TBD)

Comment Operations

(TBD)

User Operations

(TBD)

Role Operations

(TBD)

Permission Operations

(TBD)