REST API Reports are similar to custom Tabular Reports. They allow you to extract data from the system in the XML or JSON format. Both formats are not very visual and readable for the human eye, but they can be used as valuable input for your custom integration scripts and standalone applications. Fortunately enough, MS Excel accepts XML files as a data source as well.
Here are some samples of REST API queries that will help you to build the report for Time. You are welcome to combine or modify each of the samples to better fit your requirements.
Extracts all Times posted in the system, contains the first 25 items by default, and has XML format by default. Records in the output are not sorted.
Takes the first 1000 items at a time. 1000 is the limit here, it is not possible to extract more at a time.
Takes the second page of the output: skips the first 25 entries and takes the next 25.
GET /api/v1/Times?where=(Date gte '2017-08-01') and (Date lte '2017-09-01')
Filters Time records by date range: date is between Aug 1, 2017 to Sep 1, 2017 inclusively.
GET /api/v1/Times?where=Description contains 'refactoring'
Filters Time records by a given word in the Time record Description field.
GET /api/v1/Times?where=Project.Name eq 'TP3'
Filters Time records by the Name of a Project. You can filter by any other attribute of the Project object as well.
GET /api/v1/Times?where=User.LastName eq 'Brown'
Filters Time records posted by a specific User. You can filter by any other attribute of the User object as well.
GET /api/v1/Times?where=Role.Name eq 'Developer'
Filters Time records posted by Users with a specific Role. You can filter by any other attribute of the Role object as well.
GET /api/v1/Times?where=Assignable.Id eq '110'
Filters Time records added against the Assignable with the specified ID. You can filter by any other attribute of the Assignable object as well.
Specifies fields to be included in the report.
GET /api/v1/Times?orderBy=CreateDate GET /api/v1/Times?orderByDesc=CreateDate
Sorts data output by a specific field forwards or backwards.
Provides JSON-formatted output instead of default XML format.
Below you will find several sample API queries for data aggregation:
Gives you the list of all User Stories including Id, Name, and totals by Effort (in Points or Ideal hours) and Time (in real Hours). If your Report is based on a User Story entity, the Time Spent column is always a sum of Times Spent for the User Story itself plus Times Spent for all child Tasks.
Filters the list of all Iterations, includes Id, Name, Start and End date, Planned Velocity for each Iteration and calculates the following summary values:
- Sum of Time Spent for all User Stories in the Iteration
- Sum of Time Spent for all Bugs in the Iteration
- Sum of Completed Effort for all User Stories in the Iteration (sums for child Tasks are included there!)
- Sum of Completed Effort for all Bugs in the Iteration
Sums of Effort Completed give you real velocity (in Ideal Hours or Points) achieved in the Iteration, while sums of Time Spent show the amount of real hours spent. It allows you to compare the values and report Estimation Accuracy.
You are welcome to build similar REST API reports using the following objects: Releases, TeamIterations, Assignables, Projects, Teams.
Updated almost 5 years ago