Is there a way to persist the value of calculated custom fields on JIRA?

Hello!

I have created a custom field which has its value calculated based on the date a transition happened. I would like to use this value on a report that reads data directly from JIRA's database.

I am aware that JIRA indexes the value of calculated custom fields and does not store it in the database. My question is if there is some workaround I could use in order to persist this data, somehow.

Cheers!

2 answers

1 accepted

Accepted Answer
1 vote

If you are writing it then you can do it. I don't generally use calculated field types instead I use, for instance, a number field type and do my calculation in getValueFromIssue and then call updateValue before returning my calculated result. I'm sure you could do something similar.

Thanks for your repply Justin.

Yes, it's a field I'm creating myself. I didn't understand what you mean by doing the calculation in the getValueFromIssue. If it's not a calculated field how can I perform a calculation?

Cheers!!

+---------+     +--------+     +------+     +--------+
| working | --> | review | --> | test | --> | closed |
+---------+     +--------+     +------+     +--------+
     |              |             |
      <------<------+<------<-----+
        Fail Review     Fail Test

Ok continuing my example if my workflow was as above, I would creeate a customfield call "Review Fail Count" and increment it each time that transition is followed. I would also create a "Test Fail Count" field and increment that for its transition. My pseudo calculated field wouyld be "Total Fail Count" where I would grab the values of the two previous fields and set my "Total Fail Count" field to that value and then return that result. All three fields are indexed and searchable through a number range searcher so I can query issues that failed review x number of time or test x number of times or total failures.

getValueFromIssue()

{

review = getCustomField("Review Fail Count").getValue(issue)

test = getCustomField("Test Fail Count").getValue(issue)

total = review + test

updateValue(total)

return total;

}

Thank you for your thorough explanation :)

I have one (dumb) question though: where do I put this getValueFromIssue method?

Cheers!!!

you are overriding it in your new customfield

getValueFromIssue(final CustomField field, final Issue issue)

Hi Justin,

 

Thanks for your answer. It indeed gives me some insight though em bit unclear about one last point that how is it updating your third custom field 'Total Fail Count'?

Do we have to write updateValue(x) function somewhere or it's a default Jira function provided and I just need to know how should I use it?

Hi Justin, I would like to know how to increase the value of a custom field with the transitions that you have in your workflow

i use a post function

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Sep 18, 2018 in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

21,625 views 2 7
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you