Our new Appfire Documentation Space is now live!

Take a look here! If you have any questions please email support@appfire.com

Set issue fields

A workflow post-function that sets the value of a selected field of the current issue or issues related to the current issue. The value can be provided either as text (with optional Nunjucks annotations) or as a JSON value.

To add the 'Set issue fields' post-function to a transition: 

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

  2. Select the transition in the Workflow Designer.

  3. Click Post Functionsin the properties panel.

  4. Click Add post function.

  5. Select Set issue fields from the list of post-functions.

  6. Click Add to navigate to the Set issue fields post-function screen where you can configure the post function as needed. See here for more details.

  7. Click Add to add the post-function to the transition.

After adding, move the post-function to the appropriate position according to Placing post-functions in a transition document.

Known limitations common to all post-functions:

Related articles:

When you add this post-function to a transition and trigger the transition, the add-on sets one or more field values of the target issue(s) as configured. The values can be provided either as text (with optional Nunjucks annotations) or as a JSON object.

  • Text - can be a simple string (for text typed fields), the string representation of a number, date, or boolean value, or the string representation of a complex value, such as a Version name, a username, a Project key, etc. Multiple values can be separated by commas. You can also use Nunjucks annotations to insert issue, transition, and current user information into the value, using the issue, transition, and currentUser variables, respectively. 

  • JSON value - requires the option Treat value as JSON (explained here), it can be a String, a Number, a Boolean, or an Object. It can also be an array of such values.

To find out more about the type of value expected by this post-function for different field types, see Expected value for each field type.

Configuration details

 

Configure the following details in the Set issue fields post-function screen:

Issue(s) to operate on

Target Issue(s): Use this to select the target issue(s) on which the selected field(s) needs to be set. Select one of the following:

  • Current issue: Sets the value of the selected field(s) on the current issue. (Default option)

  • Sub-tasks of the current issue: Sets the value of the selected field(s) on the sub-tasks of the current issue.

  • Parent of the current sub-task: Sets the value of the selected field(s) on the parent of the current issue

  • Issues that belong to the current issue (Epic): Sets the value of the selected field(s) on the issues that belong to the current Epic.

  • Epic of the current issue: Sets the value of the selected field(s) on the Epic of the current issue.

  • Child issues of the current issue in the Portfolio hierarchy: Sets the value of the selected field(s) on the child issues of the current issue in the Portfolio hierarchy.

  • Parent issue of the current issue in the Portfolio hierarchy: Sets the value of the selected field(s) on the parent issue of the current issue in the Portfolio hierarchy.

  • Issues linked to the current issue through any link type: Sets the value of the selected field(s) on all issues linked to the current issue.

  • Issues linked to the current issue through the following link type: Sets the value of the selected field(s) on issues linked to the current issue through a specific link type.
    Issue Link (displayed only when the previous option is selected): Select an issue link type from the drop-down.

  • Issues returned by the following Nunjucks template: Sets the value of the selected field(s) on the issues returned by the result of a Nunjucks template. Enter a Nunjucks template, which is a comma-separated list of valid issue keys.
    For example:

    • "TEST-1"

    • "TEST-1","TEST-2"

    • {{ issue.fields.parent.key }}

    • {{ issue.fields.subtasks | join(",", "key") }}

  • Issues returned by the following JQL search: Set the value of the selected field(s) on the issues returned by a JQL search. Enter a JQL search expression.
    For example:

    • project = TEST returns issues of the project with the key TEST

    • project = {{ issue.fields.project.key }} and assignee = {{currentUser._accountId}} returns issues of a project that belong to the project with key TEST and the assignee is the current user

    • {% if issue.fields.assignee %} assignee = {{issue.fields.assignee._accountId}} {% else %} issuekey=INVALID-1 {% endif %}

The {% if %} block is necessary to avoid an invalid JQL query when the issue is unassigned. In this case, the template returns a valid JQL query that returns no issue (issuekey=INVALID-1).

Set Fields

Add Field(s): Select one or more fields from the drop-down to add them to the panel below, where you can set:

  • Value: Enter a value to be assigned to the respective field in the target issue using a Nunjucks template. See How to insert information using Nunjucks annotations, to know more about adding dynamic content such as issue, transition, or user information to the selected field.

  • Option: Select one or more options to check the specified target field value(s) as specified and set the value accordingly. Available options:

    • Treat value as JSON: Sets the respective field value(s) from a JSON object or an array of objects. It considers the Value in the value template and parse it like a JSON string into a JavaScript object. This will be passed back to Jira as the value of the field. To learn about the JSON value expected by the post-function, see Expected value for each field type.

    • Set only if field is empty: Sets the value of the selected field only if the field in the target issue(s) is empty.

    • Create missing value(s): Allows creating any missing component(s) or version(s) while setting a field that expects Versions or Components. This is applicable for version and component fields.

    • Ignore empty value: Does not set (clear) the selected field, if the value is empty or null.

    • Append value(s) to the field: Appends the specified value(s) to the selected field of the current issue. This is applicable only to multi-valued fields.

Click Add to add the respective field to the list of fields to be set using the post function. You can edit or delete a field using the edit or delete icons of the respective field.

Global options

  • Send notifications: Jira sends notifications for the change in the values of the selected field(s) on the target issue(s). You can control the default value of the "Send notifications" option in the Configuration page under JMWE administration. Click here for more information.

  • Conditional Execution
    Run this post-function only if a condition is verified: Select this option to run this post-function based on the result of a Nunjucks template (see Conditional execution). The condition mentioned here is evaluated for each target issue.

  • Run As: Select one of the following:

    • Run as current user: To set the current user as the author of the field change.

    • Run as add-on user: To set the add-on user as the author of the field change. (Default option)

    • Run as this user: To set any user selected in this field as the author of the field change.

Running this post-function as any user other than the "Add-on user" is discouraged

If you select any option other than "Run as add-on user", so that the change appears to be done by the current user or a specific user, the following must be true:

  • The destination field must be present on the Edit screen applicable to the issue being modified

  • The selected user must have the Edit issues permission on the issue being modified

  • Delayed execution

JMWE shows an error message on the issue view if any error occurs during the execution of the post-function. This message is only displayed if the current user is a Jira administrator.