查询Rally API时出错 - DynamicJsonObject不包含“错误”的定义

时间:2017-07-20 15:21:11

标签: c# rally

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

1 个答案:

答案 0 :(得分:1)

不幸的是,在创建.NET工具包之后,紧凑功能被添加到WSAPI中,并且我们从未更新它以支持它。

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

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

除了表演之外,您是否有理由使用它?