This page covers changes in JIRA 7.6 that can affect add-on compatibility and functionality. This includes changes to the JIRA platform and the JIRA applications (JIRA Core, JIRA Software, JIRA Service Desk).
As a rule, Atlassian makes every effort to inform add-on developers of known API changes as far in advance as possible. Where possible, we attach release targets. Unless otherwise indicated, every change on this page is expected to be released with the first public release of the JIRA Server 7.6 products. We also make release milestones available prior to the release:
We will update this page as development progresses, so please stay tuned for more updates. We also recommend following the JIRA news on Atlassian Developers blog for important announcements and helpful articles.
The risk level indicates the level of certainty we have that things will break if you are in the "Affected" column and you don't make the necessary changes.
Change. Platform/Application | Risk level. Affects |
---|---|
Change: Priority schemes (UI changes) Platform/Application: JIRA Core, JIRA Software | Risk level: medium Affects: Add-on developers using APIs to manage priorities in JIRA, and administrators. With JIRA 7.6, we're introducing priority schemes that change the way priorities are managed. Now, by using priority schemes, you can associate different sets of priorities with your project. This doesn't change your configuration until you create some schemes and make use of them. After the upgrade, all priorities are moved to the default priority scheme, which works like a global list of priorities (always includes all existing priorities). The default priority scheme can't be edited or deleted. |
Change: Priority schemes (API changes) Platform/Application: JIRA Core, JIRA Software
| Risk level: medium Affects: Add-on developers using APIs to manage priorities in JIRA. Together with priority schemes, we've added and changed some APIs so that plugins can manage them. |
Change: API changes - experimental API Platform/Application: JIRA Service Desk | Risk level:low Affects: With an upcoming release of JIRA Service Desk, a number of the methods in our API will be moving out of the experimental state and in to standard API state. For most of these components the API will remain unchanged, but for some there will be adjustments which will represent a breaking change. |
All changes in JIRA platform are also relevant for JIRA Core and JIRA Software.
For more information about managing priority schemes in the UI, see release notes.
If you're a plugin developer, and want your plugin to manage priority schemes, take a look at this list of API changes. We've not only added new APIs that allow plugins to manage priority schemes, but we also changed the existing ones, which will most likely make your plugins incompatible. This is for priority schemes, the APIs for managing priorities don't change, but bear in mind that the current global list of priorities now becomes the default priority scheme, so your plugins might retrieve inaccurate data regarding priorities themselves.
We're adding these APIs to allow plugins to manage priority schemes.
Classname - com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManager
Method signatures:
Method signature | Javadoc |
---|---|
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
| Doc |
We're also adding new events for whenever a priority scheme is created, updated, or deleted.
Classname - com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManager
Event | Javadoc |
---|---|
| Doc |
| Doc |
| Doc |
Some APIs also receive additional options, so that priorities are added or removed from priority schemes.
Classname - com.atlassian.jira.config.PriorityManager
Method signature | Change | Javadoc |
---|---|---|
createPriority | In addition to creating a priority, also adds this priority to the default priority scheme. | Doc |
removePriority | In addition to removing a priority, also removes this priority from all priority schemes. | Doc |
These APIs are deprecated, and replaced by the new PrioritySchemeManager class.
Method signatures:
setDefaultPriority
Replacement:
com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManager
#setDefaultOption(FieldConfig, String)
getDefaultPriority
Replacement:
com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManager
#getDefaultOption(IssueContext)
Method signatures:
getDefaultPriority
Replacement:
com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManager
#getDefaultOption(com.atlassian.jira.issue.context.IssueContext)
, or
com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManager
#getDefaultOption(com.atlassian.jira.issue.fields.config.FieldConfig)
JIRA Service Desk has a number of elements of its API which are currently defined as experimental but that is about to change. With the 3.7.0 release a number of components were either deprecated for removal, or updated with details about how they will represent a breaking change in a future release. Well, those changes are coming now in the JIRA Service Desk 3.9.0 release. This release will also be moving the majority of the components in our API out of the experimental state and into a standard public API state.
A number of components will have breaking changes. The changes are relatively minor and revolve around changes to IDs that will be returning integers rather than longs. This helps us to align with the values that we are currently storing in the database and will stop us having to do a lot of unnecessary type conversion in the future.
Classname | Breaking change | New method signature |
---|---|---|
ServiceDeskService | The getServiceDeskById method will require an integer rather than a long as the serviceDeskId. Old method signature:
Old javadoc: |
New javadoc: |
PortalService | The getPortalForId method will request and integer rather than a long as the portalId. Old method signature:
Old javadoc: |
New javadoc: |
Queue | The return value for this method will return an integer rather than a long. Old method signature:
Old javadoc: |
New javadoc: |
The return value for this method will return an integer rather than a long. Old method signature: long getServiceDeskId()
Old javadoc: |
New javadoc: | |
QueueQuery | The return value for this method will return an integer rather than a long. Old method signature:
Old javadoc: |
New javadoc:
|
The return value for this method will return an integer rather than a long. Old method signature:
Old javadoc: |
New javadoc: | |
QueueQuery Builder interface | The serviceDeskID interface will require an integer rather than a long as the serviceDeskId Old method signature:
Old javadoc: QueueQuery.Builder: serviceDeskId |
New javadoc: |
The queueId interface will require an integer rather than a long as the queueId Old method signature:
Old javadoc: |
New javadoc:
| |
QueueRequestQuery | The return values for this method will return an integer rather than a long Old method signature:
Old javadoc: |
New javadoc: |
The return values for this method will return an integer rather than a long Old method signature:
Old javadoc: |
New javadoc: QueueRequestQuery: serviceDeskId | |
QueueRequestQuery Builder interface | The serviceDeskID interface will require an integer rather than a long as the serviceDeskId Old method signature:
Old javadoc: |
New javadoc: |
The queueId interface will require an integer rather than a long as the queueId Old method signature:
Old javadoc: |
New javadoc: QueueRequestQuery.Builder: queueId | |
RequestType | The getPortalId method will return an integer instead of a long. Old method signature:
Old javadoc: |
New javadoc: |
SlaInformation | The getId method will return an integer instead of a long. Old method signature:
Old javadoc: |
New javadoc: |
SlaInformationQuery | The id method will return an integerinstead of a long. Old method signature:
Old javadoc: |
New javadoc:
|
SlaInformationQuery Builder | The id interface will require an integer instead of a long. Old method signature:
Old javadoc: |
New javadoc: SlaInformationQuery.Builder: id
|
As well as the breaking changes listed above, we've also removed a number of existing experimental API that were deprecated previously. This is being done to make the new public API state, both cleaner and more useable.What's been removed?
The following classes have been removed:
CreateInternalCommentParameters
CreatePublicCommentParameters
ServiceDeskCommentParameters
ValidatedInternalCommentParameters
ValidatedPublicCommentParameters
RequestTypeUpdateParameters
RequestTypeQueryParameters
In addition, the following methods have been removed. Most of these have equivalents which can now be used as a direct replacement. The ones that don't have been deemed insufficient for making public, as the usage was not recommended.
Classname | Method signature | Replacement |
---|---|---|
ServiceDeskCommentService |
Old javadoc: |
New javadoc: |
| ServiceDeskCommentService: validateInternalComment Old javadoc:
| |
| ServiceDeskCommentService: createPublicComment Old javadoc:
| |
| ServiceDeskCommentService: createInternalComment Old javadoc:
| |
CustomerContextService |
Old javadoc: |
New javadoc: |
| CustomerContextService: inCustomerContext Old javadoc:
| |
| CustomerContextService: outOfCustomerContext Old javadoc:
| |
| CustomerContextService: outOfCustomerContext Old javadoc: | |
ServiceDeskLicence |
Old javadoc:
| This method is not applicable anymore. It will always be ABP |
ServiceDeskCustomerRequestService |
Old javadoc: |
New javadoc: ServiceDeskCustomerRequestService: getCustomerRequests |
| ServiceDeskCustomerRequestService: getRequestForIssue Old javadoc:
| |
| ServiceDeskCustomerRequestService: requestTypeUpdateParametersBuilder Old javadoc:
| |
| ServiceDeskCustomerRequestService: updateRequestType Old javadoc:
| |
| ServiceDeskCustomerRequestService: getRequestForIssueOverrideSecurity Old javadoc:
| |
| ServiceDeskCustomerRequestService: getRequestForKeyOverrideSecurity Old javadoc:
| |
RequestTypeGroup |
Old javadoc: | This deprecated and Experimental API has been removed. |
RequestTypeService |
Old javadoc: |
New javadoc: |
| RequestTypeService: queryBuilder Old javadoc:
| |
| RequestTypeService: getRequestTypeForRequest Old javadoc:
| |
| RequestTypeService: getRequestTypeForIssue Old javadoc:
| |
| RequestTypeService: getAllRequestTypes Old javadoc:
| |
| RequestTypeService: getRequestTypeForRequestOverrideSecurity Old javadoc: | |
| RequestTypeService: getRequestTypeForIssueOverrideSecurity Old javadoc:
| |
| RequestTypeService: createRequestType Old javadoc:
| |
| RequestTypeService: getRequestTypesForGroup Old javadoc:
| |
| RequestTypeService: getRequestTypesByGroup Old javadoc:
| |
| RequestTypeService: getRequestTypeByIdAndProjectId Old javadoc:
| |
| RequestTypeService: deleteRequestTypeByIdAndProjectId Old javadoc:
| |
| RequestTypeService: updateRequestTypeByIdAndProjectId Old javadoc:
| |
FpKit |
Old javadoc: | This deprecated and Experimental API has been removed. |
Rate this page: