无法查询其他工作区

时间:2013-07-02 13:43:16

标签: rally

我试图按照这篇文章来查询工作区中的测试用例(“/ workspace / 6749437088”),该工作区不是默认工作区,但查询没有返回该测试用例,实际上没有返回任何内容。以下是我正在使用的代码。如果我使用“不相等”的测试用例进行查询,我会注意到它在用户的默认工作区中返回测试用例。我正在使用C#并使用Rally Rest API Runtime v4.0.30319和ver 1.0.15.0。有什么建议?感谢。

Inserting test case result using Java Rally Rest API failing when workspace is different from default set on account

private string  GetRallyObj_Ref(string ObjFormttedId)
   {
       string tcref = string.Empty;
       try
       {
           string reqType = _Helper.GetRallyRequestType(ObjFormttedId.Substring(0, 2).ToLower());
           Request request = new Request(reqType);
           request.Workspace = "/workspace/6749437088";

           request.Fetch = new List<string>()
           {
               //Here other fields can be retrieved
               "Workspace",
               "Name",
               "FormattedID",
               "ObjectID"
           };
           //request.Project = null;
           string test = request.Workspace;

           request.Query = new Query("FormattedID", Query.Operator.Equals, ObjFormttedId);

           QueryResult qr = _RallyApi.Query(request);

           string objectid= string.Empty;
           foreach (var rslt in qr.Results)
           {
               objectid = rslt.ObjectID.ToString();
               break;
           }
           tcref = "/"+reqType+"/" + objectid;
       }
       catch (Exception ex)
       {
           throw ex;
       }
       return tcref;

2 个答案:

答案 0 :(得分:1)

抱歉,我发现了这个问题。我正在为代码提供一个项目引用#,而不是工作空间引用#。我通过使用本文答案部分中的代码片段找到了正确的工作区:Failed when query users in workspace via Rally Rest .net api通过查询我正在使用的用户名的工作区refs,在那里我找到了正确的工作区参考。谢谢,凯尔无论如何。

答案 1 :(得分:0)

上面的代码似乎应该可行。这可能是一个缺陷 - 我会调查一下。与此同时,如果您只是尝试通过对象ID从Rally中读取特定对象,您应该能够这样做:

restApi.GetByReference('/testcase/12345', 
    'Results, 'Verdict', 'Duration' //fetch fields);