2012-03-26 58 views
1

我试图通过迭代查询,但我们的迭代名称有特殊字符(例如“Sprint-01(2012年3月26日至2012年4月2日)”)。如何处理具有特殊字符的查询中使用的值?

无法剖析对象引用 “冲刺 - 01(2012年3月26日至2012年4月2日)”,”

如果我添加它周围的所有方括号(即 '(迭代=' +' \ “冲刺 - 01(2012年3月26日至2012年4月2日)\”)”

无法解析:未知经营者 “)”

如何妥善处理这些值字符S'

function itemQuery() { 
    var queryObject = { 
key: 'tasks', 
type: 'task', 
query: rally.sdk.util.Query.and(['State = "Completed"', 'TaskType = "Development"', 'Iteration = ' + '\"Sprint - 01 (Mar 26, 2012 to Apr 02, 2012)\"']), 
fetch: 'FormattedID,Name,Owner,Estimate,Actuals'}; 

    rallyDataSource.findAll(queryObject, populateTable); 
} 

回答

3

问题不在于特殊字符,而在于查询本身。当像迭代这样的对象使用=运算符时,它需要ref,例如/iteration/1234.js

相反,你可以通过迭代的名称查询:

... 
query: rally.sdk.util.Query.and([ 
    'State = "Completed"', 
    'TaskType = "Development"', 
    'Iteration.Name = ' + '\"Sprint - 01 (Mar 26, 2012 to Apr 02, 2012)\"' 
]) 
... 

不同的是迭代后加“请将.Name”的。由于名称在引号中,所以特殊字符已经可以毫无问题地加入到Web服务中。

+0

我注意到,如果我在iteration.Name中有“+”,查询不会得到正确处理。例如,迭代名称是“My-iteration1.0 +”。其他人是否也观察过这个问题? – hariszhr 2013-11-29 16:57:06

+0

这在寻找标签时适用于我。我用(Tags.name包含“东西”)并得到我想要的。谢谢! – newz2000 2016-04-08 15:17:12