Total time this issue has been In Progress wrong return value

Peter Brodt July 10, 2019

 

Hello,
I am using the "Total time this issue has been in Progress" Scriptrunner example but it returns complete nonsens.
The issue is just 20 minutes old but the return value is 2 weeks, 12 hours, 59 minutes.
The field is defined wit Duration template and duration searcher as suggested in the Adaptavist Documentation What am I doing wrong.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.history.ChangeItemBean
import org.apache.log4j.Logger
import org.apache.log4j.Level

def log = Logger.getLogger("com.acme.CreateSubtask")
log.setLevel(Level.DEBUG)

def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()

def inProgressName = issue.getStatus().name
log.debug inProgressName

List<Long> rt = [0L]
def changeItems = changeHistoryManager.getChangeItemsForField(issue, "status")
changeItems.reverse().each {ChangeItemBean item ->
item.toString == inProgressName

def timeDiff = System.currentTimeMillis() - item.created.getTime()
if (item.fromString == inProgressName) {
rt << -timeDiff
log.debug "item.fromString:" + item.fromString
log.debug timeDiff
}
if (item.toString == inProgressName){
rt << timeDiff
log.debug "item.toString:" + item.toString
log.debug timeDiff
}
}

def total = rt.sum() as Long
return total ?: 0L

I am not sure if this is the right place to ask such a question.

Thanks a lot,

Peter

 

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events