Check out what's new for ScriptRunner for Jira Server.
Fixed Database Picker custom field
Please note, this fix has created a new index for statistics mappers to use. If you have custom picker fields (database, Idap, custom), and need to display their results in the dashboard (e.g. Two Dimensional Filter Statistics gadget), you must perform a full or background re-index.
Improvements when working with Custom Fields in the Editor
You told us that working with opaque custom field IDs is difficult when selecting the right field by ID and then later when reading code to understand which field is meant by an ID.
We have made some improvements to make it clearer to tie custom field IDs back to a more meaningful custom field name.
As a rule, we recommend using names rather than IDs to make your code more readable. However, it relies on people not changing the name and, to some extent, avoiding duplicate names. Where you need to use IDs, we also have suggested a way to externalize them.
When using APIs that take a custom field String or Long identifier, we will also show the name and the type:
This is helpful when writing your code but doesn't help others, or your future self, when reading this code later.
When you use a literal ID in your code, an inlay hint will show beside it, containing the Field name or ID, whichever is appropriate.
These labels are not actually part of the code and will not be present if you copy them from the editor.
We find these helpful but are considering supplying an option to turn them off, along with other editor features. Let us know what you think.
Configuration Management for Jira (CMJ) integration
We've been working closely with our peers at Appfire to make the days of manual migration and change management, when it comes to ScriptRunner, a thing of the past. You can now use Configuration Manager for Jira (CMJ) to migrate configuration for the following ScriptRunner features:
- REST Endpoints
- Workflow Conditions, Validators and Post functions
- Script Fields
ScriptRunner for Jira is easier to access than ever
It’s now even simpler to navigate to ScriptRunner with two new shortcuts. Admins can now also access ScriptRunner for Jira:
- via the cog icon in the top right, by selecting ScriptRunner in the Jira Admin menu
- via the new ScriptRunner tab in the administration navigation menu.
In major releases of Atlassian products, some classes, methods and fields are removed. If you use these and you don't change your code, your scripts will fail.
In nearly all cases, these are deprecated for at least one major release cycle beforehand, to give you a chance to change your code.
In this release, for Jira (for 9.0.0) and Bitbucket (for 8.0.0), we will show you these classes, methods and fields that have been removed in a subsequent major version, as a warning:
Not all deprecations are relevant - sometimes things are deprecated but they are not removed. If this is the case they are marked as a warning but without the additional pending removal warning.
This release contains some significant improvements to the compilation and execution of scripts.
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 Jira 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 will 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-1922Getting issue details... STATUS , users affected by that issue may notice a marginal performance improvement due to reducing needless access to their servers’ filesystem. That said, we are still exploring further improvements for the problems introduced by slow disks and so that ticket remains open.
New Script Registry filtering feature
A new filter is available in the Script Registry. This filter, turned off by default, may be toggled on to view all failing scripts. Use the Show only scripts that may require attention toggle option to engage this feature.
Two significant bugs have been removed for this release:
- An unexpected error with creating requests in Service Desk projects has been rectified.
- A bug preventing the Multiple Insight Object/s field read-only using Behaviours from behaving as expected when populating its values using the
setFormValue()in the Initialiser is removed.
New bug fixed and improvements
This release focuses on fixing bugs to improve the experience of using ScriptRunner for Jira Server/Data Center. These include two issues related to web action items. See the Jira issues in the release notes below for more detailed information.
Remote Event Listeners Functionality Removed
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 Jira. 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.
Improved exception logging and navigation
The highlights of release 6.51.0 include:
- The JQL function,
linkedIssuesOf, will follow links that have any type from a specified set.
- Improved error tracing for inline behavior scripts.
- A link to the related behavior configuration is now provided when logging exceptions in behavior scripts.
- Improved navigation to the Library section of the app.
JQL UI Fix
When certain 3rd party apps are installed that provide JQL functions, the JQL UI failed to load. This bug has been found and removed.
Supercharged Jira search is now for everyone
ScriptRunner search functionality is now available in the Basic search menu, accessible via the More dropdown. A simple interface now helps users get more specific and efficient than ever with their Issue searches, guiding them through how to use ScriptRunner’s powerful JQL functions.
For more information see our JQL Functions documentation.
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. Learn more about using features of the new editor on our Code Editor page.
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.
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.
Log Files are Sorted Alphabetically in View Server Log Files Built-in Script
We have enhanced the View Server Log Files built-in script so that the files available in the Log Files field are sorted alphabetically, making it easier for you to find the required file.
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.
Change to behaviour of
jiraUserPropertyEquals() JQL function
As part of the fix for SRJIRA-5595, the behaviour of the
jiraUserPropertyEquals() JQL function has changed. Previously, only active users would match when
jiraUserPropertyEquals() was used, now both active and inactive users are returned. See our documentation for more information, and steps on how to edit your query to return only active users.
Enhancement to the Change Dashboard, Filter, or Board Ownership Built-in Script
We have added the ability for Jira Software users to change the ownership of boards using this built-in script. Check out our documentation for more information.
Change to the Fires an Event when Condition is True Post Function and Listener
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.
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.
Multi-Select is now Available for Dynamic Form Picker Fields
There is now the option to create multi-select picker fields using Dynamic Forms.
This version and all subsequent versions are not compatible with IE11. Do not update to this version if you use IE11. For more information see our Retiring Support for Internet Explorer page.
Ability to Specify a Count to the hasAttachments JQL Function
You can now specify a number of attachments when using the hasAttachments JQL function. For example, you can now search for issues with two or more PDF attachments. See our documentation for more information and use cases.
CORS Support for REST Endpoints
Following the implementation of CORS support in Jira 8.9.0, we have added CORS support for ScriptRunner's custom REST endpoints.
Ability to Specify a Count to the hasLinks JQL Function
You can now specify a number of link type when using the hasLinks JQL function. For example, you can now search for issues with two or more blocks links. See our documentation for more information and use cases.
Project Categories Available for Behaviour Mapping
You can now map a behaviour to project categories rather than individual projects using a custom listener. See our documentation for more information.
New Script Field
We have added a new script field called Custom Picker, which you can use to set up a field which allows users to pick values from a list.
Using this custom picker, you can pick a Jira object such as a Version, User, or Component when you want custom selection criteria that are not available when using the native field types. Or you may want to utilize it when picking from a list that can be searched using a REST API.
New Workflow Functions
Issue Picker Customization Enhancements
We have enhanced the Issue Picker field to bring you extended customization options. For example, instead of just showing the Issue Key and Summary, you can now choose any text field(s) to display. If that's not enough, you can programatically customize how your picker renders, what information appears in the drop-down, the number of search results, and much more. See our Issue Picker Customizations documentation for more information.
Copy Field Values Built-in Script
ScriptRunner Configuration Filtering by Project
We have added a filter to the ScriptRunner script fields screen, allowing you to filter your ScriptRunner configurations by project.
You can use this filter to gain an understanding of which ScriptRunner configurations exist in each project to assist in project-by-project migration.
New Workflow Functions
ScriptRunner Configuration Filtering by Project
We have added a filter to the ScriptRunner workflow function and listener screens, allowing you to filter your ScriptRunner configurations by project.
New Workflow Function
You asked us for more built-in workflow functions that don't require coding, and we heard you! In this release we have added a Clear Field(s) Post Function.
New Workflow Function
New archived Versions JQL Function
We have added a new JQL function to return versions that have or have not been been archived. See our documentation for more information.
New Workflow Function
You asked us for more built-in workflow functions that don't require coding, and we heard you! In this release we have added the following workflow functions:
Using Behaviours has been simplified.
Now, when setting form values for fields such as select lists, radio buttons, checkboxes, components, and versions etc, you can use the display value rather than looking up the IDs of the options themselves. The same also applies when setting the available options:
getFieldByName("My checkboxes").setFormValue(['Yes', 'Maybe']) getFieldByName("My single select").setFormValue('Oranges') getFieldByName("My versions field").setFieldOptions(['Version One', 'Version Two']) getFieldByName("My radio buttons").setFieldOptions(['Yes', 'No'])
We will validate that the provided value(s) is acceptable for whatever context you are setting it in.
New Workflow Function
You asked us for more built-in workflow functions that don't require coding, and we heard you! In this release we have added a Project Role(s) Condition.
New Workflow Functions
Welcome to the new documentation site! 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.
ScriptRunner Workflow Functions
We have moved ScriptRunner workflow functions to improve visibility. ScriptRunner functions are now visible alongside all other Jira workflow functions. See our Workflows documentation for more information.
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.
SRJIRA-4988 - You can now search keywords that match multiple Columns in the Database Picker Script Field.
SRJIRA-4533 - For our JQL functions, you can now refer to boards and sprints by IDs, and not just names.
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.
SRPLAT-1432 - The script file selector was fixed to run static type checking when a user returns to the tab.
SRPLAT-1431 - The Script Editor was fixed to show an overall type checking 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.
SRJIRA-4984 - Links to listeners in the Script Registry now work for after disabling the listener.
SRJIRA-4749 - The Bulk Fix Resolutions built-in script now clears the Resolved date.
SRJIRA-4669 - When changing the Component/s field with behaviours, components with similar names will not be removed.
SRJIRA-4193 - '
setFormValue' now works on the Labels custom field.
SRJIRA-4182 - An issue in behaviours where an issue’s editable fields became read-only if a read-only field has been edited, has now been fixed.
SRJIRA-3999 - Inactive users are now filtered out when fetching email recipients from a group.
SRJIRA-3931 - Required fields configuration in behaviours are now correctly reflected.
SRJIRA-3896 - The Copy Project built-in script no longer randomises the order of service desk project request types.
SRJIRA-3884 - You can now set the Epic Link and Sprint field values in the initialiser when a Create Issue dialog is opened on top of the full-page Create Issue screen.
SRJIRA-3372 - Behaviours now make Wiki Render fields fully read-only.
SRJIRA-2758 - You can now get system fields with the '
getFieldByName' behaviour method.
SRPLAT-1414 - You can now configure LDAP resource environment properties.
SRJIRA-4950 - Ability for search keyword to match multiple Search Attributes in LDAP Picker Script Field
SRPLAT-1407 - Groovy has been updated to 2.5.14.
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.
SRJIRA-4971 - Setting ReadOnly on a required field no longer displays an error message if you do not leave the field before hitting enter.
SRJIRA-4949 - The value of the selected option in an LDAP Picker script field is now formatted correctly.
SRJIRA-4937 - The Copy Project built-in script no longer displays the target project twice in the Issue Type Scheme after copying a project.
SRJIRA-4817 - The setHidden method is now working correctly when run together with
setFieldOptionsin a behaviour.
SRJIRA-4728 - Simple Scripted Validators now show the configured error message when used with Original Estimate.
SRJIRA-4723 - Read-only values are no longer lost when configuring Edit screen fields for user pickers.
SRJIRA-4643 - The Copy Project built-in script now assigns the correct project key for the JQL in created queues.
SRJIRA-4575 - The dash symbol (-) is now recognised in JQL queries when using
SRJIRA-4361 - Behaviours disabled inline edit can no longer be overridden by the
SRJIRA-4270 - Selecting or unselecting the All option from the Custom Fields Cog no longer causes the value set in the Read Only Single Select List to reset to None even by users who have limited access.
SRJIRA-2850 - Toggling between All and Custom in the Configure Fields drop-down no longer blanks fields set as read-only by behaviours.
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 resource 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.
SRJIRA-3925 - We have added a new Slack resource type.
SRPLAT-1271 - When using existing REST Endpoints that use an inline script, you could not switch to the File tab without an error.
SRJIRA-4927 - We have fixed a bug where picker fields did not work on Jira Service Management portal when the project key pattern was different from the default.
SRJIRA-4857 - Only issue events are available to be selected for the Fast track/fire an event when condition is true listener.
SRJIRA-4626 - Only issue events are available to be selected for the Fast track/fire an event when condition is true listener.
SRJIRA-4327 - The Script Registry now understands when there is an event object in the context of a listener.
SRJIRA-4221 - The Send a custom email listener now correctly sends new attachments when users add comments in quick succession.
SRJIRA-4181 - The JQL search component, found for example in Escalation Services, now correctly handles punctuation in custom field names.
SRJIRA-3128 - You can now pick custom fields with names under three characters as To/CC issue fields for custom emails.
New ScriptRunner Action for Automation for Jira
Automation for Jira has released a new API for third-party integrations. This allows us to provide some requested enhancements, such as the ability to retrieve the initiator of the action, and the ability to use smart values. We have also added the ability to use dynamic forms.
Because the API was so different, we have decided to provide a new action and deprecate the original one. If you need the new action, copy your script from the old action to the new, and remove the old one.
Read more in our documentation on Automation for Jira.
You can now view, edit, delete and disable/enable ScriptRunner workflow functions from the Workflows tab. We have also made it easier to create a new ScriptRunner workflow function, by adding this functionality to the Workflows tab. See our workflow functions documentation for more information.
SRJIRA-4806 - You can now use smart values in the Execute a ScriptRunner script action.
SRJIRA-3621 - We now support
>=operators in the dateCompare JQL function.
SRPLAT-841 - The URL of the Endpoint-scanning endpoint is now correctly mapped to the backend method.
SRJIRA-4907 - Database Picker fields no longer change to show the internal ID instead of the selected value after a comment is added from the service desk portal.
SRJIRA-4900 - The Automation for Jira integration now provides two actions. The new action makes use of the updated Automation for Jira API
SRJIRA-4895 - Script fields upgrade tasks no longer fail if there is data in a newer format.
SRJIRA-4891 - Using key combinations to select all script text and then pressing delete, now works within behaviour script editor sections.
SRJIRA-4882 - The currentUser binding variable in Automation for Jira is no longer null when the Actor username has been renamed.
SRJIRA-4801 - You can now copy SLAs for service desk projects using Copy Project.
SRJIRA-4220 - In the case of a
StackOverflowErrorduring the manual execution of a job, the user is now informed on how to solve the issue.
SRJIRA-4126 - There is no longer a String index out of range error when clicking on links in Script Registry page.
SRJIRA-4125 - setHidden,setLabel,setDescription now work for the behaviours Attachment field on the service desk portal.
SRJIRA-4074 - Heritage listeners can now be referred to by file path.
UserMessageUtil.errormethod now displays the error message correctly for inline field edits or edits from the Boards page.
SRJIRA-4862 - We improved the project picker for Version Synchroniser listeners, to help when adding new projects to an existing configuration.
SRJIRA-4832 - For Issue Picker fields, we now display the issue summary when in list view in the Issue Navigator.
SRJIRA-4247 - The Project Picker dynamic form can now be customised to show or not show archived projects.
SRJIRA-3962 - An Issue Picker template is now available for Custom Script Fields if you are returning one or more issues from your script.
SRJIRA-4883 - Empty list rendering was causing an infinite loop call in the Bulk Copy SLA built-in script.
SRJIRA-4876 - We fixed an issue where
getRequestTypeNamein behaviours did not work for users without a Jira Service Management license.
SRJIRA-4874 - We fixed a bug where, when creating an issue anonymously with a Database Picker or Issue Picker, it would fail with HTTP 500 error.
SRJIRA-4872 - We fixed an issue where the Create Sub-task post function failed when the parent had an epic link, on recent versions of Jira.
SRJIRA-4861 - We improved the control for setting a template for a Custom Script Field.
SRJIRA-4848 - We fixed a problem where the listener Events field no longer shows a loading animation when retrieving events list.
SRJIRA-4810 - We fixed a problem where
setAllowInlineEditstopped working in the Behaviour Initialiser.
SRJIRA-4800 - Comment visibility JQL functions now return correct results after a software/core project converted to Jira Service Management.
SRJIRA-4743 - Behaviour to set checkbox/radio buttons as Required now correctly removes "(optional") text, and the None option.
SRJIRA-4114 - Text Field (Multi-line) template no longer goes blank on additional tab, and the Description field template is no longer reset.
SRJIRA-2664 - It is now possible to clear the value of the Epic Link field in a behaviour.
Storing Environmental Variables
Want to simplify migrating from a test instance to production? Check out our new Storing Environmental Variables documentation for best practices.
SRJIRA-4827 - You can now search for Issue Picker field values by Issue Summary.
SRPLAT-1364 - Script Editor failed to open files with national characters created on 6.11.0.
SRJIRA-4839 - We fixed a bug where invalid format errors did not appear in Edit screen when scripted fields were present.
SRJIRA-4836 - An issue causing the script file to disappear from the UI for REST Endpoint scripts has been fixed.
SRJIRA-4826 - We fixed a bug where under certain circumstances a bulk move failed.
SRJIRA-4822 - We fixed a problem where if you added or edited a resource, a failure in another resource could prevent refreshing.
SRJIRA-4792 - The hasLinkType JQL function no longer breaks JSD queues when the referenced link type is renamed.
SRJIRA-3751 - We fixed a problem where filters using date/time methods with the
expressionJQL function, would intermittently fail.
SRJIRA-4794 - Database Picker fields now use the Display Value instead of ID in email notifications.
SRPLAT-1345 - Audit logging was added for Settings changes.
SRPLAT-1302 - Secure shell options have been expanded to include boolean literals and negation.
SRJIRA-4821 - A bug causing Issue Picker and Database Picker fields to copy the value to the left of the cell, when no value was present in the issue navigator, has been fixed.
SRJIRA-4529 - Fields set as read-only in a behaviour initialiser are now correctly prevented from being edited inline.
SRJIRA-3783 - The Behaviours
setRequiredmethod for the Tempo Account and Teams field no longer allows you to submit the value None.
SRJIRA-2230 - The post function Assign to Last Role Member now correctly picks the previously assigned user from the specified role.
Potentially Breaking Change
Previously, you could enable sorting in JQL queries through the use of the
getSortValue closure and
sortAttribute property in Database and LDAP pickers respectively.
These are now redundant. If you had implemented these, and don’t make any changes, the sort order may not be what it was before upgrading. Assuming you want the default value to be indexed and to be used for sorting, it’s safe to remove them. Otherwise, see the new configuration options at Database Picker or LDAP Picker.
SRJIRA-3852 - We now index Database Picker fields on display value.
SRPLAT-1221 - Bitbucket/Confluence/Jira is no longer prevented from correctly shutting down when ScriptRunner is installed.
SRJIRA-4779 - The Behaviours feature now scrolls to fields in errors on submit, for all types of fields.
SRJIRA-4759 - We fixed a problem where it was not possible to stop watching an issue after the Add Watcher post function triggered.
SRJIRA-4755 - We fixed a problem where Database Picker field values were not saved if you left inline edit active while creating a new issue in a modal window.
SRJIRA-4747 - The behaviour to clear the value of a selection list field now works in JSD portal.
SRJIRA-4735 - There is no longer a
NullPointerExceptionon Pie Chart gadgets using Scripted Issue Picker custom fields.
SRJIRA-4724 - JiraProjectPicker now returns
projectIdas an immutable project identifier.
SRJIRA-4623 - The Database Picker field can now set the field’s value using
setFormValueon Jira Service Desk.
SRJIRA-2191 - Split Custom Field Contexts built-in script now works properly for a cascading select list.
A new feature-length tutorial has been added on using the database picker with a raft of customisations, based on a real external database running in a docker container. Take a look at the Country Picker tutorial.
In ScriptRunner 7 there will be potentially breaking changes for users of the Database Picker - see breaking changes.
SRJIRA-4707 - You can now search for a lower case issue key in the Issue Picker field.
SRJIRA-2563 - We now support using behaviours with Mindville Insight custom fields.
SRPLAT-1319 - Custom scripts returning String from
getHelpUrl()did not work.
SRJIRA-4719 - renderColumnHtml closure is no longer called with wrong parameters.
SRJIRA-4710 - Clone Plus for Jira add-on now works for issues with Issue Picker fields.
SRJIRA-4699 - Dynamic forms ProjectRolePicker now persists data correctly.
SRJIRA-4696 - LDAP Picker fields now have their values automatically html-encoded.
SRJIRA-4690 - Database Picker fields no longer cause an exception in Issue Search.
SRJIRA-4688 - There is no longer an error when moving an issue without an Issue Picker field to an issue type with an Issue Picker field.
SRJIRA-4686 - Database Picker fields can now be sorted by clicking the column header in the issue navigator.
SRJIRA-4638 - Behaviour page no longer fails to load with the
Cannot read property 'scriptPath' of undefinederror.
SRJIRA-3937 - There are no longer hidden lines in the Script Editor
SRJIRA-2867 - Show parent issue in hierarchy Script Field no longer breaks when target issue has a parent.
SRPLAT-1302 - We have expanded secure shell options to include boolean literals and negation.
SRPLAT-1313 - Script configurations can now be saved with a blank inline script.
Ceasing Development on Jira 7
We are no longer developing new features for ScriptRunner versions running on Jira 7. See our Jira 7 Development statement for more information.
SRJIRA-4681 - Jira agile functions such as
nextSprintfail in a safe way when security is overridden.
SRJIRA-4670 - Picker fields no longer incorrectly sanitise the entirety of the "view html", rather than just DB or LDAP record.
SRJIRA-4662 - firstCommented and lastCommented fields available in the
dateCompare()jql function comparison expression now work as expected.
SRJIRA-4649 - Webhooks that use
previousSprintin their JQL query no longer fail with a NullPointerException.
SRJIRA-4611 - Issue Picker required fields now register a valid selection correctly.
SRJIRA-4598 - Behaviours mapping to a selected issue type is now working correctly.
SRJIRA-4412 - IssueLinkCreatedEvent and IssueLinkDeletedEvent are no longer triggered when the project is not included in the listener’s Project field.
SRJIRA-3634 - Script listeners that react to
ProjectComponent-based events now take the Project field into account.
SRJIRA-4672 - lastUpdate() issue function was not working correctly for issues without comments in ScriptRunner 6.9.0.
SRJIRA-4501 - The workflow error output was improved to make it easier to find the workflow and transition where the script is configured.
SRJIRA-4596 - Indexing failed because the
sr_num_atchfield was sometimes added multiple times per index document in Jira 8.10+.
SRJIRA-4586 - Compatibility with Jira 8.12 was added.
SRJIRA-4332 - Behaviours were not highlighting a tab when a field is required.
SRJIRA-4270 - Selecting or unselecting the All option from the Custom Fields cog caused the value set in the Read Only Single Select List to reset to None even by users who have limited access.
SRJIRA-4121 - LDAP and the database picker did not work when when the custom field context contained issue types. Additionally, the pickers were fixed for Service Desk users.
SRJIRA-4021 - Inline edit was not disabled by behaviours when it should have been on the Issue Details page for Jira 8 for certain board pages.
SRJIRA-3563 - The Bulk Copy SLA broke automation rules with "SLA time remaining" in a
Retiring Support for Internet Explorer
From Feburary 1st 2021 ScriptRunner will no longer support Internet Explorer. See our full statement for more information.
SRJIRA-4527 - Text search now looks for a match of the entire string first in Issue Picker fields.
SRJIRA-4449 - Issue Picker script fields now display up to 30 preview issues.
SRJIRA-4160 - You can now store all environment-specific variables.
SRJIRA-4590 - The information logged in the Indexing Stats Performance report has been improved.
SRJIRA-4578 - Picker fields have been made stattable to allow them to appear in certain gadgets.
SRJIRA-4576 - You can now update the SQL in Database Picker fields.
SRJIRA-4573 - You can now change the display attribute in LDAP Picker fields.
SRJIRA-4488 - DiagnosticsLoggerManager is compatible with
com.atlassian.logging.log4j.layout.JsonLayouton Jira 8.
Customising Database and LDAP Pickers
You can now customise LDAP and database pickers using the Configuration Script option. Use this to customise the displayed value, add additional information to the picker drop-down, customise the search filter, and more. For examples of these and more information on how you can use this functionality, see our Database Picker and LDAP Picker documentation.
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.
SRJIRA-4500 - Behaviours can now be enabled/disabled independently. Actions related to each behaviour have been moved into the Cog menu.
SRJIRA-3996 - Database Picker field queries can be generated using attributes of the current issue.
SRPLAT-1228 - An issue causing parameters to be garbled when adding a project filter to a query containing a picker field has been fixed.
SRPLAT-1227 - Some documentation links were missing from scripts.
SRPLAT-1217 - Switch to Different User script banner no longer breaks TinyMCE 4 functionality.
SRJIRA-4543 - Database Picker values are now sortable in JQL queries.
SRPLAT-1213 - Test on borrow is now the default for LDAP connections.
SRJIRA-4509 - Script fields now work correctly on Jira Service Desk when there are multiple request types corresponding to the same issue type.
SRJIRA-4463 - Script Fragment errors now logs information users can use to find the broken fragment.
SRJIRA-4418 - Behaviours no longer overwrite other behaviour scripts.
SRJIRA-3366 - The View in Issue Navigator button has been updated to show the correct results.
SRJIRA-4517 - ScriptRunner is now compatible with Jira 8.11.
SRJIRA-4451 - javax.mail.Session creation no longer fails in Jira 8.10.0.
JQL function: memberOfRole
memberOfRole to find issues where the value of a user field is a member of a given role, for example:
issueFunction in memberOfRole("Reporter", "Administrators") issueFunction in memberOfRole('Approvers', 'Service Desk Team')
See our documentation on memberOfRole.
SRJIRA-4349 - You can now create an LDAP resource with Anonymous bind.
SRJIRA-4271 - A JQL function has been added to find issues assigned to users in a role.
SRPLAT-11 - An invalid user-configured raw XML script fragment could have prevented the ScriptRunner plugin from enabling.
SRJIRA-4405 - The lastComment("inRole Administrators") query has been optimised to take account of any project clauses.
SRJIRA-4388 - We fixed an issue in behaviours where the Method Selection field was not appearing, even though a file had been selected.
SRJIRA-4353 - The behaviour UI condition now checks the workflow step correctly for the Create Issue screen.
SRJIRA-3799 - In behaviours, the IssueType/Project field is no longer editable via the Create Issue screen when the Behaviour sets it to read-only.
SRJIRA-3766 - A Field Required error in behaviours has been fixed.
SRJIRA-2563 - We added support for using Behaviours with Mindville Insight custom fields.
SRPLAT-1171 - The Confluence-specific scriptMacroMetadataProvider module no longer shows up in UPM for all ScriptRunner products.
SRJIRA-4401 - There is no longer a NullPointerException when a JQL function is unavailable.
SRJIRA-4391 - Adding a default value to a database picker no longer causes a MethodInvocationException.
SRJIRA-4386 - Multi-Issue Picker field validation now works correctly when the field is set to Required using the Field Configurations.
SRJIRA-4323 - Picker fields are now fully functional when placed at the bottom of a form.
SRJIRA-4076 - The behaviour "Setting a Default Description" now works correctly when the Rich Text Editor is disabled.
SRJIRA-3918 - Setting a user picker value via behaviours now works in JSD portal if the logged-in user is a customer.
SRJIRA-2974 - Aggregate functions were not always displaying calculations when a search was performed.
SRJIRA-4380 - The
clearErrorbehaviour was not able to clear out
AddMissingScriptFieldConfigurationsUpgradeTaskskipped custom fields.
SRJIRA-4373 - The ScriptRunner plugin presence broke the JSD Customer Portal loading.
SRJIRA-4338 - When using two
select2fields with behaviours on each, it was possible to get an infinite loop.
SRJIRA-4112 - When using behaviours to change options on a checkbox or radio button, field-level scripts did not run because change events were not fired.
SRJIRA-4032 - The
setRequiredbehaviour method on User Picker fields could prevent the User Selection drop-down from clearing.
SRJIRA-2686 - When using behaviours, clearing all radio button/checkbox options prevented being able to add options.
SRJIRA-2416 - Behaviours did not return the value of the Sprint field as expected.
SRJIRA-4329 - There is now IssueContext-like access to request type name in Service Desk behaviours.
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".
SRJIRA-4334 - Making a multi-group picker read-only now disables the link to an external popup.
SRJIRA-4308 - The type of issue in post-function was incorrectly Issue and not MutableIssue.
SRJIRA-4294 - Database picker fields now use the correct RestFieldOperationsHandler.
SRJIRA-4280 - Single-select list fields width is no longer narrow when ScriptRunner is installed.
SRJIRA-4263 - Behaviours now works correctly with Chrome 81.0.4044.92+.
SRJIRA-4260 - Classloader cache now refreshes properly.
SRJIRA-4177 - Database Picker and Issue Picker fields configured for "Multiple" selection are now correctly "Required" when set to "required" via field configuration.
SRJIRA-4170 - The Multiple Issue Picker no longer shows an entry in the Change History of an issue when it was not changed.
SRJIRA-4159 - 5.6.15 no longer throws a java.lang.ClassCastException error when using an LdapTemplate.
SRJIRA-4027 - An issue with keyboard shortcuts and autocomplete in the browser-based Code Editor has been fixed.
SRJIRA-3973 - Post function "Transition parent when all subtasks are resolved" does not require a Resolution field.
SRJIRA-3934 - The setLabel() no longer causes a duplicate if any markup parameters are included.
SRJIRA-3860 - The script for reindexing scripted fields in the documentation has been updated for the Jira 8 API.
SRJIRA-3771 - Single-select / Multi-select list conversion no longer duplicates field (Behaviour) on Jira Service Desk Customer Portal.
SRJIRA-3720 - Behaviours API now recognises translated language.
SRJIRA-3526 - User Picker Required validation now works correctly for behaviours.
SRJIRA-3367 - The User-aware and Date-aware script fields now appear in the correct panel after a cache reset.
SRJIRA-3303 - Issue picker field now works correctly as a required field.
SRJIRA-2820 - The Bulk Fix Resolution built-in script now closes the SLA of the issue.
SRJIRA-2535 - The Bulk-Fix-Resolution built-in script now retains the original resolution date.
SRJIRA-2027 - Form values are now available in the Behaviours initialiser.
SRJIRA-4325 - Script Field - Configure screen link is broken
SRJIRA-4318 - Unable to create ticket issue upgrading to 6.0.1 due to missing script field config
SRPLAT-1119 - Classes in scriptrunner-api/spi no longer consumable by dependent plugins
SRJIRA-4297 - Built in script Script registry - java.lang.NullPointerException
SRJIRA-4295 - Exceptions during issue creation, indexing due to failed script fields upgrade
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.
Hidden Fields Removal
Hidden Fields custom fields, which were deprecated in version 5.6.14, have now been removed. Even though all the hidden fields configuration and data will still exist in the database, it is recommended that users change the custom field type of all hidden fields before updating to this version. To change the custom field type, follow the Atlassian guidelines.
If changing custom field type via the database, use the following type keys:
and custom field searcher:
Use of Natural Searchers in Script Fields
Previously many users may have used the Natural Searchers for Jira plugin. Use of these searchers on script fields allows the use of gadgets such as Two Dimensional Filter Statistics and Heatmap, for these fields.
This release of ScriptRunner includes searchers similar to those provided by the Natural Searchers for Jira plugin. On installation of this version, ScriptRunner converts any usage of searchers in script fields from the plugin versions, to ScriptRunner-native versions.
If you are only using this plugin for script fields natural searchers, you can uninstall the Natural Searchers for Jira plugin. To check your usage of the Natural Searchers for Jira plugin navigate to Admin → Natural Searchers.
Please see the warning message on usage.
SRJIRA-2335 - ScriptRunner now provides stat-able/natural searchers
SRPLAT-1092 - There is now DocLink support for absolute URLs
SRPLAT-1084 - The autocompletion window of the Script Console now closes correctly
SRPLAT-1041 - ScriptRegistry performance has been improved
SRJIRA-4075 - The Custom Email post function now saves multiple values selected in To Issue Fields and CC Issue Fields
SRJIRA-3080 - The binding variable 'originalIssue' is no longer incorrectly displayed for Custom Script post functions