Scripted field error Edited

I have created a numeric scripted field to obtain the difference in minutes from the update field and today date.

the code that I used is the following:


import org.joda.time.DateTime
import groovy.time.*

Date updatedate
Date todaydate
updatedate = new DateTime(issue.updated).toDate()
todaydate = new DateTime().toDate();

def milsec = todaydate.getTime() - updatedate.getTime() as double
milsec = milsec / 60000
return milsec.round()


the searcher is numeric. and the template is custom.

$numberTool.format('integer',$value)

 

in the preview mode  I'm getting the correct value, but qhen I check it in the issue navigator I'm viewing random and incorrect values when I refresh the browser.

ANyone have an experiencie doing this type of customization?
thanks in advance.

2 answers

This widget could not be displayed.

If you tried to reindex in your script, you'd throw the system into a recursive loop - it would try to reindex itself during a reindex during a reindex during a reindex...

I'm afraid your field idea is not going to work.  As Stephen says, the value of a scripted field is calculated and stored.  Your field is effectively a live clock - to get the right answer from it, you're going to need to calculate the value every second, for every issue.  That's simply never going to work.

The only sane way to do this would be to implement something in javascript, so the client browser does the calculation when necessary.  But it wouldn't be a real field, it would not be searchable.

What are you trying to achieve by calculating this?

Hi the idea is sent notifications after two days of inactivity in the issues.  So I want to to count the inactivity days ignoring the weekends.

in the code example I trying to do it counting minutes to test the notifications.

then using escalation service I move the issue to an autotransition when a JQL query is true. Using a postfunction to send the notifications

thanks.

This widget could not be displayed.

Hi Sergio,

When you say the values are random / incorrect, do you mean that they are behind what you would expect to see?

Script field values are calculated and stored in the index at the time that the issue is indexed, e.g. when it is modified or transitioned, or when you do a full re-index. This would explain why you are seeing different values in issue navigator because those results come from a search (I presume you mean in the issue search and not in the board).

You can work around this issue with a listener (documented here)

I hope this helps!

Steve

Thanks for your reply.  What if I try to reindex the issue at the end of scripted field code?


So. What type of listener I need to use. To calculate the difference between update date and today?

thanks

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Tuesday 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...

306 views 1 4
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