获取特定故事下的任务

时间:2016-12-18 13:13:03

标签: java rally

我试图通过传递故事格式化ID来查找特定故事下的任务列表,但我没有获得该故事下列出的任务。

        QueryRequest taskRequest = new QueryRequest("task");
        taskRequest.setFetch(new Fetch("FormattedID","Name","PlanEstimate"));
        taskRequest.setQueryFilter(new     QueryFilter("FormattedID","=","TJ87631"));
        QueryResponse taskRes = restApi.query(taskRequest);
        int count = taskRes.getTotalResultCount();
        System.out.println("task count is " + count);

我尝试将projectRef和WorkspaceRef传递给QueryFiletr,即使我已经传递了Story FormattedID,实际上已经足够了。

请告诉我,代码中有什么问题......

3 个答案:

答案 0 :(得分:0)

只是猜测;也许查询正在寻找"编程语言"比较说明,如:

taskRequest.setQueryFilter(new QueryFilter("FormattedID","==","TJ87631"));

含义:尝试使用" =="而不是" =" !

答案 1 :(得分:0)

假设TJ87631是父故事的正确格式化ID,那么你应该有所作为。看起来您没有指定任何项目范围。您的默认项目中的那些任务和故事是?如果不是,您需要在查询中设置项目。

另一种方法是只在内存中加载任务集合,如果你已经在内存中有这个故事:

QueryRequest tasksQuery = new QueryRequest(story.get("Tasks"));

答案 2 :(得分:0)

我一直在研究c#版本,但我认为它的情况大致相同。

TJ87631是用户故事的参考吗?

若是,请尝试:

taskRequest.setQueryFilter(新的QueryFilter(" WorkProduct.FormattedID"," ="," TJ87631"));

当我使用它时,您需要引用parent.formattedid。

但是,如果您有权访问对象ID(work product.oid),我发现它用于过滤更可靠。