Iterations
Manage iterations and releases in TeamPulse. Releases are available with TeamPulse version R1 2014 (2014.1.0414). Releases are represented as iterations which are marked with the property isRelease. Releases could be set as parentId for an iteration.
GET /iterations/{id} - Get iteration by ID
GET /iterations - Get all iterations for the projects to which user has access to.
GET /projects/{projectId}/iterations - Get all iterations for a specific project
POST /iterations - Create an iteration
PUT /iterations/{id} - Update an iteration
DELETE /iterations/{id} - Delete an iteration
Iteration Model
The object representing an iteration has the following properties:
id: integer (Read-only)
- ID of the iteration.
projectId: integer (Required, Read-only)
- ID of the project to which the it belongs to.
parentId: integer
- ID of the parent. The value is -1 in case of a root item.
NOTE: The parentId of the root iteration cannot be changed.
name: string (Required)
- Name of the iteration.
path: string (Read-only)
- Path of the iteration.
sequence: integer
- Sequence order of the iteration in the list of iterations. If the sequence of 0 is supplied, the iteration will be ordered on top. If a sequence of some big number (i.e. 1000) is supplied, the iteration will be ordered at the bottom.
isRelease: bool
- Value is true when the iteration represents release.
startDate: DateTime
- Start date of the iteration. If not supplied, it is set to the current date + 7 days.
endDate: DateTime
- End date of the iteration. If not supplied, it is set to the current date + 21 days.
minCapacity: float
- Minimum capacity of the iteration in story points.
maxCapacity: float
- Maximum capacity of the iteration in story points.
createdBy: string
- The name of the user who created the iteration
createdAt: DateTime
- The date when the iteration is created
lastModifiedBy: string
- The name of the user who last modified the iteration
lastModifiedAt: DateTime
- The date when the iteration is last modified
Resource Url
To make API requests use the URL [teampulse]/api/v1 where [teampulse] is the URL to the TeamPulse instance which you want to manage via the API.
Example:
[teampulse]/api/v1/iterations
Get iteration
GET /iterations/{id}
Response
HTTP/1.1 200
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"minCapacity": 1.1,
"maxCapacity": 1.1,
"id": 1,
"name": "Sample name 1",
"path": "Release name\\Sample name 1",
"parentId": 2,
"sequence": 1,
"isRelease": false,
"projectId": 1,
"createdBy": "Paul Smith",
"createdAt": "2013-06-20T10:10:00",
"lastModifiedBy": "Paul Smith",
"lastModifiedAt": "2013-06-20T11:45:00"
}
Get all iterations
GET /iterations : Get all iterations for the projects to which the user has access to.
GET /projects/{projectId}/iterations: Get iterations for a specific project
OData $filter and $orderby options can be supplied to filter and order the results. $top and $skip to get top N items and skip the top M. Read more how to use the OData options
Response
HTTP/1.1 200
{
"totalResults": 3,
"top": 3,
"results": [
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"minCapacity": 1.1,
"maxCapacity": 1.1,
"id": 1,
"name": "Project",
"path": "",
"parentId": -1,
"sequence": 0,
"isRelease": true,
"projectId": 1,
"createdBy": "Paul Smith",
"createdAt": "2013-06-20T10:10:00",
"lastModifiedBy": "Paul Smith",
"lastModifiedAt": "2013-06-20T11:45:00"
},
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"minCapacity": 1.1,
"maxCapacity": 1.1,
"id": 2,
"name": "Release name",
"path": "Release name",
"parentId": 1,
"sequence": 2,
"isRelease": true,
"projectId": 1,
"createdBy": "Paul Smith",
"createdAt": "2013-06-20T10:10:00",
"lastModifiedBy": "Paul Smith",
"lastModifiedAt": "2013-06-20T11:45:00"
},
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"minCapacity": 1.1,
"maxCapacity": 1.1,
"id": 3,
"name": "Sample name",
"path": "Release name\\Sample name",
"parentId": 2,
"sequence": 3,
"isRelease": false,
"projectId": 1,
"createdBy": "Paul Smith",
"createdAt": "2013-06-20T10:10:00",
"lastModifiedBy": "Paul Smith",
"lastModifiedAt": "2013-06-20T11:45:00"
}
]
}
Create an iteration
POST /iterations
Request
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"minCapacity": 1.1,
"maxCapacity": 1.1,
"name": "Sample name 1",
"path": "Sample name 1",
"parentId": 1,
"sequence": 1,
"isRelease": false,
"projectId": 1
}
Response
HTTP/1.1 201
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"minCapacity": 1.1,
"maxCapacity": 1.1,
"id": 1,
"name": "Sample name 1",
"path": "Project name\\Sample name 1",
"parentId": 1,
"sequence": 1,
"isRelease": false,
"projectId": 1,
"createdBy": "Paul Smith",
"createdAt": "2013-06-20T10:10:00",
"lastModifiedBy": "Paul Smith",
"lastModifiedAt": "2013-06-20T10:10:00",
}
Update an iteration
PUT /iterations/{id}
Request
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"name": "Sample name 1",
"sequence": 1
}
Response
HTTP/1.1 200
{
"startDate": "2013-10-02",
"endDate": "2013-10-02",
"minCapacity": 1.1,
"maxCapacity": 1.1,
"id": 1,
"name": "Sample name 1",
"path": "Project name\\Sample name 1",
"parentId": 1,
"sequence": 1,
"isRelease": false,
"projectId": 1,
"createdBy": "Paul Smith",
"createdAt": "2013-06-20T10:10:00",
"lastModifiedBy": "Paul Smith",
"lastModifiedAt": "2013-06-20T11:45:00",
}
Delete an iteration
DELETE /iterations/{id}?reassignmentId={reassignmentId}
reassignmentId - The ID of the iteration to which the items under the deleted one to be reassigned. Default value is the root iteration.
Response
HTTP/1.1 200