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