我正在尝试查询Rally的搜索API,这是我的c#代码:
var searchRequest = new Request()
{
ArtifactName = "search",
Limit = 25,
Project = "/project/" + CurrentProject,
ProjectScopeDown = true,
ProjectScopeUp = true,
PageSize = 25,
Fetch = new List<string>() { "true" }
};
searchRequest.AddParameter("keywords", "foo");
QueryResult queryTaskResult = api.Query(searchRequest);
这按预期工作并返回结果,但是我想传递一个参数compact = true,这将返回稍微不同的数据(主要是指向该项目的标准Web链接)。
var searchRequest = new Request()
{
ArtifactName = "search",
Limit = 25,
Project = "/project/" + CurrentProject,
ProjectScopeDown = true,
ProjectScopeUp = true,
PageSize = 25,
Fetch = new List<string>() { "true" }
};
searchRequest.AddParameter("keywords", "foo");
///this is the new item
searchRequest.AddParameter("compact", "true");
QueryResult queryTaskResult = api.Query(searchRequest);
然而,当我触发此请求时,我收到以下错误
Rally.RestApi.Json.DynamicJsonObject' does not contain a definition for 'Errors'
但是,当我尝试在浏览器中执行此请求时,它可以正常工作。
对于我做错的任何帮助都将不胜感激!
您为什么要这样做?
我想要做的是建立一个指向对象WEB视图的链接,例如: https://rally1.rallydev.com/#/ {CurrentProject} d /细节/ {对象类型} / {的ObjectId}
我已经知道CurrentProject了,我需要知道ObjectType和ObjectId
我发现,当我通过 compact = true 时,_ref提供了这个,'/ defect / 1234567',但这会引发异常。
如果我未通过 compact = true ,则_ref将返回API参考'https://rally1.rallydev.com/slm/webservice/v2.x/defect/1234567'
答案 0 :(得分:1)
不幸的是,在创建.NET工具包之后,紧凑功能被添加到WSAPI中,并且我们从未更新它以支持它。
我在这里提交了一个github问题:https://github.com/RallyTools/RallyRestToolkitFor.NET/issues/37
compact = true主要是一种性能优化,可以减少大型结果集中响应的大小。
除了表演之外,您是否有理由使用它?