JIRA 7.0 - General changes
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.
Summary of 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)||When||Risk level||Affected|
JIRA importer plugin can be extended to include data from plugins, using the JIRA Project Importer SPI
|7.0||N/A||Add-ons that want to include their data in project imports|
|Project type key required for project templates||7.0||medium||Add-ons that provide project templates for the 'Create project' dialog will be affected.|
||7.0||medium||Add-ons that define project templates using a
|Software plugins no longer bundled (a number of plugins that offer features supporting software teams will no longer be bundled with JIRA)||7.0||medium||Add-ons that depend on any of those plugins to be present.|
|Quartz scheduler removed||7.0||medium||Add-ons that import any
|Most Lucene classes removed from API||7.0||medium||Add-ons that use Lucene directly.|
|Project tab panels deprecated||7.0||medium||Any add-on implementing pluggable project tab panels.|
||7.0||medium||Very few add-ons were providing these tab panels, so the impact should be limited.|
|7.0||low||Add-ons that make assumptions about project key syntax, and assume that it is only uppercase letters.|
|JIRA DOM changes||7.0||low||Add-ons that make assumptions about JIRA's DOM structure.|
|Support ending for HSQLDB (see end of support announcement in the JIRA documentation)||7.0||low||Add-ons testing against JIRA's built-in HSQLDB database.
Note, this built-in database is only used for evaluation purposes.
|Support ending for Oracle JDK 1.7 (see end of support announcement in the JIRA documentation)||7.0||low||JIRA Server installations on Oracle JDK 1.7.|
|Support ending for Oracle 11g (see end of support announcement in the JIRA documentation)||7.0||low||JIRA Server installations on Oracle 11g databases.|
|Support ending for Internet Explorer 9 (see end of support announcement in the JIRA documentation)||7.0||low||JIRA installations on Internet Explorer 9.|
(this functionality was only used in Atlassian's functional tests, and therefore shouldn't affect any plugins)
|7.0||low||Nobody should be affected.|
Project type key required for project templates
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:
- If your template is defined via a web-item that is placed on the jira.project.templates section, it needs to specify a param with a name of "
projectTypeKey" and the value of the project type key. For example:
- If your template is defined via a
project-blueprinttag on your atlassian-plugin.xml, it needs to specify a
projectTypeKeytag with the project type key as its content. For example:
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 templates
JIRA 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.
Software plugins no longer bundled
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:
- modify your add-on to work correctly in the absence of any of the above plugins, or
- transition your add-on to be a JIRA Software plugin, instead of a JIRA Core plugin.
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.
Quartz scheduler removed
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.
Most Lucene classes removed from API
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:
SearchProviderinterface — the methods
searchCountOverrideSecurityare now now available on
StatisticsMappersubclasses — add-ons needing this functionality must rely on
- Various implementations of the lucene
Collectorinterface — add-ons needing this functionality must rely on
IndexSearcherimplementations for direct Lucene access — add-ons needing this functionality must rely on
- Minor Lucene related utility classes — currently, no replacement is available.
IssueIndexManager has been removed from
jira-api and is now
jira-core — the new
deIndex... methods suitable for add-on use. Additionally, other Lucene0related utility classes have been moved to
Project tab panels deprecated
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.
ComponentTabPanelModuleDescriptor and VersionTabPanelModuleDescriptor removed
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.
Project keys allow numbers by default
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.
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.
jira-ajax-menu class will no longer be on application header menu triggers.