Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Automation - Calculating % complete

We have JIRA Premium with Advanced Roadmap and we want a field that will display the % Complete for an epic or even a custom issue type called initiative (highest on the hierarchy)  Is there a way to display a custom field that will show the % complete using automation and smart values without requiring an add on.  


Thanks in Advance.

2 answers

so this works very well with individual EPICs but what if we wanted to scan all the Epics in a particular Jira project.  How can we substitute a single Epic query in exchange for a % complete calculation for each Epic in and entire Jira project without having to change the Epic key each time???

Thanks in advance....

Hi @tyrone kimble 

One way to do this is to copy the rule and change the copy to use a scheduled trigger rule with JQL, looking for open (i.e. not done) Epics where the % complete field is empty.  Automation rules can process up to 100 issues (due to performance limits). 

Let the rule on a schedule until it gets caught up for the epics, and then disable it.

Kind regards,

0 votes

Hi @Neil Rafol 

Depending upon how you define "% complete" you may be able to do this using automation for Jira rules and a custom field...or just email the results.

For example, let's say you ignored sizing/estimation and just counted issues.  You could count the total things in an epic and divide that into the number completed, showing percent of issues completed. 

If instead you wanted to account for sizing, you could sum the story points for the calculation.  For estimation with time tracking, this is a bit harder and should still be possible.

Best regards,


this is exactly what we are looking for:


For example, let's say you ignored sizing/estimation and just counted issues.  You could count the total things in an epic and divide that into the number completed, showing percent of issues completed. 


Normally we would use story points for calculating but this specific initiative doesn't factor in that.  

Thanks for that info.  Now you need to decide when you want this value updated, such as on a schedule (e.g. daily) or whenever a work item changes.  Here is an example if you wanted to trigger this manually:

  • Trigger: manual
  • Condition: issueType is epic
  • Action: lookup issues with JQL to get all issues with "Epic Link" = {{issue.key}} 
  • Action: create variable named varTotalCount, saving {{lookupIssues.size|0}}
  • Action: lookup issues with JQL to get done issues with "Epic Link" = {{issue.key}} AND statusCategory = "Done"
  • Action: create variable named varDoneCount, saving {{lookupIssues.size|0}}
  • Action: send your email with % completed, such as:

{{#=}}CEILING({{varDoneCount}}/({{varTotalCount}})*100){{/}}% Completed


To get you started implementing this, please take at this information about automation rules:

If you have issues with the rule, please post your rule and the community can help.

Like Neil Rafol likes this

Thank you for the response.  I will test the email notification but also I am looking to populate a custom field called % complete.  

You should be able to edit the custom field, setting the calculated value to it.

@Bill Sheboy  - I work for a UK Consumer group, and I wanted to say that the above automation has worked like a dream. Thank you very much for sharing.

We have gone down the custom field route - and now have a % complete field with calculated number.

This works fine for Epic > Story - because it is rare that an epic will have over 100 stories. However, I notice there is a limit on the lookup issues with JQL function.

We want to repeat the automation, at two senior levels to Epic. We are calling them Initiative (team quarterly target) and Objective (org. annual target).

Im using this JQL, to pull back everything that is a child of the top Objective level:

issue in portfolioChildIssuesOf("OKR-1")

And comparing it with:

issue in portfolioChildIssuesOf("OKR-1") and statusCategory = Done

To generate the number.

Is it going to top out at 100 results? Or will it do the arithmetic OK? 

I suspect some of the results will be ~500

Hi @Vincent Synan 

No, that would not work.  The 100 issue limit is for scheduled triggers, branches, and lookup issue actions.  That is a limit for performance reasons.

One possible work-around is if you can split up your queries to return subsets, such as with additional JQL criteria.  Then you could add up the values before performing the final math.

Another (perhaps safer) approach is divide-and-conquer: add scheduled rules such that child items in the hierarchy roll up their own results.  Then you would only need to roll up at the parent level when child values change.  For example:

  • scheduled rule asks epics to compute their values
  • triggered rule (or another scheduled one) for initiative rolls up their epics
  • ...

Kind regards,

Suggest an answer

Log in or Sign up to answer

Atlassian Community Events