Create Page and Page Information macros are now native features of ScriptRunner for Confluence

We have long had the Create Page macro and Page Information macro housed in their own plugins. These plugins have depended on ScriptRunner for some time now. In order to reduce the maintenance burden for our customers and speed up the release cycle for all ScriptRunner features, we have merged these two plugins into ScriptRunner for Confluence.

Upgrade Path

The upgrade path may be more or less complicated, depending on which of the dependent plugins you have installed, if any.

Troubleshooting

If something goes wrong while you’re upgrading, the first thing you should try is disabling ScriptRunner and all dependent plugins. Then, enable ScriptRunner for Confluence 5.6.4. Make sure the old Create Page and Page Information plugins are uninstalled. If you are using the Label Tools or Notifications dependent plugins, then you can re-enable those.

If you encounter any issues that aren’t resolved by the above steps, please do not hesitate to contact us via our support portal.

For further details about the upgrade path for different environments, read on.

Users Without Dependent Plugins

If you do not have any dependent plugins installed at all (Create Page, Page Information, Label Tools, or Notifications), this update should not require any action from you. That said, we encourage you to give Create Page and Page Information a try! Both macros have stood on their own as useful plugins in their own right, and we think they’ll make a nice new addition to your macro portfolio.

If you would prefer not to have these macros, they can be disabled, the same as any Script Macro, from the Script Macros administration page.

Users With Create Page or Page Information Plugins Already Installed

If you currently have either the Create Page plugin or the Page Information plugin installed, you should be able to install this release without issue. You can see what apps you currently have installed via Confluence’s Manage Add-ons page.

The old Create Page plugin and Page Information plugins will still be installed after you upgrade, though they should be disabled. You should uninstall them immediately after upgrading.

While the existing macros will continue to work in some environments with the old plugins installed, variations in your database server configuration can change this. Specifically, in our testing, we have found that with certain versions of MySQL, instances of the Create Page macro will display an error when clicked, even though the page is created as normal.

Once the old plugins are uninstalled, existing uses of the Create Page and Page Information macros in your Confluence pages will continue to work as normal. We have done fairly strenuous backward compatibility testing, including in our own Confluence instance where we make use of these macros.

Users with Dependent Plugins Besides Create Page and Page Information

The Label Tools plugin will need to be updated in order to work with this version of ScriptRunner for Confluence.

The latest releases of both Label Tools and Notifications should be compatible with this release of ScriptRunner for Confluence.

Our current plan is to merge the Label Tools plugin into ScriptRunner for Confluence next. We do not have a firm release date, but it will be announced in the release notes as usual.

For the Notifications plugin, we are currently evaluating whether it would be best to merge that plugin’s functionality as is, or to simply build on ScriptRunner for Confluence’s features and provide a migration path.

Ability to limit which confluence-administrators groups can edit ScriptRunner scripts

You are now able to configure which groups with Confluence Administrator permissions can create or edit scripts. See documentation.

Fix for SRPLAT-560 - Occasional NoClassDefFound with @WithPlugin compilation customiser

Dynamically adding and removing plugin classloaders was found to be impractical and unreliable due to lack of control over classloader caches.

The behaviour has changed so that when any @WithPlugin annotation is detected, the classloader from the selected plugin(s) is available to all scripts. This is true when using @WithPlugin or not in subsequent script executions. This change does not affect performance as the system classloaders are first in the classloader order.

Continue to add @WithPlugin to any scripts that use classes from other plugins. Without this, after a restart, successful script compiling will be dependent on the order of execution. Static type checking will show errors if you forget to use @WithPlugin.

Other new Features

Bug Fixes

Have questions? Visit the Atlassian Community to connect, share, and learn with other Atlassian users and experts, including Adaptavist staff.

Ask a question about ScriptRunner for JIRA, Bitbucket Server, or Confluence.

Want to learn more? Check out courses on Adaptavist Learn, an online platform to onboard and train new users for Atlassian solutions.