我试图通过传递故事格式化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,实际上已经足够了。
请告诉我,代码中有什么问题......
答案 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),我发现它用于过滤更可靠。