Set field value

When you add this post-function to a transition and the transition is triggered, the post-function will set the selected field or fields of either the current issue or issue(s) related to the current issue to the specified value. Possible values include:

  • Constant or Groovy Template - You can set the field to a constant value or, optionally, text output using Groovy Template markup to insert dynamic content.
    For example, to set the Description of the issue, you could use:
    This bug has been raised by <%=issue.get("reporter").getName()%> with <%=issue.get("priority").getName()%> priority. Act accordingly. 

  • Groovy expression - You can set the field to the result of a Groovy expression.
    For example, to set the Assignee to the Reporter of the issue, you can specify issue.get("reporter").

See the Expected Value tab of the Groovy Help menu for details about the expected values.

Please note: This post-function replaces the Set field value, Set field value of related issues, and Set field value of linked issues post-functions. These post-functions will not be removed at this time, but should not be used in any new extensions. Any workflows that use the deprecated extensions should be updated to use this post-function instead.

Configure the post-function

  1. Follow the steps above to add a post-function to a Transition.

  2. From the list of post-functions, select Set field value.

  3. Click Add.

  4. The Set Field Value page will open (Figure 1, right). Configure the post-function as needed, setting the options for field, target issue, and additional options as necessary. See below for details on each of the configurations.

  5. Click Add.

Note that you need to publish the workflow for the new post-function to take effect.

Field Selection

Select the field that will be updated when the post-functions runs.

  • Field - Select the field to edit from the pulldown menu. Alternately, use the search box within the pulldown to search for a specific field.

Target issues

This section includes configurations for which issue to update and the value to use for the field selected in Field, above.

  • Which issue(s) - Select the issue type.

    • Current Issue - The issue that is being transitioned and triggering the post-function.

    • Issue/Subtask

      • Sub-tasks of the current issue - Updates will be made to all sub-tasks of the current issue.

      • Parent issue of the current sub-task - Updates will be made only to the parent of the current issue (if any).

    • Epic/Story

      • Issues that belong to the current Epic - Updates will be made to all issues that belong to the current Epic.

      • Epic of the current issue - Updates will be made only to the Epic of the current issue (if any).

    • Portfolio Parent/Child

      • Child issues of the current issue in the Portfolio hierarchy - All child issues will be updated.

      • Parent issue of the current issue in the Portfolio hierarchy - Only the parent issue will be updated.

    • Issue links

      • Issues linked to the current issue through any link type

      • Issues linked to the current issue through the following link type

    • JQL / Groovy

      • Issues returned by the following Groovy script

      • Issues returned by the following JQL search

  • Issue Link - Only available when Which issue(s), above, is set to Issues linked to the current issue through the following link type. Select the required link type between the current issue and the issue to be updated.

  • Groovy script - Only available when Which issue(s), above, is set to Issues returned by the following Groovy script. Enter a Groovy script that returns the ID values for the issue or issues to be updated. See Customizing further with Groovy scripts for more information on Groovy scripting.

  • JQL expression - Only available when Which issue(s), above, is set to Issues returned by the following JQL search. Enter a JQL expression that returns the ID values for the issue or issues to be updated. See Using JQL in JMWE for more information on JQL.

  • Value type - The value to use can be a constant, a value derived from a Groovy template, or can be dynamically determined using a Groovy expression.

    • Constant or Groovy Template

    • Groovy Expression

  • Value - The constant value or, if using a Groovy template or Groovy expression, the script to use for determining the field value.

Options

  • Set only if empty - Sets the value of the selected field only if the field is empty.

  • Ignore empty values - Will not set (clear) the selected field, if the value is empty or null.

  • Add value(s) to selected fieldOnly valid for multi-valued fields. Appends the specified value(s) to the selected field of the current issue.

  • Remove value(s) from selected field - Only valid for multi-valued fields. Removes the specified value(s) from the selected field of the current issue.

  • Create missing value(s) - Allows automatically creating any missing value(s) while setting a field value. This is applicable only to Affects Version/s, Fix Version/s, Single version and Multi-version picker type custom fields, Components, Radio buttons, Checkboxes, Single select and Multi-select list type custom fields.

  • Trigger an “Issue Updated” notification email on each modified issue - Select this option to send a notification email when this post-function executes against an issue.

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. For example:

      • "jdoe" - Username

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

Conditional execution

To execute this post-function based on the result of a groovy expression, check this option. See Conditional execution/validation using a Groovy expression for more information.

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. On development and staging Jira instances, you can activate error reporting for all JMWE post-functions on the JMWE configuration page, and it is recommended to do so. But on 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. 

You are viewing the documentation for Jira Server / Data Center.

On This Page

Figure 1 - Set field value