简体   繁体   English

通过Rally C#API获取项目列表

[英]Getting Project List via Rally C# API

I need a way to retrieve a list of projects using C#. 我需要一种使用C#检索项目列表的方法。

Tried doing something like this: 试图做这样的事情:

    DynamicJsonObject sub = restApi.GetSubscription("Projects");
        //query the project collection
        Request wRequest = new Request(sub["Projects"]);
        QueryResult queryResult = restApi.Query(wRequest);

        return queryResult.Results.Select(result => new Project()
        {
            Id = result["ObjectID"],
            Name = result["Name"]
        }).ToList();

unfortunately with no success. 不幸的是没有成功。 Can anyone help please? 有人可以帮忙吗?

The code below should print workspaces and projects to which the user whose account is used to authenticate the code has access to. 下面的代码应打印其帐户用于验证代码的用户有权访问的工作区和项目。

            DynamicJsonObject sub = restApi.GetSubscription("Workspaces");

            Request wRequest = new Request(sub["Workspaces"]);
            wRequest.Limit = 1000;
            QueryResult queryResult = restApi.Query(wRequest);
            int allProjects = 0;
            foreach (var result in queryResult.Results)
            {
                var workspaceReference = result["_ref"];
                var workspaceName = result["Name"];
                Console.WriteLine("Workspace: " + workspaceName);
                Request projectsRequest = new Request(result["Projects"]);
                projectsRequest.Fetch = new List<string>()
                {
                    "Name"
                };
                projectsRequest.Limit = 10000; //project requests are made per workspace
                QueryResult queryProjectResult = restApi.Query(projectsRequest);
                int projectsPerWorkspace = 0;
                foreach (var p in queryProjectResult.Results)
                {
                    allProjects++;
                    projectsPerWorkspace++;
                    Console.WriteLine(projectsPerWorkspace + " Project: " + p["Name"] + " State: " + p["State"]);
                } 
            }
            Console.WriteLine("Returned " + allProjects + " projects in the subscription");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM