This page covers the general developer changes for JIRA 7.0, that are not covered in the API changes or plugin framework changes.
The changes are part of a larger set of developer changes to JIRA for 7.0. You should also read Preparing for JIRA 7.0 for an overview of the release, as well as JIRA 7.0 - API changes and JIRA 7.0 - Platform changes.
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 (click to view more details) | Affected |
---|---|
JIRA importer plugin can be extended to include data from plugins, using the JIRA Project Importer SPI | Add-ons that want to include their data in project imports When: 7.0 Risk level: N/A |
Project type key required for project templates | Add-ons that provide project templates for the 'Create project' dialog will be affected. When: 7.0 Risk level: medium |
project-template module not supported for the creation of project templates | Add-ons that define project templates using a When: 7.0 Risk level: medium |
Software plugins no longer bundled (a number of plugins that offer features supporting software teams will no longer be bundled with JIRA) | Add-ons that depend on any of those plugins to be present. When: 7.0 Risk level: medium |
Quartz scheduler removed | Add-ons that import any When: 7.0 Risk level: medium |
Most Lucene classes removed from API | Add-ons that use Lucene directly. When: 7.0 Risk level: medium |
Any add-on implementing pluggable project tab panels. When: 7.0 Risk level: medium | |
ComponentTabPanelModuleDescriptor and VersionTabPanelModuleDescriptor removed | Very few add-ons were providing these tab panels, so the impact should be limited. When: 7.0 Risk level: medium |
Add-ons that make assumptions about project key syntax, and assume that it is only uppercase letters. When: 7.0 Risk level: low | |
DOM changes | Add-ons that make assumptions about JIRA's DOM structure. When: 7.0 Risk level: low |
Support ending for HSQLDB (see end of support announcement in the JIRA documentation) | Add-ons testing against JIRA's built-in HSQLDB database. When: 7.0 Risk level: low |
Support ending for Oracle JDK 1.7 (see end of support announcement in the JIRA documentation) | JIRA Server installations on Oracle JDK 1.7. When: 7.0 Risk level: low |
Support ending for Oracle 11g (see end of support announcement in the JIRA documentation) | JIRA Server installations on Oracle 11g databases. When: 7.0 Risk level: low |
Support ending for Internet Explorer 9 (see end of support announcement in the JIRA documentation) | JIRA installations on Internet Explorer 9. When: 7.0 Risk level: low |
Dangermode removed (this functionality was only used in Atlassian's functional tests, and therefore shouldn't affect any plugins) | Nobody should be affected. When: 7.0 Risk level: low |
In JIRA 7.0, all the project templates must provide the key for the type of the projects created with the template. If your add-on is defining a project template, it will need to be modified to include the project type key:
projectTypeKey
" and the value of the project type key. For example:1 2<web-item key="jira-test-item" i18n-name-key="jira-wfb-item.title" section="jira.project.templates"> <label key="jira-test-item.title"/> <param name="projectTypeKey" value="business"/> ... </web-item>
project-blueprint
tag on your atlassian-plugin.xml, it needs to specify a projectTypeKey
tag with the project type key as its content. For example:1 2<project-blueprint key="jira-issuetracking" weight="30"> <label key="jira.issuetracking.project.item"/> <projectTypeKey>business</projectTypeKey> ... </project-blueprint>
The project type key is mandatory in both cases. If a template doesn't provide a project type, it will not appear on the 'Create project' dialog within JIRA.
project-template
module not supported for the creation for project templatesJIRA will not support the definition of project templates using the old project-template module. In 7.0, all project templates provided by add-ons must be defined using the newer project-blueprint module.
A number of plugins that offer features supporting software teams, namely the **jira-software-plugin, jira-development-integration-plugin, jira-fisheye-plugin, jira-bamboo-plugin, **and jira-dvcs-connector-plugin will no longer be bundled with JIRA from 7.0. If your add-on depends on any of these plugins being installed, you can do either of the following:
To test your add-on against JIRA Software, use the new AMPS version that adds support for applications through the new applications
element. See Configure AMPS to run JIRA Core with additional applications installed for more details.
Direct access to Quartz was deprecated with the introduction of the atlassian-scheduler
API in JIRA 6.3. In JIRA 7.0, the Quartz Scheduler is no longer used by JIRA, so none of its classes are available, even to those add-ons that depend on jira-core
. Although the SAL PluginScheduler
remains available, we encourage you to migrate to the atlassian-scheduler
API. Add-ons that allowed the user entry of cron expressions and used Quartz's CronTrigger
class to validate the syntax will no longer be able to do so; however, the atlassian-scheduler
API provides a CronExpressionValidator
service that may be used as a replacement for this.
Direct access to Lucene classes is discouraged, and a number of classes which use Lucene directly have been moved to the jira-lucene-dmz
maven artifact.
Add-ons can use jira-lucene-dmz
to assist migration, but these classes are not covered by the API guarantee. While they are maintained in the short term, they may become deprecated or broken in future minor releases, as improved search and statistics alternatives are rolled out. The intent is that improved alternative APIs, for genuine add-on use cases, will be made available before the Lucene-dependent versions are fully removed.
The affected classes are:
SearchProvider
interface -- the methods searchOverrideSecurity
and searchCountOverrideSecurity
are now now available on SearchService
class.StatisticsMapper
subclasses -- add-ons needing this functionality must rely on jira-lucene-dmz
.Collector
interface -- add-ons needing this functionality must rely on jira-lucene-dmz
.SearchProviderFactory
for obtaining IndexSearcher
implementations for direct Lucene access -- add-ons needing this functionality must rely on jira-lucene-dmz
.The IssueIndexManager
has been removed from jira-api
and is now jira-core
-- the new jira-api
class IssueIndexingService
exposes reIndex...
and deIndex...
methods suitable for add-on use. Additionally, other Lucene0related utility classes have been moved to jira-core
.
Pluggable project tab panels have been deprecated in JIRA 7.0. They will still continue to work, but will no longer render in the top level sidebar navigation and will instead be grouped into a 'Add-ons' top level section. Add-on vendors should migrate their add-ons to the new web-item based approach of integrating with JIRA's new project centric view, described in Design guide - JIRA project-centric view. Project tab panel support will be removed in a future major release of JIRA.
The new project-centric view no longer provides an individual version or component view that supports these pluggable tab panels. The usage of these was very low, so these plugin points have been removed.
Prior to JIRA 7.0, the default configuration for project keys permitted only uppercase alphabetical characters, i.e. [A-Z][A-Z]+
. In JIRA 7.0, the default regular expression for project keys will be changed to allow numbers (but only after an initial uppercase letter), i.e. [A-Z][A-Z0-9]+
.
The reason for this change is that the default configuration could only be modified by system administrators. This meant that customers using JIRA Cloud (where the system administrator permissions are not exposed) were forced to stay with the default configuration.
The jira-ajax-menu
class will no longer be on application header menu triggers.
Rate this page: