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