Hidden Fields Deprecation

Hidden Fields custom fields will be deprecated in ScriptRunner for Jira Server/Data Center. Hidden fields will no longer be available in your instance once the feature is deprecated. However, all the hidden fields configuration and data will still exist in the database. To change the custom field type, follow the Atlassian guidelines.

If changing custom field type via the database, use the following type keys:

com.onresolve.jira.groovy.groovyrunner:hideable-textfield
com.onresolve.jira.groovy.groovyrunner:hideable-textarea

and custom field searcher:

com.onresolve.jira.groovy.groovyrunner:hideable-textsearcher
We recommend users change the custom field type of all hidden fields before the deprecation.

Version 5.6.7 and Above

Some Groovy Classes Backwards-incompatible

To lay the groundwork for new features, sometimes we need to refactor our existing code. When doing this, Adaptavist focuses on backwards compatibility, to ensure features continue to work as they did before upgrading.

A few users may have created groovy classes that overrode either com.onresolve.scriptrunner.canned.jira.workflow.postfunctions.CloneIssue or com.onresolve.scriptrunner.canned.jira.workflow.postfunctions.CreateSubTask. We have had to change these in a way that is backwards-incompatible, therefore these will no longer work. We are currently working on better ways to allow users to make these kinds of customisations.

There is no simple fix to make the overriding scripts compatible. Rather than overriding them, there are several options available:

  1. Use the Additional Issue Actions code section to add code that executes after Clone Issue is completed.

  2. Add a Custom Script Function/Listener to perform additional actions after the Clone/Create function.

  3. Call the function programmatically, dynamically setting the inputs as required.

    import com.onresolve.scriptrunner.canned.jira.workflow.postfunctions.CloneIssue
    import com.onresolve.scriptrunner.runner.ScriptRunnerImpl
    
    def inputs = [
        'FIELD_TARGET_PROJECT' : 'FOO',
        'FIELD_SELECTED_FIELDS': null, //clone all the fields
    ] as Map<String, Object>
    
    def executionContext = [
        issue: issue,
    ]
    
    def cloneIssueBean = ScriptRunnerImpl.scriptRunner.createBean(CloneIssue)
    cloneIssueBean.execute(inputs, executionContext)

    The best way to find the keys and values of the inputs is to view the network request in your browser when you configure the function. For example:

    network capture

If these options don’t meet your needs, please contact Adaptavist Support for help.

Downgrading

Due to changes and improvements to our API, downgrading is not guaranteed to work so it is only recommended when confirmed by Adaptavist Support.

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.