Child pages
  • API Changes in Structure 2.3

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Numbered Headings
start-numbering-ath2

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.

Note

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.

Incompatible Changes in Structure for JIRA 6

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.

Compatible Changes

Additional Executor in StructureJobManager

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

StructureUtil Methods for Migration

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