Rational ClearQuest Http请求查找自特定时间以来已更新的缺陷?

时间:2014-04-02 21:46:24

标签: rest http clearquest

我正在尝试使用ClearQuest OSLC CM REST API编写http请求来完成以下操作。我想获得一个ClearQuest缺陷列表(以XML格式),该缺陷已在指定时间内更新。

到目前为止,我已经能够获得一个特定缺陷族的所有缺陷列表,我对以下请求感兴趣(我在这里使用了示例基本URL):

http://localhost:8080/oslc/cqrest/repo/7.0.0/db/SAMPL/record/?oslc_cm.query=Found_in_Product_Family="MyDefectFamily"&rcm.type=Defect

我还能够组合一个http请求,该请求返回单个缺陷的完整时间戳记录,如下所示:

http://localhost:8080/oslc/cqrest/repo/7.0.0/db/SAMPL/record/16777241-38577895?oslc_cm.properties=id,dbid,history{action_timestamp}

如果有人认为这些请求在这里有帮助,我可以显示这两个请求的示例xml响应。

我似乎无法弄清楚如何编写一个请求,该请求将返回包含比01/01/2014 00:00:00更晚的时间戳的缺陷列表(id,dbid,timestamp)。或者至少一个请求将返回所有缺陷,其中每个缺陷条目将包含其历史记录中的最后一个时间戳。我想我可以得到每个缺陷的所有时间戳的所有缺陷列表,但我想只是最后一个时间戳。获取时间戳历史记录中的最后一个节点并不起作用。时间戳历史似乎没有被订购。对于这样的请求,似乎需要某种最大函数。

有人能指出我正确的方向或使用ClearQuest OSLC CM REST API判断我想要的是不可能的吗?

1 个答案:

答案 0 :(得分:0)

这是我在VB.NET中使用的:

Dim asOfValue = asOf.ToString("'""'yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z""^^xsd:dateTime'")
Dim upToValue = upTo.ToString("'""'yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z""^^xsd:dateTime'")
Dim where = "cq:history{cq:action_timestamp>=" & asOfValue & " and cq:action_timestamp<=" & upToValue & "}"

Const prefix = "cq=<http://www.ibm.com/xmlns/prod/rational/clearquest/1.0/>"
uri.Query = String.Format("oslc.orderBy=dcterms:identifier&oslc.where={0}&oslc.select={1}&oslc.prefix={2}", where, select, prefix)