查询 Rally API 时出错 - DynamicJsonObject 不包含 'Errors' 的定义

Error querying the Rally API - DynamicJsonObject does not contain a definition for 'Errors'

我正在尝试查询 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);

这按预期和 return 的结果工作,但是我想传递一个参数 compact=true,这将 return 略有不同的数据(主要是标准网络 link到项目)。

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'

然而,当我尝试在浏览器中执行此请求时,它工作正常。

任何关于我做错的帮助将不胜感激!

为什么要这样做?

我想做的是建立一个link对象的WEB视图,例如: https://rally1.rallydev.com/#/{CurrentProject}d/detail/{ObjectType}/{ObjectId}

我已经知道 CurrentProject,我需要知道 ObjectType 和 ObjectId

我发现,当我传递 compact=true 时,_ref 提供了这个,'/defect/1234567' 但是这个抛出异常。

如果我不通过 compact=true,_ref returns API 引用 'https://rally1.rallydev.com/slm/webservice/v2.x/defect/1234567 '

遗憾的是,在创建 .NET 工具包后,紧凑型功能已添加到 WSAPI,我们从未对其进行更新以支持它。

我在这里提交了一个 github 问题:https://github.com/RallyTools/RallyRestToolkitFor.NET/issues/37

compact=true 主要是性能优化,以减少大型结果集中响应的大小。

除了性能之外,您还想使用它吗?