The current API for GET PLANS does not contain the planned time per day, instead it describes the plan, its start/end date, any recurrence and the planned time for each period (one or more in the case of recurrence).
Consider the scenario of wanting to export the planned time per day to a third party system e.g. a reporting/BI system in order to compare and combine this data with costs, contracts, and so on.
To get the daily planned time out of Tempo with the provided API, one needs to carry out
1) the call to get the plan itself (use of updatedFrom helps incrementally get changed plans only, but is not as effective as it should - see below)
2) for each period (results/dates/values) and day within each, a call to get the actual daily planned allocated time for that day.
For large implementations with thousands of plans, each spanning hundreds of planned days, this means many thousands of API calls.
This is :
a) putting load on the tempo api servers (we know, we get timeouts)
b) is an ineffective pattern (payload and timing, restricting polling windows).
In order to minimise the number of calls, and optimise the integration pattern, we propose two enhancements to the plan API :
1) the current implementation of the updatedFrom query parameter takes only "yyyy-MM-dd" as an input - why ? the underlying updatedAt attribute is in a UTC timestamp. The query parameter should allow for the same. Limiting it to date means there is no sense in polling more than once a day. Please can this be reconsidered.
2) provide a new parameter (expand) or a new api entirely for returning the plannedtime for each day included in a plan. Similar to the array within results/dates/values, but expanded further to daily (rather than from/to period). This could be optional with the use of an "expand" parameter (for reference https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion)
Tempo Products | Tempo Planner |
Tempo Platform | Cloud |
Hwy @nicholas this is shipped and we messaged you on slack. Hope it's working fine.