Document toolboxDocument toolbox

Tempo for Server Code Deprecation and Removal

In order to minimize negative customer impact and ensure our products are of consistently the highest quality, Tempo has developed a Code Deprecation and Removal Policy to determine when and how we remove outdated code from our Server products. This policy and related communication is specifically intended to ensure that customers have ample time to prepare when we deprecate code that may have been used as a point of integration, such as:

  • Rest APIs
  • Exposed Java Services
  • Database tables
  • Java events
  • Javascript events

Generally speaking, the Code Deprecation and Removal Policy encompasses the following:

  • Tempo will remove code integration points annually in October as part of a major release.
  • Customers will be notified about the code deprecation at least 3 months in advance before the removal. This will be done via Tempo's Server Release Notes as well as other communication channels (e.g. Tempo Updates, emails and newsletter posts).
  •  Customers will be able to refer to this page to see what integration points will be targeted for the next removal.

Please note that Tempo does not provide support for code once it has been removed. 

The table below shows the code integration points which are currently targeted for deprecation and removal: 

Deprecated API Path / LocationPublic?Reason for DeprecationUse CaseAvailable WorkaroundsPlanned Removal
JAVA APIPeriodConfiguration.START_DAY_MAXNoUnused by production code.A constant that stores the maximum day available for the start day.No workaround is known.October 2023
JAVA APIPeriodConfiguration.START_MONTH_MINNoUnused by production code.A constant that stores the minimum day available for the start month.No workaround is known.October 2023
JAVA APIPeriodConfiguration.START_MONTH_MAXNoUnused by production code.A constant that stores the maximum day available for the start month.No workaround is known.October 2023
JAVA APIPeriodConfiguration.Builder.Builder(int, int)NoUnused by production code.Add a new period rule.Use another similar constructor from the same class.October 2023
JAVA APIPeriodConfiguration.Builder.startDayNoUnused by production code.Update the start day of a period rule.No workaround is known.October 2023
JAVA APIGlobalConfigurationService.userCanPlanForTeamsNo

Unused by production code.

For legacy support of timesheets.

Stores the information about the user's ability to create plans for teams.No workaround is known.October 2023
JAVA APIGlobalConfigurationService.userCanPlanForSelfNo

Unused by production code.

For legacy support of timesheets.

Stores the information about the user's ability to create plans for himself.No workaround is known.October 2023
JAVA APIPlannerLicenseProvider.showTempoMenuNoUnused by production code.Shows the Time Menu with information about the license's validity.No workaround is known.October 2023
JAVA API


TeamService.getFutureUsersNoUnused by production code since January 2021.Retrieves a collection of TeamMember objects with a future TeamMembership after a specified date.No workaround is known.October 2023
JAVA API


TeamService.getMembershipsForUserInperiod(
     TempoUser user,
     LocalDate from,
     LocalDate to

)
NoUnused by production code since April 2020.Retrieve a collection of TeamMembership objects for a specific user within a specified date range.

Use



TeamService.getMembershipsForUserInPeriod(
    TempoUser user,
    LocalDateRange dateRange
)



October 2023
JAVA APITeamService.removeProgramFromTeam (interface/impl)NoUnused by production code since March 2021.Remove a program from a team.Use setProgram instead.October 2023
JAVA APIWorklogAttributesResource (v3)YesReplaced by WorkAttribute (v4)Manage Worklog AttributesUse rest/tempo-core/1/work-attributeOctober 2023
JAVA APIWorklogBean.originNoReplaced by getMetaOptional statisticsUse getMeta methodOctober 2023
JAVA APIWorklogBean.getOriginNoReplaced by metaOptional statisticsUse meta objectOctober 2023
JAVA APITempoWorklogManager.updateWorklogHoursNoBetter alternative, no longer usedUpdate worklog hoursUse TempoWorklogManager.updateWorklogOctober 2023
JAVA APITempoWorklogManager.updateWorklogDateNoBetter alternative, no longer usedUpdate worklog dateUse TempoWorklogManager.updateWorklogOctober 2023
JAVA APITempoWorklogManager.updateWorklogDescriptionNoBetter alternative, no longer used Update worklog decriptionUse TempoWorklogManager.updateWorklogOctober 2023
POST/tempo-rest/1/config/period/status
is.origo.jira.plugin.rest.TempoConfigResource#updatePeriodStatus
Yesdeprecated since v8.2.0Update period statusUse TempoWorklogManager.updateWorklogOctober 2023
JAVA APIAccountManager.getViewableCategoriesForLoggedInUser(Collection<Account>)NoNo longer used after earlier deprecation removalsInternalUse AccountManager.getViewableCustomersForLoggedInUser()October 2023
Java APIWorkAttributeAccessManager.validateBrowsePermission()YesNo longer used after earlier deprecation removalsInternalUse Jira's API to check this Jira permissionOctober 2022

Java API

WorkAttributeValueService.getWorkAttributeValueById()

YesNo longer used after earlier deprecation removalsInternalUse other APIs within WorkAttributeValueService to retrieve the work attribute's value, e.g. getWorkAttributeValuesByWorklogOctober 2022

POST worklog attributes

/rest/tempo-rest/2.0/worklogs/{worklogId}/attributes

No

Better alternative, deprecated since Timesheets 8.0.0.

Update work attributes of a worklog

Update a worklog with its work attributes.

https://www.tempo.io/server-api-documentation/timesheets#operation/updateWorklog_1

October 2021

GET worklog attributes

/rest/tempo-core/1/work-attribute/value

Yes

It is not compatible with Tempo Team permissions.

Get all work attribute values of a worklog

Get a worklog and its work attributes.

https://www.tempo.io/server-api-documentation/timesheets#operation/getWorklog_1

October 2021

POST worklog attribute

/rest/tempo-core/1/work-attribute/value

Yes

It is not compatible with Tempo Team permissions.

Create a single work attribute for a worklog

Update a worklog and its work attributes. Work attributes can be partially updated.

https://www.tempo.io/server-api-documentation/timesheets#operation/updateWorklog_1

October 2021

GET single worklog attribute value

/rest/tempo-core/1/work-attribute/value/{id}

Yes

It is not compatible with Tempo Team permissions.

Get a single work attribute value by id

Get a worklog and its work attributes.

https://www.tempo.io/server-api-documentation/timesheets#operation/getWorklog_1

October 2021

PUT worklog attribute

/rest/tempo-core/1/work-attribute/value/{id}

Yes

It is not compatible with Tempo Team permissions.

Update a single work attribute value

Update a worklog and its work attributes. Work attributes can be partially updated.

https://www.tempo.io/server-api-documentation/timesheets#operation/updateWorklog_1

October 2021

DELETE worklog attribute

/rest/tempo-core/1/work-attribute/value/{id}

Yes

It is not compatible with Tempo Team permissions.

Delete a single work attribute value

Update a worklog and its work attributes. Work attributes can be partially updated.

https://www.tempo.io/server-api-documentation/timesheets#operation/updateWorklog_1

October 2021

POST user search

/rest/tempo-core/1/users/search

No

We need the endpoint to return deleted users as well and we no longer want to support searching by username (only by key).

Search for users

If any customer is using this private endpoint, they can switch to using the new endpoint that our own frontend uses as well:

/rest/tempo-core/1/users/searchByKey

October 2021