/src/test/resources/examples/TotalTimeInProgress.groovy
Groovy | 27 lines | 20 code | 6 blank | 1 comment | 5 complexity | 012ea83b1ebe78de83bfc6c3d27a7840 MD5 | raw file
- package examples
-
- import com.atlassian.jira.ComponentManager
- import com.atlassian.jira.issue.history.ChangeItemBean
- import com.atlassian.jira.issue.Issue
- import com.atlassian.core.util.DateUtils
-
- def componentManager = ComponentManager.getInstance()
- def changeHistoryManager = componentManager.getChangeHistoryManager()
-
- def inProgressName = "In Progress"
-
- def rt = [0]
- changeHistoryManager.getChangeItemsForField (issue, "status").reverse().each {ChangeItemBean item ->
- item.toString == inProgressName
-
- def timeDiff = System.currentTimeMillis() - item.created.getTime()
- if (item.fromString == inProgressName) {
- rt << -timeDiff
- }
- if (item.toString == inProgressName){
- rt << timeDiff
- }
- }
-
- // doesn't show anything if less than 60 seconds
- DateUtils.getDurationString(Math.round(rt.sum() / 1000))