状态更改没有预定义的属性。因此,必须使用属性定义语法计算状态时间值。我们可以使用History
属性,按感兴趣的状态过滤,并总结天数。例如,要计算 中的时间Ready
:
History[Status.Name='Ready'].Days.@Sum
当您说要计算从 移动 到 所需的时间时Developing
,Testing
我假设您的意思是有类似的东西Ready for Test
(如果没有,那么答案就像上面的一样,仅用Developing
作过滤器)。下面显示了多个状态的循环时间(不包括结束状态,Testing
或者您也知道它在那里停留了多长时间):
History[Status.Name='Developing','Ready for Test'].Days.@Sum
您可以使用query.v1 端点发布以下查询:
from: Defect
where:
Scope.Name: My Project
select:
- Name
- Status
- ChangeDateUTC
- ChangedBy.Name
- History[Status.Name='Ready'].Days.@Sum
或者,使用rest-1.v1/Data 端点,您可以获取以下查询(添加换行符以提高可读性):
<Server Base URI>/rest-1.v1/Data/Defect
?where=Scope.ParentMeAndUp.Name='My%20Project'
&sel=Name,Status,ChangeDateUTC,ChangedBy.Name,History[Status.Name='Ready'].Days.@Sum
我不熟悉您发布的语法。它来自 Python.SDK 吗?