2012-03-26 4 views
1

Ich versuche, durch Iteration abzufragen, aber unsere Iteration Namen haben Sonderzeichen (z. B. "Sprint - 01 (26.03.2012 bis 02.04.2012)").Wie gehe ich mit einem Wert um, der in einer Abfrage verwendet wird, die Sonderzeichen enthält?

Kann Objekt Referenz von parsen "Sprint - 01 (26. März 2012 zu 2. April 2012)"“

Wenn ich hinzufügen Klammern um es allen (zB '(Iteration =' + ' \ "Sprint - 01 (26. März 2012 zu 2. April 2012) \")‘

konnte nicht analysieren: Unbekannter Operator ")"

Wie richtig Wert mit diesen umgehen I Charakter 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); 
} 

Antwort

3

Das Problem sind nicht die Sonderzeichen, sondern die Abfrage selbst. Wenn Sie den Operator = für Objekte wie Iterationen verwenden, erwartet er einen Verweis, z. B. /iteration/1234.js.

Stattdessen können Sie über den Namen der Iteration abfragen mit:

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

Der Unterschied ist die Zugabe von „.Name“ nach Iteration. Da der Name in Anführungszeichen steht, können die Sonderzeichen bereits ohne Probleme in die Web-Services aufgenommen werden.

+0

Ich habe festgestellt, dass wenn ich "+" innerhalb der Iteration.Name habe die Abfrage nicht richtig verarbeitet. Beispielsweise lautet der Iterationsname "My-iteration1.0 +". Hat sonst noch jemand dieses Problem beobachtet? – hariszhr

+0

Dies funktionierte für mich bei der Suche nach Tags. Ich benutzte (Tags.name enthält "etwas") und bekam, was ich wollte. Vielen Dank! – newz2000

Verwandte Themen