【问题标题】:Rally REST WS Queries: Getting ObjectIDs of One-To-Many children using API v2.0Rally REST WS 查询:使用 API v2.0 获取一对多孩子的 ObjectID
【发布时间】:2014-01-07 07:29:27
【问题描述】:

在之前的 Rally Java REST WebService API SDK 版本 1.37 中,我可以查询一个缺陷,它的子任务的 ObjectID(缺陷的一对多字段,意味着一个缺陷可以有多个任务)也将包含在结果中。

但是,在 API 2.0 版本中,返回的结果似乎不包括任何子 One-to-Many 对象的 ObjectID,而只是提及有多少(key = Tasks, value = {"_rallyAPIMajor ":"2","_rallyAPIMinor":"0","_ref":"https://rally1.rallydev.com/slm/webservice/v2.0/Defect/1234567890/Tasks","_type":"Task","Count":5})。

是否有一种简单的方法可以查找所有一对多子对象的 ObjectID,即作为我的缺陷查询的一部分与此缺陷关联的任务的所有 ObjectID?我宁愿不必使用每个返回的 _ref,而是使用它来进行查找(会是很多请求,每个孩子一个)。

谢谢。

【问题讨论】:

    标签: java web-services api rest rally


    【解决方案1】:

    您现在可以像查询根级别类型一样查询子集合。

    我修改了以下代码示例来满足您的需求:

    https://github.com/RallyTools/RallyRestToolkitForJava/blob/master/src/main/resources/examples/com/rallydev/rest/CollectionQueryExample.java

    //Assumes you have a defect retrieved already
    JsonObject taskInfo = defect.getAsJsonObject("Tasks");
    int taskCount = taskInfo.get("Count").getAsInt();
    System.out.println(String.format("\nTotal tasks: %d", taskInfo));
    
    if(taskCount > 0) {
        QueryRequest taskRequest = new QueryRequest(taskInfo);
        taskRequest.setFetch(new Fetch("FormattedID", "Name", "State"));
    
        QueryResponse queryResponse = restApi.query(taskRequest);
        if (queryResponse.wasSuccessful()) {
            for (JsonElement result : queryResponse.getResults()) {
                JsonObject task = result.getAsJsonObject();
                System.out.println(String.format("\t%s - %s: State=%s",
                        task.get("FormattedID").getAsString(),
                        task.get("Name").getAsString(),
                        task.get("State").getAsString()));
            }
        }
    }
    

    【讨论】:

    • 非常感谢。这真的帮助了很多!我现在可以成功查询一对多的孩子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多