【问题标题】:How to obtain a list of workspaces using Rally REST .NET如何使用 Rally REST .NET 获取工作区列表
【发布时间】:2013-07-19 21:27:19
【问题描述】:

我正在尝试获取给定 Rally 订阅的可用工作区列表,但查询中似乎没有返回实际工作区。

这是我目前所拥有的:

        RallyRestApi restApi = new RallyRestApi("username", "password");
        List<string> list = new List<string>();

        Request request = new Request("Subscriptions");
        request.Fetch = new List<string>(){
            "Name",
            "SubscriptionID",
            "Workspaces"
        };

        QueryResult queryResult = restApi.Query(request);

        foreach (var result in queryResult.Results)
        {
            var workspaces = result["Workspaces"];
        }

我似乎无法从 QueryResult 中找出工作区引用或名称。我是否缺少额外的步骤/查询?

【问题讨论】:

  • 这个问题是 v2.0 特有的。在早期版本中,这似乎很容易做到。我在 v1.40 中尝试过,并且工作空间包含在订阅查询结果中。我只是不确定我在 v2.0 中缺少什么。

标签: rally


【解决方案1】:

v2.0 出于性能原因删除了在同一响应中返回子集合的功能。现在获取集合将返回一个对象,其中包含计数和从中获取集合数据的 url。

示例:/subscription/12345/workspaces

最近发布的2.0 version of the .NET Rest Toolkit支持WSAPI v2.0和集合查询。

RallyRestApi restApi = new RallyRestApi("username", "password");

//get the current subscription
DynamicJsonObject sub = restApi.getSubscription("Workspaces");

//query the Workspaces collection
QueryResult queryResult = restApi.Query(sub["Workspaces"]); 

foreach (var result in queryResult.Results)
{
    var workspaceRef = result["_ref"];
    var workspaceName = result["Name"];
}

【讨论】:

  • 我知道已经 2 年多了,但现在不行了。我得到了:'Rally.RestApi.RallyRestApi.Query(Rally.RestApi.Request)' 的最佳重载方法匹配有一些无效的参数......也许需要进行一些小的调整?如果我找到答案,我会在这里发布。
  • Rally.RestApi.Request request = new Request("project"); request.Workspace = "/workspace/12480728748"; Rally.RestApi.Response.QueryResult queryResult = restApi.Query(request);这行得通。来自ask.programmershare.com/86_19729095
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多