按迭代结束日期在Rally查询结果中订购我们
在Java应用程序中,我需要编写一个查询,从用户故事(HierarchycalRequirement)中提取自定义字段和发布名称的给定值,首先按迭代结束日期排序,然后将用户故事排名作为第二个参数 我可以自己编写工作查询,但是迭代结束日期上的顺序条件不起作用*秩上的条件很简单:“秩描述”) 为了按迭代结束日期排序,我将字符串“iteration.EndDate desc”传递给SOAP API的“order”参数,但它不起作用按迭代结束日期在Rally查询结果中订购我们,rally,Rally,在Java应用程序中,我需要编写一个查询,从用户故事(HierarchycalRequirement)中提取自定义字段和发布名称的给定值,首先按迭代结束日期排序,然后将用户故事排名作为第二个参数 我可以自己编写工作查询,但是迭代结束日期上的顺序条件不起作用*秩上的条件很简单:“秩描述”) 为了按迭代结束日期排序,我将字符串“iteration.EndDate desc”传递给SOAP API的“order”参数,但它不起作用 这有什么问题吗?我不确定如何使用SOAP实现这一点,但使用REST a
这有什么问题吗?我不确定如何使用SOAP实现这一点,但使用REST api则非常简单:
是的,问题在于订单条件。“Iteration.EndDate DESC,Rank DESC”不起作用!“Rank DESC”可以工作,但“Iteration.EndDate DESC”部分显然不是WSAPI中的“Iteration.EndDate DESC”部分,您不能对子字段(如Iteration.EndDate)进行排序。相反,您必须按结束日期查询迭代,然后按排名顺序查询迭代中的每个故事。我们仍然建议使用REST而不是SOAP:-)
RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"),
"user@company.com", "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()));
}
}