2018-11-01 | API Changes with upcoming Server release

Along with the Server update being released end of November 2018, there are important API changes being introduced

The latest Tempo for Server release includes several new features and changes, including a new set of permissions. The existing APIs don’t support these new permissions, among other items (e.g. invalid worklogs) and so some APIs are being deprecated.

The table below outlines the API changes with this release:

APIEndpointVersionChangeReasonUse CaseAvailable workarounds








Tempo Timesheets REST API

/rest/tempo-timesheets/3/worklogs/timespent

3

Removed

This REST endpoint does not support the new team permissions and will be removed.

Note that this API has been slated for deprecation and has not been described in our documentation for some time now.

Get time spent based on JQL via API

  1. Use the worklogs endpoint and retrieve the time spent from returned worklogs.

NOTE that it is not possible to use JQL with the worklogs endpoint.


  1. Create custom reports using JQL filters to retrieve the information you need.

Tempo Teams REST API

/rest/tempo-teams/2/permission

2

Removed

This REST endpoint does not support the new team permissions.

Set team permissions via API

No alternative at this time.

Tempo Timesheets Servlet API

/plugins/servlet/tempo-getWorklog

N/A

Parameter errorsOnly no longer supports invalid worklogs. This endpoint will only consider missing billingKey and external error, when this parameter is set to true, i.e. it will return worklogs that either don't have billingKey or that have an external error.

Invalid worklogs based on Staff ID, custom expression are no longer supported.

Returns a list of worklogs that the external system marked as error, or those that are not valid for export (missing billingKey or staffId or expression is invalid)

See also 

https://tempoplugin.jira.com/wiki/spaces/TEMPO/pages/172785794/Invalid+worklogs

Used to get a list of worklogs that were marked with "external error" by an external system, or when using the invalid worklogs feature, worklogs that are invalid based on missing staffId or expression would be returned with by method.

Implement appropriate validation checks in integration code.

After the change, customers can still get worklogs that don't have billingKey, but we are no longer validating worklogs based on staffID being present, or the expression not being met.

Possible workarounds:

We're still returning the staffID with each worklog through this servlet, so customers can do required checks externally.

Customers can manually create JQL filters in the Custom Report to look for worklogs on issues based on criteria defined by the expression. We will no longer do any automatic validation, or return worklogs based on this expression when using the servlet.




Parameter validOnly no longer supports invalid worklogs. This parameter will now only consider missing billingKeywhen set to true, i.e. it will NOT return worklogs that do not have billingKey set.

Invalid worklogs based on Staff ID, custom expression and external errors are no longer supported.

Returns a list of worklogs that are valid for import, i.e. have both billingKey and staffID and expression

This is effectively the reverse of errorsOnly, with the exception of the external error message.

When using this parameter, the servlet only returns worklogs that customers have not marked with external errors.

Process worklogs externally, i.e. implement any required worklog validation outside of Tempo.

Other plugins for validation of worklogs may be used, such as script runner.

Can still use this in conjunction with the billingKey, i.e. when you want to get only worklogs that have the billingKey set.

Tempo Accounts REST API Documentation/rest/tempo-accounts/1/account/1Removed rate tables from contract

For performance reasons we are removing rate tables from the account search (which was returned when expanding accounts)




As always, if you have any questions, please don’t hesitate to reach out to our support team.

Cheers,

Team Tempo