Our new Appfire Documentation Space is now live!

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

Use cases for post-functions

This section has use cases that help you in understanding the usage of post functions. A few post-functions of JMWE have been deprecated and will no longer be enhanced. However, they still continue to work and you can configure and use the post-functions. But it is recommended to use their replacements instead.

On this page

Assign to role member

A workflow post-function that assigns the target issue to a member of a selected project role. 

Sample use cases:

 On the creation of a Bug assign it to a user only if he is a Product Owner

  • Create a Product Owner project role, with the product owner as the only member.

  • Add the Assign to role member post-function to the Create transition of the Bug workflow.

  • Select Product Owner as the project role.

  • Select the Conditional execution check box Run this post-function only if a condition is verified.

  • Input the following code template in Condition.

    {{ issue.fields.issuetype.name == "Bug" }}

 Assign an issue to a member of the QA team when the issue is transitioned to Ready for testing status

  • Create a QA project role, with the testers as its members.

  • Add the Assign to role member post-function to the transition that leads to Ready for testing.

  • Select QA as the project role to look for.


 Assign an issue to a member of the Support - UTC project role only when the reporter time zone is UTC.

  • Add the Assign to role member post-function to the Create transition of the issue workflow.

  • Select Support-UTC as the project role.

  • Select the Conditional execution check box Run this post-function only if a condition is verified.

  • Input the following code in Condition.

    {{ issue.fields.reporter | userProperty("TimeZone") == "UTC" }}

On approving a Story assign the subtasks of the Story to a member of the Developer project role

  • Add the Assign to role member post-function to the Approve transition of the issue workflow.

  • Select the “Target Issue(s)” as “Sub-tasks of the current issue”

  • Select Developers as the project role.

Assign to last role member

A workflow post-function that assigns the target issue to the last assignee who belongs to the selected project role.

Sample use cases: 

 When a tester reopens an issue assign the issue to a Developer who last worked on it.

  • Create a Developer project role, with the developers as its members.

  • Add the Assign to last role member post-function to the Reopen transition.

  • Select Developer as the project role to look for.

 After testers have validated an issue, it should be assigned to the last product owner who worked on it for the functional validation. The product owner might either have been explicitly assigned to the issue before, to write the functional specification or have written the specification while creating the issue.

Assign the Story to the tester who last worked on the Story when all the bugs blocking the Story are fixed

Build-your-own (scripted) Post-function

A post-function that allows you to run an arbitrary Nunjucks template (script). This can be used to create your own post-functions.

Add a worklog entry to the issue. You can do this using the callJira custom Nunjucks filter.

Clear fields

A workflow post-function that clears the value(s) of the selected field(s) of the target issue.

 Clear the Fix Version/s field on the reopening of a ticket.

Clear a set of fields on all the linked issues of the current issue when an Abort is triggered on the current issue

Clear fields of linked issues - Deprecated - Use Clear Fields instead

A workflow post-function that clears the value of the selected field(s) of the issues linked to the current issue through a specific link type.

 Clear a set of fields on all the linked issues of the current issue when an Abort is triggered on the current issue

Comment issue(s)

A workflow post-function that creates a comment on the target issue(s). The text of the comment to be created can be any simple text or a text with Nunjucks annotations.

Sample use cases:

 A customer using Jira Service Desk should be notified via comment when someone has started working on their support request.

 On resolving or closing the issue, comment the issue with a summary of the worklog.

An issue is blocking another and you want to ensure the Assignee of the blocked issue is notified when the impediment has been resolved.

 Add a comment on all the sub-tasks when the parent is canceled

 On the Approval of an issue, copy the comment added if any to its sub-tasks.

 Add a comment on the Epic when its user story is resolved.

 The Service Desk Agent responsible for a support request should be notified when the linked Bug is resolved.

Comment linked issues - Deprecated - Use Comment issue(s) instead

A workflow post-function that creates a comment on all issues linked to the current issue through a selected link type. The text of the comment to be created can be any simple text or a text with Nunjucks annotations.

Sample use cases:

 An issue is blocking another and you want to ensure the Assignee of the blocked issue is notified when the impediment has been resolved.

 Add a comment on all the sub-tasks when the parent is canceled

 On the Approval of an issue, copy the comment added if any to its sub-tasks.

 Add a comment on the Epic when its user stories are resolved.

 The Service Desk Agent responsible for a support request should be notified when the linked Bug is resolved.

Copy comments to related issues

A workflow post-function that copies the comment(s) of the current issue to the specified related issues

Sample use cases:

 When a developer transitions an issue to "Customer Feedback" copy the developer's comment on the transition screen to the linked issue.

 Configure bi-directional sync of comments between the issues linked through the “causes” link type.

Create issue

A workflow post-function that creates one or more new issue(s). The specifications of the issue(s) to be created can be customized using the options provided.

Sample use cases:

 Create a documentation ticket only if "Needed" is selected in the "Documentation ticket" checkboxes field

 On the approval of a Story, create two sub-tasks: one for Development and another for QA.

 We use Jira Service Desk for support and Jira Software for development. When the support agent's problem analysis identifies a bug, a Bug should be created in the development project.

 To onboard a new employee in the HR database, create tasks for the New Employee ticket for Configuring a new computer system, Set up an employee phone and Configure a new employee work space.

 An Epic has a Story and the Story has a sub-task. When the sub-task is reopened we want to create a bug in another project linking it to the sub-task. On creation of the Bug, set its Epic link to the Story's Epic link

 When a user raises a bug report, post-verification, automatically add it to the backlog in the development project and copy the issue links of the Bug to the newly created issue.

Copy field value from linked issues

A workflow post-function that sets the value(s) of a selected field to the value(s) from the same/different field of an issue linked to the current issue through a selected link type.

Sample use cases:

 Copy the Fix Version/s field from the Epic to a Story, while creating a Story.

 Automatically add the Reporter of an Epic to the watchers of its User Stories while creating a Story.

Copy field value to linked issues

A workflow post-function that copies the value(s) of a selected field into the same/different field of all issues linked to the current issue through a selected link type.

Sample use cases:

 Copy the Fix Version/s field from the Stories to Epic, after resolving a user story.

 On resolving an issue, copy the Fix Versions to all the linked issues regardless of the link type.

Copy field value from parent issue

A workflow post-function that sets the value(s) of a selected field with value(s) from the same/different field of an issue's parent issue.

Sample use cases:

 When creating a child bug of another bug (i.e. the parent bug), copy the fields Assignee, Component and Affect versions if they are left empty. 

Copy field value to parent issue

A workflow post-function that copies the value(s) of a selected field to the same/different field of the issue's parent issue.

Sample use cases :

 Copy the labels from each sub-task to its parent when the sub-task is closed.

Copy value from field to field

A workflow post-function that copies the value(s) of a selected field to another field of the same issue. 

Sample use cases :

 Set the component of an issue with a value selected from a cascading field that carries the Main and Sub-components in parent and child.

 Issues in our project are fixed in the version they are found . So I want to copy the Affect versions of the issue to the Fix Versions, on resolving the issue.

 I want 'Capture for JIRA Environment' field to be copied to the 'Environment' field when a bug is created using Capture for JIRA.

 Copy value from a Single Version Picker select list to the Fix Version(s) field if the resolution provided while closing the issue is "Fixed".

Delete issue

A workflow post-function that deletes one or more issues.

Sample use cases:

 Automatically move the issue to a project when it is approved.

 On rejecting a Story delete its subtasks

Display Message to user

A workflow post-function that displays a message on the issue view page to the user triggering the transition. 

 On triggering a transition display a notification message on the issue view if a new issue has been created by the Create Issue(s) post-function with a link to the newly created issue.

Email issue

A post-function that will send an email to certain recipients of the target issues specified in the post-function configuration.

Sample use cases:

 Send an Email to the voters of the issue when a new feature is approved.

 Send an Email notification when an issue is created but avoid Email notification when the issue is cloned

 Send an Email notification to the reporter of the Service Desk ticket when a linked bug is created

Increase value of field

A workflow post-function that increases the value of a selected numerical field by one.

Sample use cases:

 Track the number of times a bug fix was rejected by the QA team.

Link issues to the current issue

A post-function that will link the current issue to all issues that satisfy a parameterized JQL query.

Sample use cases:

 Link all the Faults in Service desk project to the current issue with "blocks" link type

Sequence of post-functions

A post-function that runs a sequence of JMWE post-functions on the target issues. This is the easiest way of making sure that a series of post-functions run in a predictable order during a transition - it is easier and more reliable than using Delayed execution as was previously recommended.

 Create a new issue (using the Create Issue(s) post-function) and then send a notification email mentioning the new issue.

 To clone an issue and its subtasks to another project

Assign the subtasks of the current issue to the Developers project role and send an email to the assignee of the subtask

Set field value

A workflow post-function that sets the value of a selected field of the target issues to the specified value

Sample use cases:

 Assign a reopened issue to the last person who last commented it.

 Automatically add the Reporter of an Epic to the watchers of its User Stories while creating a Story.


 Set the due date to today's date

 Capture the developer who resolved an issue in a custom single-user picker field

 Assign the issue to the current user when the issue is being self-reviewed.

 On the reopen of an issue, if a user is selected in the transition screen, verify that the user belongs to the Approvers. If not, assign the issue to the first user of the Approvers field.

 On the approval of an issue, append the current user to a multi-user picker custom field only when the current user is listed in "Approvers" field list.

 On creating an issue, add it to the first active Sprint of the board the issue belongs to.


 Set the due date to issue created plus five days

 On the creation of an issue assign the issue to the current user only if the user belongs to the Administrators group.

 Copy Jira service desk customers in a multi-user picker field to Request Participants ignoring the reporter of the issue

 On creating an issue, pick the component of the issue from a cascading field that carries the Main and Sub-components

 Set the Original estimate of the issue to the difference of its creation date and Due date

 Set the priority of the issue to Highest if the issue belongs to the "Customer Portal" component

 Assign the issue to the Project lead, if the issue is unassigned on creation


 Set the Affects Version/s of the issue to Affects Version/s of all its linked issues


 Set the Component/s of the issue to components whose lead is the current user

 On the creation of a Story, change its priority to that of the Epic if the Epic's priority is lower than the current priority of the Story


 On the creation of a Story add the reporter of its Epic to the Watchers


 On creating an issue, Copy the component leads of the selected components to a Multi-user picker field


 Add the members of the group selected in a custom Single-Group picker to the Watchers of the issue

 Identify all comments made between transitions A and B and add them to a custom text field

 Select the Installation tasks in the Checkboxes/Multi-select type field when all the Installations are done

 Add the time spent during the rework on an issue in the Rework Hours custom field, every time a rework is performed on the ticket

 Set the Assignee of the issue based on the selected office

 Display the Man hours (a custom Numeric field) of an Epic as the sum of Man hours of all the user stories linked to the Epic.


 On the creation of a sub-task add its summary to the description of its parent

 Set the issue's due date to the maximum due date set in its sub-tasks.


 On the Approval of an issue copy its components to issues linked to it with duplicates link type, only if the linked issue belongs to the same project as the current issue.


 Set the assignee of the linked issues with the current user only if the user is the Developer of the linked issue.

Set field value from user entity property value

A workflow post-function that sets the value of a selected field of the current issue to the value of a User Property of the current user.

Sample use cases:

 Store the Country, Department, Location, and Pin information of the Reporter of an issue into the issue itself while creating it.

Set field value of linked issues post-function - Deprecated - Use Set field value instead

 Display the Man hours (a custom Numeric field) of an Epic as the sum of Man hours of all the user stories linked to the Epic.


 On the creation of a sub-task add its summary to the description of its parent

 Set the issue's due date to the maximum due date set in its sub-tasks.


 On the Approval of an issue copy its components to issues linked to it with duplicates link type, only if the linked issue belongs to the same project as the current issue.


 Set the assignee of the linked issues with the current user only if the user is the Developer of the linked issue.

Shared Action post-function

A post-function that runs an Action (a sequence of one or more JMWE post-functions), created in the Shared Actions page, on the target issues.

Sample use cases:

 Setting multiple field values on the Create transition of every workflow of the instance

Transition issue(s)

A workflow post-function that triggers a transition on the target issues. This can be used to an issue one step further in the workflow.

Sample use cases:

 Start the progress on an issue immediately after its creation. 


 Automatically escalate an issue if it is being raised with a "Blocker" priority.


 Start the progress on an issue immediately after its creation if the reporter of the issue is a Project Manager.

 Transition an issue only when all the Business Approvers approve the request through a comment "Approved"

 All the cloned issues of an issue should transition through the workflow in parallel with the current issue.


 We use Jira as our internal and external issue tracking system. Every client has his project to log issues into. If the issue is valid, the product owner creates a bug in the internal project and links it to the external issue. I want to automate the closing of external issues when its linked bug in the internal system is closed.


 Automatically transition the Epic when all Stories are resolved.


 Resolve a support request when the bug blocking it is Resolved.

 Start progress on the parent issue when someone started working on its sub-task.


 Block the parent from being transitioned until all its subtasks are resolved and automatically transition the Parent when all Subtasks are resolved.

Transition linked issue - Deprecated - Use Transition issues(s) instead

A workflow post-function that triggers a transition on all issues linked to the current issue through a selected link type.

Sample use cases:

 All the cloned issues of an issue should transition through the workflow in parallel with the current issue.


 We use Jira as our internal and external issue tracking system. Every client has his project to log issues into. If the issue is valid, the product owner creates a bug in the internal project and links it to the external issue. I want to automate the closing of external issues when its linked bug in the internal system is closed.


 Automatically transition the Epic when all Stories are resolved.


 Resolve a support request when the bug blocking it is Resolved.

Transition parent issue - Deprecated - Use Transition issues(s) instead

A workflow post-function that triggers a transition on the parent issue of the current issue.

Sample use cases:

 Start progress on the parent issue when someone started working on its sub-task.


 Block the parent from being transitioned until all its subtasks are resolved and automatically transition the Parent when all Subtasks are resolved.

Unlink issues from the current issue

This post-function is used to unlink issues from the current issue based on the result of a Groovy condition.

Sample use cases:

 On rejection of an issue, unlink all its linked issues