Our new Appfire Documentation Space is now live!

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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Current »

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

To add the 'Build-your-own (scripted)' post-function to a transition: 

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

  2. In the Workflow Designer, select the transition.

  3. Click on Post Functions in the properties panel.

  4. Click on Add post function.

  5. Select Build-your-own (scripted) post-function from the list of post-functions.

  6. Click on Add to add the post-function on the transition.

  7. Input an optional description in the “Description” field

  8. Input a Nunjucks template that needs to be executed

  9. Click on "Add post function".

See here for a use case for this post-function

When you add this post-function to a transition and trigger it, the specified arbitrary code gets executed.

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

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

(lightbulb) On the creation of a Bug, assign it to a member of the QA team and then add the Assignee to the Watchers.

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

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

  • Select QA as the project role to look for.

  • Add the Copy value from field to field post-function to the Create transition of the Bug workflow.

  • Select Assignee as the From field.

  • Select Watchers as the To field.

  • Select the Delayed execution option and select 5 sec from the Delay drop-down.

(lightbulb) On the approval of a Story, create subtasks for Development and QA, and transition them to In Progress status.

 Steps
  • Add the Create issue post-function to the Approve transition of the Story workflow.

  • Select Same as current issue from the Project field.

  • Select Subtask from the Issue type field.

  • Select Current issue from the Parent issue field.

  • Repeat the above steps for the Development subtask.

  • Add the Transition linked issues post-function to the Approve transition of the Story workflow.

  • Select Issue Link Type as is Parent of.

  • Select the Delayed execution option and select 10 sec from the Delay drop-down.


Use case

Consider a use case where you want to add a worklog entry to the issue. You can do this using the callJira custom Nunjucks filter.

  1. Add the “Build-your-own (scripted)” post-function to the transition

  2. Input the following Nunjucks template

    {{ "/rest/api/2/issue/:issue/worklog" | callJira(verb=("post"), params={"issue":issue.key}, 
    body={ 
      "timeSpent": "1w" 
    }
    ) | dump(2) }}

  3. Save the post-function and publish the workflow

Refer here for more use cases.



  • No labels