2012-03-26 22 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