2012-09-21 49 views
1

我需要编写一个查询来从拉力赛中提取用户报道(HierarchicalRequirement),其中包含自定义字段和发布名称的给定值,并按迭代结束日期排序第一个和用户故事排名作为第二个参数,在Java应用程序中。通过迭代结束日期在美国拉力赛查询结果中排序US

我可以写工作查询本身,而是在迭代结束日期不工作秩序状态*秩的条件很简单:“排名降序”)

要通过我传递到迭代结束日期顺序SOAP API的“order”参数字符串“Iteration.EndDate desc”,但它不起作用。

这是怎么回事?

回答

1

我不知道如何与SOAP但与REST API很简单做到这一点: http://developer.rallydev.com/help/java-toolkit-rally-rest-api

RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), 
    "[email protected]", "password"); 

QueryRequest stories = new QueryRequest("hierarchicalrequirement"); 
stories.setFetch(new Fetch("FormattedID", "Name", "ScheduleState")); 
stories.setOrder("Iteration.EndDate DESC,Rank DESC"); 

QueryResponse queryResponse = restApi.query(stories); 
if (queryResponse.wasSuccessful()) { 
    for (JsonElement result : queryResponse.getResults()) { 
     JsonObject story = result.getAsJsonObject(); 
     System.out.println(String.format("\t%s - %s: ScheduleState=%s", 
      story.get("FormattedID").getAsString(), 
      story.get("Name").getAsString(), 
      story.get("ScheduleState").getAsString())); 
    } 
} 
+0

没错,问题是上阶条件。 “Iteration.EndDate DESC,Rank DESC”不起作用! “Rank DESC”起作用,但不适用“Iteration.EndDate DESC”部分 – klebe85

+1

显然,WSAPI不能对子字段进行排序,例如Iteration.EndDate。相反,您必须按结束日期查询迭代,然后针对该排序中按故事排序的故事中的每个查询。我们仍然推荐使用REST over SOAP :-) –