Child pages
  • API Changes in Structure 2.3

This documentation relates to an older version 2.4 of the Structure Plugin for JIRA. View the current documentation home.

Skip to end of metadata
Go to start of metadata

1. Major API Release

Due to JIRA 6 changes, we have to bump the major version of the Structure API in the version of Structure for JIRA 6. Although no considerable changes have been introduced, strictly speaking, the new Structure API for JIRA 6 is backwards-incompatible.

If you're using Structure API, please check these change notes and see if you need to make changes to your code. Most likely you don't.

If you limit the OSGi package import version to the 7.x range, you'll need to either expand the range to include 8.x, or build separate plugins for JIRA 5 and JIRA 6.

JIRA Version

New API Version

5.x

7.4.0

6.x

8.0.0

See Structure API Versions for full version information and downloads.

2. Incompatible Changes in Structure for JIRA 6

2.1. PermissionRule and PermissionSubject semantics change

Due to migration in JIRA 6 from using user login names to using user keys (to support changing login names), all objects that represent permission rules are using user keys now, while preserving serialization format and class methods.

This means that if you happen to serialize PermissionRule and PermissionSubject or use their toEncodedString or fromEncodedString, you'll need to migrate your persisted data (convert login names to lowercase). Structure plugin does that on its own for the data stored in the database and when restoring from backup.

3. Compatible Changes

3.1. Additional Executor in StructureJobManager

StructureJobManager can now execute tasks in multiple independent queues (executors). See javadocs for the details.

3.2. StructureUtil Methods for Migration

StructureUtil has a few new facade methods to help with migrating users – see migrateUserNameToUserKey(), getUserByName(), getUserByKey().