Scripted (Groovy) operation on issue

Cloud Migration Resources

Planning a Jira Cloud migration? These resources can help you get started:

JMWE Cloud features – Review Cloud features and understand key differences between DC and Cloud.
Migration support from Appfire – Learn how we can help you migrate smoothly.

Scripted (Groovy) operation on issue

A workflow post-function that executes a Groovy expression against the current issue.

Figure 1 - Scripted (Groovy) Operation post-function

To add the 'Scripted (Groovy) operation on issue' to a transition:

  1. Click Edit for the workflow that has the transition you wish to configure the post-function on.

  2. In the Workflow Designer, select the transition.

  3. Click on Post Functions in the properties panel.

  4. Click on Add post function.

  5. Select Scripted (Groovy) operation on issue  from the list of post-functions.

  6. Click on Add to add the post-function on the transition.

  7. Input a description for the script in Description field.

  8. Input a Groovy script in the Groovy script field.

  9. Click on Add to add the post-function to the transition.

 

When you write Groovy scripted post-functions to set/modify the values of issues other than the current issue, you need to use the setFieldValue(String <field_name>or<field_Id>, Object value) method, otherwise the changes will not be saved.

When you add this post-function to a transition, the add-on executes the provided Groovy script against the current issue. This post-function can be used in scenarios where you want to act on the current issue or on related issues in ways that are not supported by other JMWE post-functions. For example, you might want to copy attachments of the current issue to its linked issues, which is not currently supported by the Copy field value to related issues post-function.

Run As

Select which user account will be used when running the post-function.

  • Run as user

    • Current user - The user who triggered the transition.

    • Specific user - Select a specific user account to execute the post-function.

    • User in field - Select a User Picker field or other custom field containing user values.

    • User from script - Enter a Groovy script that returns a user ID.
      Examples:

      • "jdoe" - To use a static value username.

      • issue.get("assignee") - To return the current issue's Assignee.

Note: Prior to JMWE 8.4.0, this configuration stores a username value. If an Administrator changes a user’s username, the post-function will fail.

Existing post-functions created before version 8.4.0 should be updated; open the post-function for editing and save it (no changes are necessary). This will update the configuration to use the immutable user ID value.

New post-functions do not need to be updated.

Error Handling

By default, all errors (Java Exceptions) raised by this post-function, including those raised by custom Groovy scripts, will be logged in the JIRA log file but will not be reported to the user and will not prevent the transition from completing. However, when designing new workflows or troubleshooting them, it is more convenient to be notified immediately of any such error during the execution of the transition. For example on the production Jira instances you might want to show errors only for the post-function(s) being worked on, in order to avoid disrupting other workflows. To make errors raised by the current post-function prevent the transition from completing and show the error in the browser, select Make transition fail when an error occurs in this post-function.

If you want to show all the errors, either only to the admins or to all users, configure the option globally on the JMWE configuration page. For example, on development and staging Jira instances, you can activate error reporting for all JMWE post-functions, to display all the errors and it is recommended to do so, and on production Jira instances you might want to activate error reporting only to administrators so that they can be made aware of configuration errors.

When the option is selected on a post-function, it overrides the configuration on the JMWE configuration page.

See also:

Need support? Create a request with our support team.

Copyright © 2005 - 2026 Appfire | All rights reserved.