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.
The table below shows the code integration points which are currently targeted for deprecation and removal:Â
Deprecated APIÂ | Path / Location | Public? | Reason for Deprecation | Use Case | Available Workarounds | Planned Removal |
---|---|---|---|---|---|---|
JAVA API | PeriodConfiguration.START_DAY_MAX | No | Unused by production code. | A constant that stores the maximum day available for the start day. | No workaround is known. | October 2023 |
JAVA API | PeriodConfiguration.START_MONTH_MIN | No | Unused by production code. | A constant that stores the minimum day available for the start month. | No workaround is known. | October 2023 |
JAVA API | PeriodConfiguration.START_MONTH_MAX | No | Unused by production code. | A constant that stores the maximum day available for the start month. | No workaround is known. | October 2023 |
JAVA API | PeriodConfiguration.Builder.Builder(int, int) | No | Unused by production code. | Add a new period rule. | Use another similar constructor from the same class. | October 2023 |
JAVA API | PeriodConfiguration.Builder.startDay | No | Unused by production code. | Update the start day of a period rule. | No workaround is known. | October 2023 |
JAVA API | GlobalConfigurationService.userCanPlanForTeams | No | 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 API | GlobalConfigurationService.userCanPlanForSelf | No | 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 API | PlannerLicenseProvider.showTempoMenu | No | Unused by production code. | Shows the Time Menu with information about the license's validity. | No workaround is known. | October 2023 |
JAVA API | TeamService.getFutureUsers | No | Unused 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 ) | No | Unused 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 API | TeamService.removeProgramFromTeam (interface/impl) | No | Unused by production code since March 2021. | Remove a program from a team. | Use setProgram instead. | October 2023 |
JAVA API | WorklogAttributesResource (v3) | Yes | Replaced by WorkAttribute (v4) | Manage Worklog Attributes | Use rest/tempo-core/1/work-attribute | October 2023 |
JAVA API | WorklogBean.origin | No | Replaced by getMeta | Optional statistics | Use getMeta method | October 2023 |
JAVA API | WorklogBean.getOrigin | No | Replaced by meta | Optional statistics | Use meta object | October 2023 |
JAVA API | TempoWorklogManager.updateWorklogHours | No | Better alternative, no longer used | Update worklog hours | Use TempoWorklogManager.updateWorklog | October 2023 |
JAVA API | TempoWorklogManager.updateWorklogDate | No | Better alternative, no longer used | Update worklog date | Use TempoWorklogManager.updateWorklog | October 2023 |
JAVA API | TempoWorklogManager.updateWorklogDescription | No | Better alternative, no longer used | Update worklog decription | Use TempoWorklogManager.updateWorklog | October 2023 |
POST | /tempo-rest/1/config/period/status is.origo.jira.plugin.rest.TempoConfigResource#updatePeriodStatus | Yes | deprecated since v8.2.0 | Update period status | Use TempoWorklogManager.updateWorklog | October 2023 |
JAVA API | AccountManager.getViewableCategoriesForLoggedInUser(Collection<Account>) | No | No longer used after earlier deprecation removals | Internal | Use AccountManager.getViewableCustomersForLoggedInUser() | October 2023 |
Java API | WorkAttributeAccessManager.validateBrowsePermission() | Yes | No longer used after earlier deprecation removals | Internal | Use Jira's API to check this Jira permission | October 2022 |
Java API |
| Yes | No longer used after earlier deprecation removals | Internal | Use other APIs within WorkAttributeValueService to retrieve the work attribute's value, e.g. getWorkAttributeValuesByWorklog | October 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 |