Substitution variables

Substitution variables

This content is archived.

On this page

Description

Substitution variables provide powerful capabilities to customize the creation of issues. Variables provide text string representations of fields useful for inclusion in other fields.

  1. Setting field values from other fields and custom field values.

  2. Constructing conditioning values.

  3. For multi-issue creation scenarios.

The syntax for referencing substitution variables is: %<variable name>%. All text entry fields support replacement. 

Example: %parent_summary%

Variables

Some variables are listed on the post function definition screen as an aid when creating definitions. This is a more complete and detailed list and represents the variables available with the most recent version of the add-on. If you need access to additional fields, raise a support request with our support team.

Note the terminology for the meaning of parent and original.

Custom fields

Custom fields are identified by name or id (like customfield_12345). By name is easier to know what it is referring to but by id will survive renaming a custom field.

Variable

Description

Notes

user_id

User id of user that is considered to be doing the transition


user_name

Display name of user that is considered to be doing the transition


entry

Entry from multiple issues processing

Example: How to condition the creation of issues.

now

Current date/time in Jira complete date/time format or a specific format 


project, parent_project, original_project, entry_project

Project key of the issue


project_id, parent_project_id, original_project_id, entry_project_id

Project id (numeric) of the issue


project_name, parent_project_name, original_project_name, entry_project_name

Project name for the issue


project_category, parent_project_category, original_project_category, entry_project_category

Project category name for the project of the issue

Blank if the project does not have a category configured.

project_lead, parent_project_lead, original_project_lead, entry_project_lead

User id of the project lead.


project_default_security, original_project_default_security, entry_project_default_security

Default issue security level name for the project


project_default_security_id, original_project_default_security_id, entry_project_default_security_id

Default issue security level id for the project


parent_key, original_key

Issue key


parent_id, original_id, entry_id

Issue numeric id


parent_summary, original_summary

Summary


parent_description, original_description

Description


parent_environment, original_environment

Environment


parent_issuetype, original_issuetype

Issue type


parent_status, original_status

Issue status


parent_priority, original_priority

Priority


parent_reporter, original_reporter

Reporter user id


parent_assignee, original_assignee

Assignee user id


parent_components, original_components

Comma separated list of components


parent_component_descriptions, original_component_descriptions

Comma separated list of component descriptions. Some may be blank.


parent_affected_versions, original_affected_versions

Comma separated list of affected version names


parent_fixed_versions, original_fixed_versions

Comma separated list of fixed version names


parent_subtasks, original_subtasks

Comma separated list of sub-task issue keys


parent_duedate, original_duedate

Due date in Jira DMY date format or a specific format


parent_created, original_created

Created date in Jira complete date/time format or a specific format 


parent_updated, original_updated

Update date in Jira complete date/time format or a specific format 


parent_resolution, original_resolution

Resolution


parent_resolution_date, original_resolution_date

Resolution date in Jira complete date/time format or a specific format 


parent_labels, original_labels

Blank separated list of labels


parent_labels_comma_separated, original_labels_comma_separated

Comma separated list of labels


parent_watchers, original_watchers

Comma separated list of watcher user ids


parent_watches, original_watches

Number of watchers of the issue


parent_votes, original_votes

Number of votes for the issue


parent_time_spent, original_time_spent

Time spent on the issue in minutes

The Jira timeSpent field returns seconds.

parent_estimate, original_estimate

Current estimate for the issue in minutes


parent_original_estimate, original_original_estimate

Time spent on the issue in minutes

Note the two different meanings of the original word here (smile).

parent_security_level, original_security_level

Security level name


<field name>

Parent issue's Jira issue field value

Deprecated but still active, recommend using specific replacements variables instead

Examples: components, resolution. See Jira issue field contstants.

Jira defines what information is returned by these fields.

<customfield name>

parent_<customfield name>

Parent issue's custom field value

Recommend using prefix qualified name for clarity

Must be an exact match including case and blanks.

Jira defines what information is returned by these fields.

<customfield id>

parent_<customfield id>

Parent issue's custom field value

Example: customfield_10010.

Jira defines what information is returned by these fields.

original_<customfield name>

Original issue's custom field value

Similar to above.

Useful for sibling create scenarios.

original_<customfield id>

Original issue's custom field value

Similar to above.

Example: original_customfield_10010.

transition_comment

Comment entered on the transition screen


transition_user_id

Actual transition user id even if using acting support


transition_user_name

Actual transition user name even if using acting support


jql_result_count

Number of issues returned by the query


jql_result_list

Comma separated list of issue keys returned from the query


jql_result_n

The issue key for the nth issue returned from the query where n is a number

Blank if n is not in range for the issue list.

pattern1_n

nth capture group from condition pattern 1

Blank if n is not in the range of valid capture groups.

pattern2_n

nth capture group from condition pattern 2

Blank if n is not in the range of valid capture groups.

property_<property name>

Transition property. Other transition functions can add transition properties that can referenced. This provides a way to access those transition properties. You must know the property name.


Examples:

  • org.swift.jira.cot.last_created_key

  • org.swift.jira.cot.last_created_non_subtask_key (4.6)

  • org.swift.jira.cot.created_key_list

  • org.swift.jira.acli.validator_message - result message from last CLI action validator

  • org.swift.jira.acli.function_message - result message from last CLI action post function

group_<group name>

Comma separated list of user ids for members in the group

Example: group_jira-users.

role_<role name>

Comma separated list of user ids for users that are role actors for the project of the original issue

Example: role_developers.

values_<customfield name>

values_<customfield id>

For special use cases only needing access to the field configuration.

Comma separated list of custom field option values in the context of the original issue

This is for accessing the configuration of the custom field and NOT the values of a custom field for an issue (see custom field value substitution variables mentioned above).

Custom field should be of a type that has option value like multi-select or cascade select. For cascade select fields, it is a list of parent option values.

values_<customfield name>(<value or sub variable>)

values_<customfield id>(<value or sub variable>)

For special use cases only needing access to the field configuration.

Comma separated list of cascade select child option values for the specific parent value provided.

This is for accessing the configuration of the custom field and NOT the values of a custom field for an issue (see custom field value substitution variables mentioned above).

Primarily used for advanced scenarios for multi-issue creation scenarios using entry substitution variable. See How to use a cascade select configuration to provide a value map.

Examples: values_custom-cascade-select(entry), values_custom-cascade-select(1)

function_<function name>(<parameters>)

  • earliestUnreleasedVersion(projectKey)

  • latestReleasedVersion(projectKey)

  • versionId(projectKey, versionName)

  • fieldValue(issueKey, fieldName)

  • list(startNumber, endNumber)

  • findReplace(text, replacement)

  • userName(userId)

  • versionInfo(projectKey, versionName, request, dateFormat) 

  • groupMemberList(groupName)

  • componentLead(projectKey, componentName)

  • linkedIssues(issueKey, linkType)

Functions that derive useful text values that can be used as substitution variables. Some are similar to their equivalent JQL function (follow link). The parameter(s) may be a substitution variable.

Make sure you use the correct syntax!

Set custom field: field: My custom field, value: %function_earliestUnreleasedVersion(%project%)%

Example: function_earliestUnreleasedVersion(%project%)

cli_replace_<name>

Many Atlassian CLI products support setting replacement variables during the running of actions in order to facilitate use in a subsequent actions. Run CLI Actions in Jira workflow functions will take these replacement variables from the running of a CLI action and populate the transition properties so they can be available in subsequent functions as substitution variables. Use the prefix and the replacement name from the lists shown on the replacement variables page after running a CLI action function that produces replacement variables.

Example: cli_replace_issue will be replaced with the issue key of the last created issue after the createIssue action is run by a CLI action function.

 

Configured date format

For date substitution variables, the format of the replacement variable can be specified if the default format is not desirable. The format is specified by a Simple Date Format string enclosed in parenthesis following the substitution variable name. For example: %created(yyyy-MM-dd)% will result in replacement like 2013-05-28.

Need support? Create a request with our support team.

Copyright © 2005 - 2025 Appfire | All rights reserved.