我希望从C#中获得与特定版本相关的所有工作项。

时间:2015-04-15 10:15:24

标签: rally

我们正在开展一个项目,以便从集会中创建报告。我喜欢在特定版本下获取所有工作项目,为此我尝试将release.name等于R ..但仍然是获取所有工作项目。能否请您使用源代码指导我。

1 个答案:

答案 0 :(得分:0)

您需要做的是获取指向与特定版本关联的工作项的_ref指针。在查询给定版本的“TypeDefinitions”字段时,将检索此_ref指针。

        RallyRestApi restApi = new RallyRestApi();
        restApi.Authenticate("UserName", "PassWord", "ServerURL", proxy: null, allowSSO: false);

        Request request = new Request("release");
        request.Fetch = new List<string>() { "Name", "Description", "FormattedID", "TypeDefinitions" };
        request.Query = new Query("Name", Query.Operator.Equals, "ReleaseName");
        QueryResult queryResult = restApi.Query(request);

        var typeDefsUrl = "";
        foreach (var result in queryResult.Results)
        {
            // Get the ref that points to your work items
            typeDefsUrl = result["TypeDefinitions"]["_ref"];
        }

从那里,您可以使用Request对象的CreateFromUrl创建一个额外的请求,其响应将是您的工作项集合。

        Request typeDefRequest = Request.CreateFromUrl(typeDefsUrl);
        QueryResult typeDefsResult = restApi.Query(typeDefRequest);

        foreach (var result in typeDefsResult.Results)
        {
            // Process your work items
        }

如果您抓取.Net Rest Api的最新版本,documentation已经广泛更新,包括代码示例。