Scripted (Groovy) operation on issue

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

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.

Related links :

For information on where the post-function needs to be placed on a transition, see Placing post-functions on a transition.

Refer to the Use cases for post-functions page for use cases for this post-function.

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

Run as user: Select one of the following options to set the author of the action performed by this post-function as:

  • Current user: The user transitioning the issue.

  • Specific user: The user specified in the select-list provided. Start typing into the field to select a user from the list of auto-suggestions.

  • User in field: The user specified in a user picker field of the issue being transitioned. Select one of the user fields from the list of available options in the field provided.

  • User from script: The user returned by the Groovy script specified in Script. This script should return either the Username of the user or an ApplicationUser object.

    Examples:

    • "jdoe" - Username

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

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: