You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
The following code and variations has been circulating around on how to calculate a time in the template "duration" format for an issue. I have the code working but I believe it is setup to calculate a cumulative total of any time the issue has been in a status during it's lifecycle.
I'm attempting to create a version of this code that will only show the current instance of being this status (any status). So for instance:
Here is the code being utilized:
import com.atlassian.jira.component.ComponentAccessor
def changeHistoryManager = ComponentAccessor.changeHistoryManager
def currentStatusName = issue?.status?.name
def rt = [0L]
changeHistoryManager.getChangeItemsForField (issue, "status").reverse().each {item ->
def timeDiff = System.currentTimeMillis() - item.created.getTime()
if (item.fromString == currentStatusName) {
rt << -timeDiff
}
if (item.toString == currentStatusName){
rt << timeDiff
}
}
def total = rt.sum() as Long
return (total / 1000) as long ?: 0L
I would like this data to retain the duration template if at all possible.
My thought is I need to get the last status change time here somehow, and eliminate the second if statement?
Thank you in advance!
Answer can be found here: https://community.atlassian.com/t5/Jira-Core-questions/Groovy-show-time-this-issue-In-Progress-status-Not-Total/qaq-p/184151
Thank you @JamieA
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.