Check out what's new for ScriptRunner for Confluence Server.
New Training Courses Available
We're delighted to announce that our Customer Education team has made four new training courses available for ScriptRunner for Confluence. Three courses are aimed at Confluence administrators, with the fourth aimed at space administrators. Each course is a series of tutorial videos designed to show you how to get more out of ScriptRunner for Confluence. The course topics are:
- Introduction to ScriptRunner for Data Center/Server.
- Managing Your Confluence Instance with ScriptRunner.
- Introduction to Scripting in ScriptRunner for Confluence.
- Introduction to ScriptRunner for Space Administrators.
Once you've completed the courses, we'd love to hear what you thought of them to help us improve this and future training courses. You can leave your feedback using our quick feedback form.
New Library Scripts Added
We've recently added six new ScriptRunner for Confluence scripts to the Adaptavist Library. The Adaptavist Library is your one-stop shop for pre-written scripts that provide all sorts of functionality to make life easier when you're working with ScriptRunner for Confluence. The scripts we've added recently are:
- Add Label to Outdated Pages.
- Automate the Removal of Old or Inactive Content.
- Display SQL Results from an External Database.
- Get Active User Count and Disable Oldest User.
- Get Outgoing Links using a CQL Function.
- Roll Back Anonymous Space Permissions via Listener.
Head over to the Library to check out these and the other scripts we have there. Be sure to check back regularly, as we'll be adding new scripts regularly over the coming weeks and months.
This release contains some significant improvements to the compilation and execution of scripts.
This builds on some of the work done in SRPLAT-1925 - Thread Deadlocks in Concurrently Running ScriptRunner scripts Done to prevent deadlocks and benchmark key parts of the ScriptRunner codebase.
This change should be invisible to 90% of users, except perhaps as an improvement in the speed and reliability of ScriptRunner, which could improve the performance of Confluence overall.
A key component of this change was increasing the minimum recompilation time for scripts from Groovy’s default 100 milliseconds to 1 second. Again, this change should be practically invisible, but if you’re 6 shots of espresso deep in a script debugging session, you’re live-tailing your log files, and you’re not seeing the changes you made to a script take effect instantaneously, we advise that you take one deep breath and check again before filing a bug report. 😉
While this is not the complete solution for SRPLAT-1922 - Slow Disk Access for Script Roots can lead to stuck thread errors under high load Done , users affected by that issue may notice a marginal performance improvement due to reducing needless access to their servers’ filesystem. We are still exploring further improvements for the problems introduced by slow disks, and so that ticket remains open.
There are only core component changes in ScriptRunner for Confluence 6.53.0, so we do not have any new features or bug fixes to report.
We've added a new page to ScriptRunner for Confluence that gives you a simple way to search your content using CQL without calling Atlassian's Confluence REST API. Read more about the new Enhanced Search functionality here.
Remote Event Listeners Fully Deprecated
Remote Event Listeners were deprecated with the 6.42.0 release. As of the 6.52.0 release, they have been completely removed from ScriptRunner for Confluence and you may experience problems if you still have a remote event listener configured. If you still require the functionality provided by the Remote Event listeners, a similar outcome can be achieved using a REST Endpoint on the target instance communicating via app links or remote control.
A New Editor
Importantly, this gives us a platform for future improvements. However, there are immediate benefits to this release: you get inline documentation (press Control+Space when completions are open), hover over methods and classes to see documentation, see completions automatically as you type, find and replace, and more. Read more about Monaco by following the link above.
Empowering Atlassian administrators to write code, however simple, is at the heart of what we do. We hope the new editor makes you more productive and you enjoy using it! Let us know what you think.
Space Admin Built-in Script Permissions
Confluence administrators and system administrators can now control exactly which built-in scripts space administrators can access. By default, all space admins have access to all built-in scripts. If you want to change this, you can go to the Configure Space Admin Built-In Script Permissions section of your Settings page. From there, you can add users, groups, and spaces to the table and refine who can access which built-in scripts. Learn more about the new functionality here.
Opt out of In-App Communications
We have added the ability for users to opt out of in-App communications in ScriptRunner. This option is available in the Settings page. For more information on in-app notifications and how to disable them, see our documentation.
Remote Event Listeners are now Deprecated
As of ScriptRunner 6.42.0, we have deprecated Remote Event listeners. This is due to low usage and high maintenance costs. If you still require the functionality provided by the Remote Event listeners, a similar outcome can be achieved using a REST Endpoint on the target instance communicating via app links or remote control.
Training resources are now available from the Documentation home page
We've added a tile to the Documentation home page that brings you to the ScriptRunner for Confluence Training Hub. Here you can find all the training resources we have currently made available. We're currently working on creating more training resources for ScriptRunner for Confluence, so keep an eye on this page for updates.
Each admin has access to the ScriptRunner homepage where you can explore features in ScriptRunner that you want to learn more about. Learn more about the ScriptRunner homepage here.
Unicode Bidirectional Override Characters Vulnerability
Recently, Atlassian highlighted a security vulnerability where special characters (unicode bidirectional override characters) were not rendered or displayed in the affected applications (CVE-2021-42574). This vulnerability could affect ScriptRunner if a user were to copy malicious code from an untrusted source and execute it within ScriptRunner. To mitigate this risk, we have added highlighting for bidirectional characters everywhere in ScriptRunner you can enter code. For more information please take a look at our blog post.
We'll soon be releasing ScriptRunner for Confluence 7.0.0. In that release we'll be adding more powerful controls for Confluence Administrators to govern access to Space Admin scripts. Any existing restrictions you have will be migrated to the new system. However, it will not be possible to downgrade ScriptRunner and keep any changes you have made to access in the old system, as they aren't backwards compatible.
A bug was discovered in ScriptRunner for Confluence 6.11.0 through 6.37.0 which, in some upgrade paths, could have caused users with Space Administrator script permissions setup to lose their settings after upgrade. See SRCONF-2024 - Space Admin Script Permissions not upgraded properly Done for more details on how to address the problem. If you have any questions, please contact us.
Script Editor Expand and Collapse Folders
Folders in the Script Editor are now collapsed by default when the editor is opened. We have also added Expand All and Collapse All buttons to the Script Editor heading, as well as the option to right-click a folder to expand it.
Notifications for Bulk Delete Attachment Versions Built-In Script
We’re continuing to add more detailed notifications control to our built-in scripts. The Bulk Delete Attachment Versions built-in script for Confluence administrators and the Bulk Delete Attachment Versions for space administrators are the latest to be updated. Using the Notifications checkbox, choose if you want to send a notification to users when attachment versions are deleted.
We’re continuing to add more detailed notifications control to our built-in scripts. The Update Macro built-in script is the latest to be updated. Using the Notifications checkbox, choose if you want to send a notification to users when updating macro parameters.
There are only core component changes in ScriptRunner for Confluence 6.32.0, so we do not have any new features or bug fixes to report.
There are only core component changes in ScriptRunner for Confluence 6.30.0, so we do not have any new features or bug fixes to report.
There are only core component changes in ScriptRunner for Confluence 6.28.0, so we do not have any new features or bug fixes to report.
The Lock Content macro is deprecated. It will be removed in an upcoming release. If you have needs related to the macro or requests for functionality similar to the Lock Content macro, please open a new feature request with Support. By creating these requests, we can better understand your use case and help you solve problems.
Update Macro Built-in Script Enhancement
The Update Macro built-in script has been enhanced to include a Code Transform field. This field allows you to manipulate macros further by executing custom code; for example, you can edit the macro body or update a URL parameter.
Crowd Events Added to Event Listeners
There are only core component changes in ScriptRunner for Confluence 6.24.0, so we do not have any new features or bug fixes to report.
Add/Remove Watchers Listener
There's a new built-in listener to choose to add or remove watchers on spaces, blogs, or content selected by CQL when prompted by a Confluence event called Add/Remove Watchers.
- SRCONF-1269 - Like the equivalent built-in script, the listener can't target blog posts with CQL. Please watch this known bug for updates.
Send Custom Email Listener
There's a new built-in listener to send a customized email in response to an event called Send Custom Email. In order to send an email for an event, the event has to be configured as an event listener.
Update Macro Built-In Script
There's a new built-in script to help you update parameters in bulk called Update Macro. This script updates every selected parameter of the selected macro in pages found by the CQL query. The script is available for Confluence administrators.
Welcome to the new documentation site! We don't have any major changes in this ScriptRunner for Confluence release, but we have updated the in-app documentation links to point here. Let us know if you encounter any issues via our support portal.
For previous versions of the documentation, please visit the old documentation site.
Manage Labels Built-In Script
The Bulk Add/Remove Labels on One or ore Pages and Rename Labels scripts have been removed, and the functionality has been combined into the new Manage Labels built-in script. Using this script, you can rename, add, and remove page labels in bulk. The script is available for Confluence administrators and space administrators.
SRPLAT-1205 - The compile context in the Script Editor is now set when opening it from a page where the script is being used, using the Edit icon.
SRPLAT-1415 - Syntax highlighting for SQL and properties editors was added.
SRCONF-1590 - Custom REST endpoints failed because the remote address not being able to write to the audit log.
SRCONF-1579 - The Prune Old Page Versions job did not reorder the versions of a page after running.
SRCONF-1569 - When audit log is enabled, scheduled blog posts of the Linchpin plugin failed.
As of the 1st February 2021, we are no longer developing new ScriptRunner features that are compatible with IE11 and subsequent versions of ScriptRunner will not be compatible with IE11.
See our full statement for more information.
SRPLAT-1442 - Fragment validation now checks for null and/or empty module keys.
SRPLAT-1441 - The execution history syntax highlighting was fixed.
SRPLAT-1434 - The Script Editor was fixed to show warning annotations. An example of a warning annotation is the usage of deprecated methods.
CheckedScriptFileInputBoxwas fixed to run static type checking when a user returns to the tab.
SRPLAT-1431 - The Script Editor was fixed to show an overall RAG status for a given file.
SRPLAT-1430 - The Script Editor was fixed to run static type checking when a file is opened.
SRPLAT-1420 - Documentation links were corrected in the Hints and Tips.
SRCONF-1610 - The Bulk Delete Attachment Versions built-in script was fixed to work for all space administrators.
Notifications Control for Copy Page Tree Space Administration
We’re continuing to add more detailed notifications control to our built-in scripts. The Copy Page Tree built-in script for space administrators is the latest to be updated. Using the Notifications checkbox, choose if you want to send a notification to users when copying the page tree from Advanced Space Functionality.
SRPLAT-1414 - You can now configure LDAP resource environment properties.
SRPLAT-1412 - Internal database connections are now able to fall back to non-read-only.
SRPLAT-1401 - Running built-in scripts multiple times led to stuck loading spinners.
SRCONF-1017 - The Next Run label for jobs had the wrong calculations.
SRPLAT-1407 - Groovy has been updated to 2.5.14.
This is the last ScriptRunner version compatible with IE11. For more information see our Retiring Support for Internet Explorer page.
Integration with Slack
We have added a new resouce type representing a connection to Slack.
That, plus a simple API, allows you to message users and channels from within your event listeners and other extension points. Read more here.
New Bulk Delete Attachment Versions Built-In Script
A new script was added for Confluence space administrators to delete old attachment versions.
Notifications Control for Copy Page Tree
We’re continuing to add more detailed notifications control to our built-in scripts. The Copy Page Tree built-in script is the latest to be updated. Using the Notifications checkbox, choose if you want to send a notification to users when copying the page tree.
SRCONF-1583 - An issue that causes Copy Page Tree notifications to be sent to space watchers no matter the status of the checkbox has been reported.
SRPLAT-1271 - When using existing REST Endpoints that use an inline script, you could not switch to the File tab without an error.
SRCONF-1562 - Disabling the Confluence Mentions plugin no longer disables ScriptRunner.
SRCONF-1553 - The details of the original author displayed for Change Content Author script was not accurate.
SRCONF-1510 - The ScriptRunner-based Page Info macro did not support an
@SELFreference to the current page.
SRCONF-1087 - The Bulk Delete Comments built-in script preview threw an error for anonymous-created comments.
Better Handling for Templates in Create Page Macro
In this release, we improved support for using templates with the Create Page macro. Now, when you select a template as the source to create a page from and that template contains variable expressions, users will be directed to a form to provide values for those variables first.
SRPLAT-841 - The URL of the Endpoint-scanning endpoint is now correctly mapped to the backend method.
SRCONF-1368 - Prune Old Page Versions now works for blogpost pages.
SRCONF-436 - Mugshot gallery now filters disabled users.
SRCONF-1511 - Macros will work properly if they exist in the template selected in the Create Page macro.
Bulk Delete Attachment Versions
A new script was added for Confluence administrators to delete old attachment versions.
SRCONF-1345 - A new Change Content Author built-in script for Space Admins is now available.
SRCONF-950 - We have fixed an issue causing an error when copying sidebar links in the Copy Space built-in script.
Storing Environmental Variables
Want to simplify migrating from a test instance to production? Check out our new Storing Environmental Variables documentation for best practices.
Notifications Control for Bulk Delete Comments
We’re continuing to add more detailed notifications control to our built-in scripts. The Bulk Delete Comments built-in script is the latest to be updated. Notifications are now suppressed by default when you run the script, but notifications can still be sent out by checking the appropriate box.
SRPLAT-1364 - Script Editor failed to open files with national characters created on 6.11.0.
The Inherit Restrictions for Pages Built-In Script Was Converted to an Event Listener
Since the Inherit Restrictions for Pages built-in script performed its duties when a new page was created, it operates like an event listener. Therefore, we removed the existing built-in script and transformed it into a canned ScriptRunner listener, which is the first of its kind.
If you are using the current script and benefiting from its functionality, then no further steps are required from you. Upon upgrade, a listener bearing the same parameters as your saved configuration is automatically created for you, and it is visible on ScriptRunner’s Event Listeners page.
See documentation for the new event listener here.
The Bulk Delete Comments and Bulk Delete Attachments Built-In Scripts Now Operate On Descendants
When selecting a page using the page picker field, the scripts now delete comments from both the selected page(s) and their descendants. In the UI, children checkboxes are now disabled when the parent page is selected.
This is both less surprising and more consistent with how the page picker field shows up in our other built-in scripts.
SRPLAT-1345 - Audit logging was added for Settings changes.
SRCONF-1481 - The Add/Remove Restrictions to Parent & Child Pages built-in script does not operate on subpages of selected page trees.
SRCONF-1413 - The Old Content Notifier job threw an exception when ran manually.
SRCONF-1241 - The Space Statistics built-in script added the total attachment size incorrectly.
SRCONF-1147 - The Bulk Delete Attachments built-in script does not operate on subpages of selected page trees.
SRCONF-1146 - The Bulk Delete Comments built-in script does not operate on subpages of selected page trees.
The Add/Remove Restrictions built-in scripts has been added for space admins.
SRPLAT-1221 - Bitbucket/Confluence/Jira is no longer prevented from correctly shutting down when ScriptRunner is installed.
SRCONF-1209 - Bulk Add/Remove Labels now has consistent case-sensitivity handling.
Space Admin Permissions Moved to Settings Page
To be more consistent with the rest of the permissions and product settings, permissions to restrict access to the Advanced Space Functionality have been moved to the Settings tab.
Notably, this included some changes to the underlying data schema. These will be invisible to users who follow a normal upgrade path, but it will mean that downgrading to prior releases after upgrading and making changes to permissions could see those changes disappear after a downgrade.
pageTransform for Copy Page Tree and Rename Pages
The Copy Page Tree and Rename Pages built-in scripts have a blank code field that had the
titleTransform closure included in the field’s binding. The closure allows you to make modifications to pages during the copying and/or renaming process.
titleTransform closure is now named
pageTransform. Since the closure can modify more than just the page title, this name better describes it.
SRPLAT-1319 - Custom scripts returning String from
getHelpUrl()did not work.
SRCONF-1407 - Script Jobs did not start after a restart.
SRCONF-1121 - Edit page restrictions prevented unauthorised users from using the Create Page macro.
SRPLAT-1313 - Script configurations can now be saved with a blank inline script.
SRCONF-1453 - The Legacy Page Information macro storage format was incompatible with the ScriptRunner-based Page Info macro.
Ceasing Development on 6
We are no longer developing new features for ScriptRunner versions running on Confluence 6. See our Confluence 6 Development statement for more information.
SRCONF-1420 - There was an exception when trying to run the Rename Labels script.
SRCONF-1408 - There is now better validation for missing labels in the Rename Labels built-in script.
SRCONF-1330 - The Page Property Reports Macro failed when it contained a custom macro.
Retiring Support for Internet Explorer
From February 1st 2021 ScriptRunner will no longer support Internet Explorer. See our full statement for more information.
Age Picker Field for Jobs
Ability to Disable Switch User Built-in Script
The Switch User built-in script allows administrator users to temporarily assume the identity of another user.
This script is enabled by default. However, if you have extremely strong compliance requirements, you may wish to disable this feature.
This release adds a toggle to the Settings tab to disable the Switch User built-in script. When the script is disabled, it is not accessible for any user (including system administrators).
For more information, see the Disable Switch User Built-in Script documentation.
Notifications Control for Copy Space
Now when using the Copy Space built-in script as a Confluence administrator and/or space administrator, you can control whether Inline Comments and Page Comments are copied over. Additionally, notifications are now suppressed by default when you run the script, but notifications can still be sent out by checking the appropriate box.
SRPLAT-1227 - Documentation links were missing from scripts.
SRPLAT-1217 - The Switch to a Different User script banner broke TinyMCE 4 functionality.
SRCONF-1091 - On the Database Connection Resources page, the checkbox overlapped with text.
SRCONF-1386 - The age picker field validation was fixed.
SRPLAT-1213 - "test on borrow" should be the default for LDAP connections
SRCONF-1009 - Some scripts do not link to proper location in docs
SRCONF-1386 - Fix Age Picker Field Validation
Watch Descendants is Now a Native Feature of ScriptRunner for Confluence
We have (finally!) finished migrating the core feature of the Notifications for Confluence plugin into ScriptRunner for Confluence as a native feature. Being able to watch the descendants of a page is a much sought-after feature in Confluence, and we’re glad to make it an important ScriptRunner for Confluence feature. You can read more in the descendants documentation.
If you have the Notifications plugin installed, uninstall the old Notifications plugin, then update ScriptRunner for Confluence. There won’t be too much harm in having the old plugin installed alongside the update, but that creates two Watch Descendants checkboxes, which would be confusing for end-users.
If you weren’t using the Notifications plugin, you only need to upgrade ScriptRunner for Confluence as you normally would.
Warning: No Data Migration
Any pages marked as Watched by the old plugin are still watched, but the information about which ancestor pages have the Watch Descendants checkbox ticked will not be migrated. If you were using the old Notifications plugin, end-users need to click Watch Descendants again on any pages that they wish to watch all descendants of.
Our rationale for avoiding data migration is that most of the problems with the old notifications plugin centered around its own migration tasks from an early data schema to a new one. Rather than put all ScriptRunner for Confluence customers at risk for similar problems, we decided to make a clean break between the old Notifications plugin and the new one.
A Word on Performance
We have tested the Watch Descendants feature against very large page trees under high load. It performs consistently with Atlassian’s load profiles for Confluence, and it performs as well as or better than the old Notifications app, which was itself used in some large production instances of Confluence.
SRPLAT-1213 - Test on Borrow should be the default for LDAP connections.
SRPLAT-11 - An invalid user-configured raw XML script fragment could have prevented the ScriptRunner plugin from enabling.
SRCONF-1021 - The Age Picker field for Bulk Delete Comments now gives you more flexibility to specify which comments to delete.
SRPLAT-1171 - The Confluence-specific
scriptMacroMetadataProvidermodule no longer shows up in UPM for all ScriptRunner products.
SRCONF-713 - The gears icon for lazy loading on script macros was not loading and threw a 404 error.
SRCONF-1051 - The link to a content indexing section led to a page with a missing tab error.
SRCONF - 1020 - The Age Picker field for Bulk Delete Attachments now gives you more flexibility to specify which attachments to delete.
SRPLAT-1139 - Compilation failures in one script caused entire features to fail.
SRPLAT-1131 - You now have the ability to set all Hikari pool configuration parameters when using database connections.
SRPLAT-1094 - Autocompletion requests failed when requesting autocomplete after typing "Check."
SRCONF-1282 - Macros were broken on Windows Server.
SRCONF-1205 - ScriptRunner for Confluence is now compatible with the Confluence 7.5 EAP.
- Released 12 May 2020
SRPLAT-1119 - Classes in scriptrunner-api/spi no longer consumable by dependent plugins
- Released 06 May 2020
The version of Groovy used by ScriptRunner has been upgraded from 2.4.15 to 2.5.11. Improvements and new features (like additional AST transformations, or the new
tap() method) shipped in Groovy 2.5 are now available to ScriptRunner users. See the Groovy 2.5 Release Notes for more information.
As with any dependency upgrade, breaking changes could potentially affect users' scripts. However, the breaking changes between Groovy 2.4 and 2.5 are relatively minor. The low-level nature of most of these breaking changes means they are unlikely to impact many ScriptRunner scripts if any.
Take a look at the list of breaking changes in the Groovy 2.5 Release Notes for further details.
This version removes all support for the IntelliJ IDEA plugin. See our previous deprecation announcement for our rationale and plans for the future.
SRPLAT-1092 - There is now DocLink support for absolute URLs
SRPLAT-1084 - The autocompletion window of the Script Console now closes correctly
SRCONF-1205 - ScriptRunner for Confluence is now compatible with the Confluence 7.5 EAP