我似乎能够获得除此之外的所有其他属性。当我查询此属性时,我在控制台中得到 DirectChildrenCount: null。
问问题
294 次
1 回答
0
假设您获取 DirectChildrenCount,接下来要验证的是您正在使用的 Java Rally REST 版本以及您在代码中指定的 WS API 版本。
这是一个打印出 DirectChildrenCount 的代码示例。
它使用 rally-rest-api-1.0.7.jar,它适用于最新的 WS API v2.0
如果您使用的是 rally-rest-api-1.0.6.jar,只要在代码中正确设置了 WS API 版本,它应该仍然可以工作,例如:
String wsapiVersion = "1.43";
如果您不指定版本或指定低于 1.39 的版本,则在使用 rally-rest-api-1.0.6.jar 时将返回 DirectChildrenCount: null。DirectChildrenCount 是在 1.39 中引入的。
如果您使用的是 rally-rest-api-1.0.7.jar,它默认为 WS API 的 v2.0,因此即使代码中没有设置 WS API 版本,下面的代码也将起作用并且返回 DirectChildrenCount。
public static void main(String[] args) throws URISyntaxException, IOException {
// Create and configure a new instance of RallyRestApi
String host = "https://rally1.rallydev.com";
String username = "user@domain.com";
String password = "secret";
String wsapiVersion = "v2.0";
String workspaceRef = "/workspace/1111";
String projectRef = "/project/2222";
String applicationName = "DirectChildrenCount";
RallyRestApi restApi = new RallyRestApi(
new URI(host),
username,
password);
restApi.setWsapiVersion(wsapiVersion);
restApi.setApplicationName(applicationName);
QueryRequest storyRequest = new QueryRequest("HierarchicalRequirement");
storyRequest.setFetch(new Fetch("Name","DirectChildrenCount"));
storyRequest.setWorkspace(workspaceRef);
storyRequest.setQueryFilter(new QueryFilter("FormattedID", "=", "US16"));
QueryResponse storyQueryResponse = restApi.query(storyRequest);
JsonObject storyJsonObject = storyQueryResponse.getResults().get(0).getAsJsonObject();
System.out.println(storyJsonObject.get("Name") + " DirectChildrenCount: " + storyJsonObject.get("DirectChildrenCount"));
}
于 2013-07-09T22:48:33.790 回答