Jira - 如何计算状态天数?

问题描述 投票:0回答:1

Jira 数据中心。 如何查找任务正在进行的天数? 会解释 tostring - 移动到的任务的状态 fromString - 来自任务的状态

所以,我需要了解该任务在工作中花费了多少天 无需考虑小时和分钟,只需考虑天数 同时,仅任务处于“进行中”状态的那些日子

这就是我所拥有的

import com.atlassian.jira.component.ComponentAccessor

// Status to be counted
final statusName = 'In Progress'

def changeHistoryManager = ComponentAccessor.changeHistoryManager
def datesInStatus = [:]

// Get all status change items
def changeItems = changeHistoryManager.getChangeItemsForField(issue, "status")
def previousDate = null

changeItems.findAll { it.toString == 'In Progress' || it.fromString == 'In Progress' }.each { item ->
     addMessage(item.toString())
}

这是 addMessage 的输出

com.atlassian.jira.issue.history.ChangeItemBean@1e5b1b95[fieldType=jira,field=status,from=10614,fromString=In Progress,to=10614,toString=In Progress,created=2024-02-26 14:29 :31.846], com.atlassian.jira.issue.history.ChangeItemBean@21c854c9[fieldType=jira,field=status,from=14201,fromString=Testing,to=10614,toString=In Progress,created=2024-02-26 14:29:31.47], com.atlassian.jira.issue.history.ChangeItemBean@1b94684b[fieldType=jira,field=status,from=10614,fromString=In Progress,to=10501,toString=CODE REVIEW,created=2023 -12-13 18:02:23.731]

java jira jira-rest-api
1个回答
0
投票

诸如

2024-02-26 14:29:31.47
之类的示例值是错误的,因为它们缺少时区或相对于 UTC 的偏移量的指示。因此我们无法知道那是日本东京的下午 2:29 还是美国俄亥俄州托莱多的下午 2:29,这两个截然不同的时刻相隔几个小时。

如果您想假装/假设这些值适用于通用 24 小时天,请解析为

LocalDateTime

LocalDateTime ldt = LocalDateTime.parse( input.replace( " " , "T" ) ;

收集并分类。如果您将“天”定义为 24 小时的时间段,则将第一个和最后一个输入到

Duration.between
中。如果您通过日历定义“天”,请将一对
LocalDateTime
对象提供给
Period.between

© www.soinside.com 2019 - 2024. All rights reserved.