Version | Date | Author | Comments |
1.0.1 | 4.04.2018 | Viktor Kushnir | |
1.0.2 | 6.07.2018 | Viktor Kushnir | json changesAddProject method changed |
Entities
Project
Describes the project
Field | Description |
id | Unique identifier |
name | Project’s name |
manager | Project manager’s name |
resourcepool.id | Id of resource pool should be used for this project |
steps | Array of Step entities |
Resource pool
Describes the resource pool
Field | Description |
id | Unique identifier |
resources | Array of Resource entities |
groups | Array of Group entities |
Step
Base entity for Task, Summary, Milestone, Start of Project, End of Project
Field | Description |
id | Unique identifier |
key | Identified which will be shown in Epicflow site |
type | Must be “task” |
parent | Id of parent summary, can be empty |
name | Name of task |
predecessors | Array of Predecessor entities, uses to describe relations between tasks |
notes | Task notes, will be visible at Epicflow site |
link | Http link to the issue in external system |
Task
Step entity, describes Task.
Field | Description |
assignments | Array of Assignment, uses to describe assignments |
readytostart | Marks if task can be started, default value – false |
Summary
Step entity, describes Summary.
Field | Description |
start | Start date of summary, can be empty |
end | End date of summary, can be empty |
Milestone
Step entity, describes the Milestone.
Field | Description |
deadline | Deadline of milestone, can be empty |
Start of project
Milestone entity, describes the Start milestone of project. Can be present just once per project. If omitted – Epicflow will calculate it automatically.
End of project
Milestone entity, describes the end milestone of project. If omitted – Epicflow will calculate it automatically.
Predecessor
Describes the relation between tasks
Field | Description |
id | Predecessor id, can be id of Task, Summary, Milestone, Start of Project, End of Project |
Assignment
Describes the assignment for specific task
Field | Description |
id | Unique identifier within the task |
resource.id | Unique resource id |
group.id | Unique group id |
remaining | Remaining work, in hours |
actual | Completed work, in hours |
units | Assigned units, default value 1. |
Resource
Describes the resource
Field | Description |
id | Unique identifier |
name | Resource name |
groups | Array of Group |
Resource’s email | |
start | The date when resource became available |
end | The date since resource become unavailable |
Group
Describes the group
Field | Description |
id | Unique identifier |
name | Resource name |
start | The date when group became available |
end | The date since group become unavailable |
ucltgroup | Marks group as uclt group, default value – 0 |
Authentication
Authentication | POST auth/1/session |
Returns session id, which must be used for all API requests as header – EpicflowSessionId.
Project
Get all project | GET rest/api/1/external/project |
Returns all projects
Get project |
GET rest/api/1/external/project/{id} |
Returns the project.
Add project |
PUT rest/api/1/external/project |
Adds project to Epicflow
Update project |
POST rest/api/1/external/project/{id} |
Full update of project.
Update project |
PATCH rest/api/1/external/project/{id} |
Modify specific field in project.
Delete project |
DELETE rest/api/1/external/project/{id} |
Deletes the project.
ResourcePool
Add or modify resources or groups.
Base url – api/1/external/resourcepool
Get resource pools |
GET rest/api/1/external/resourcepool |
Returns all resource pools
Add resource pool |
PUT rest/api/1/external/resourcepool |
Adds resource pool
Update resource pool |
POST rest/api/1/external/resourcepool/{id} |
Update resource pool |
PATCH rest/api/1/external/resourcepool/{id} |
Delete resource pool |
DELETE rest/api/1/external/resourcepool/{id} |
Groups
Base url api/1/resourcepool/{resourcepoolid}
Get groups for specific resource pool |
GET {groupurl}/group |
Add group |
PUT {groupurl}/group |
Get group |
GET {groupurl}/group/{id} |
Full update |
POST {groupurl}/group/{id} |
Partial update |
PATCH {groupurl}/group/{id} |
Delete group |
DELETE {groupurl}/group/{id} |
Resource
Base url for all requests – api/1/external/resourcepool/{resourcepoolid}
Get resource |
GET {resourceurl}/resource/{id} |
Add resource |
PUT {resourceurl}/resource |
Full update |
POST {resourceurl}/resource/{id} |
Partial update |
PATCH {resourceurl}/resource/{id} |
Delete resource |
DELETE {resourceurl}/resource/{id} |
Deletes specific resource.
Priority
Get all priorities per project | GET /priority |
Returns priorities per project
curl -i -X GET -H “Content-Type:application/json” -H “EpicflowSessionId:{your id}” https://epicflow.net/rest/api/1/priority
Get task for specific project | GET /priority/{projectId} |
Returns priorities for specific project
curl -i -X GET -H “Content-Type:application/json” -H “EpicflowSessionId:{your id}” https://epicflow.net/rest/api/1/priority/{projectId}
HTTP response status codes
Status 200 – OK – request applied
Status 201 – Created – item created
Status 401 – Unauthorized – session id invalid or expired
Status 403 – Forbidden – request forbidden
Status 404 – Not found – requested item not found
Status 409 – Conflict, Already present – cannot add item, already present