查询在C#中使用Rally API找不到“+”字符

时间:2014-05-15 13:23:23

标签: c# rally

在C#中使用Rally的rest API,我一直在尝试创建一个查询,找到一个包含字符“+”的测试用例。当我使用API​​创建测试用例时,+符号会使其无问题地进入项目并正确显示。然后,当我执行查询以查找名称中带有“+”的测试用例时,不会返回任何内容。我注意到在调试时查询运算符正在从“+”转换为“%2B”,并且不返回与测试用例名称匹配的结果。如何查询包含“+”符号的测试用例名称?此外,我似乎无法获得包含以下字符的测试用例:&,#,%,“”。我的查询请求代码:

string testName = "Example+";

  Request requestTC = new Request("TestCase");
        requestTC.Project = rallyProjectRef;
        requestTC.ProjectScopeDown = false;
        requestTC.ProjectScopeUp = false;
        requestTC.Fetch = new List<string> { "Name", "ObjectID", "TestFolder" };
        requestTC.Query = new Query("Name", Query.Operator.Equals, testName);
        bool noMatchesFound = true;
            QueryResult findTCMatchQueryResult = m.myRestApi.Query(requestTC);

1 个答案:

答案 0 :(得分:0)

是的,这不起作用:

testcaseRequest.Query = new Query("Name", Query.Operator.Equals, "Example+");

this post,查询字符串中的+符号被URL解码为空格。查询字符串中的%2B被URL解码为+符号。

然而,这也不起作用:

 testcaseRequest.Query = new Query("Name", Query.Operator.Equals, "Example%2B");

我提交了缺陷DE21028。已修复的缺陷显示在what's new页面上。