To add 'Comment issue(s)' post function to a transition:
Click Edit for the workflow that has the transition you wish to add the post-function on.
In the Workflow Designer, select the transition.
Click on
Post Functions
in the properties panel.Click on
Add
post function
.Select
Comment issue
from the list of post-functions.Click on
Add
to add the post-function on the transition.Select the “Target issue” (see below)
Input a comment in the
Comment
field.
To input issue or transition or currentUser information in theComment
field see, How to insert information using Nunjucks annotations.Click on
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.
Common to all post-functions:
Known issues specific to this post-function
Troubleshooting this post-function configuration: In case the post-function does not work as expected these are the things to look out for
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.
When you add this post-function to a transition and trigger the transition, the add-on picks the value entered in the Comment
field and adds it as a comment on the target issue(s). The Comment
to be created can be any simple text, e.g. This is a comment.
You can also use Nunjucks annotations to insert issue, transition and current user information into the comment text, using the 'issue', 'transition' and 'currentUser' variables, respectively. To find out more about the variables, see How to insert information using Nunjucks annotations.
Issue(s) to operate on
Select the issues to operate on. They can be:
Current issue: Select this option to add a comment on the current issue. This is the default option.
Sub-tasks of the current issue: Select this option to add a comment on each sub-task of the current issue
Parent issue of the current sub-task: Select this option to add a comment on the parent of the current issue
Issues that belong to the current issue (Epic): Select this option to add a comment on the issues that belong to the current Epic
Epic of the current issue: Select this option to add a comment on the parent Epic of the current issue
Child issues of the current issue in the Portfolio hierarchy: Select this option to add a comment on the child issues of the current issue in the Portfolio hierarchy
Parent issue of the current issue in the Portfolio hierarchy: Select this option to add a comment on the parent issue of the current issue in the Portfolio hierarchy
Issues linked to the current issue through any link type: Select this option to add a comment on all issues linked to the current issue
Issues linked to the current issue through the following link type: Select this option to add a comment on the issues linked to the current issue through a specific link type. Select the specific link type under “Issue link”
Issues returned by the following Nunjucks template: Select this option to add a comment on the issues returned by the result of a Nunjucks template. Input 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 a JQL search: Select this option to add a comment on the issues returned by a JQL search. Input a JQL search expression. For example:
project = TEST
returns issues of the project with the key TESTproject = {{ 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 %}
Note that the {% if %} block is necessary to avoid an invalid JQL query when the issue is unassigned. In that case, the template will return a valid JQL query that returns no issue (
issuekey=INVALID-1
).
Comment visibility
Restrict to Group: Restricts the visibility of the comment to a specified group. When you select a valid group name in the
Restrict to Group
field, the comment will be visible only to the members of the specified group. For no restriction, leave the field blank.
Restrict to Project Role: Restricts the visibility of the comment to a selected project role. When you select a project role from the drop-down
Restrict to Project Role
field, the comment will be visible only to the members of the selected project role. For no restriction, leave the field blank.
Restrict to Internal (Jira Service Desk only): Restricts the visibility of the comment to the Service Desk Agents and Collaborators only.
Run As
Run as current user: The current user will be the author of the comment created on the issue by the post-function.
Run as add-on user: The add-on user will be the author of the comment created on the issue by the post-function.
Run as this user: Any user selected in this field will be the author of the comment created on the issue by the post-function.
Conditional execution
To execute this post-function based on the result of a Nunjucks template see Conditional execution.
Delayed execution
Post functions are provided with an option to delay their execution. You need to select the number of seconds to wait until the post-function is run, a default of 1 sec to a maximum of 20 seconds.
Workflows that depend on post functions being executed in a specific order fail due to the asynchronous nature of the Connect post-functions in Jira Cloud. One of the workarounds is to delay the execution of the post-functions and thereby create a more predictable execution order. For example, on the approval of a Story you want to create sub-tasks and immediately transition them; in this case, you will have to delay the execution of the Transition Linked Issues post-function, so that the sub-tasks are created before they are transitioned. See the use case below.
It is recommended to use the Sequence of post-functions post-function or Shared Action post-function post-function to run a list of post-functions in a sequence instead of applying a delay.
Sample use cases for Delayed execution
On the creation of a Bug, assign it to a member of the QA team and then add the Assignee to the Watchers.
On the approval of a Story, create subtasks for Development and QA, and transition them to In Progress status.
Use case
A typical use of this workflow post-function is to comment on an issue during a transition. Consider a use where on resolving/closing a ticket you want to comment on the issue a summary of the worklog. To configure it:
Add the Comment issue post-function to the Resolve transition of the issue's workflow.
Write the following content in the
Comment
section.{% set worklogs = issue.fields.worklog.worklogs %} {% set count = 1%} {% for worklog in worklogs %} Worklog {{count}}: Started : {{ worklog.started }} Time Spent : {{ worklog.timeSpent }} Work Description : {{ worklog.comment }} {% set count = count + 1 %} {% else %} No work logged for this issue {% endfor %}
Save the post-function
Publish the workflow
See here for more use cases