我似乎能够获得除此之外的所有其他属性。当我查询这个属性时,我在控制台中得到DirectChildrenCount:null。
答案 0 :(得分: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"));
}