static void Main(string[] args) { //Initialize the REST API RallyRestApi restApi; //with this user I get hundreds of workspaces - this is a subadmin restApi = new RallyRestApi("*****@*****.**", "supersecret", "https://rally1.rallydev.com", "v2.0"); //with this user I get only two workspaces //restApi = new RallyRestApi("*****@*****.**", "scret", "https://rally1.rallydev.com", "v2.0"); /***************THIS CODE PRINTS OUT ALL WORKSPACES AND PROJECTS IN THE SUB ******************************/ //get the current subscription 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", "State", }; 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("----------------------------"); } Console.WriteLine("Returned " + allProjects + " projects in the subscription"); }
static void Main(string[] args) { //Initialize the REST API using API KEYd RallyRestApi restApi; restApi = new RallyRestApi("_abc123", "https://rally1.rallydev.com"); DateTime now = DateTime.Today; DateTime checkback = now.AddDays(-2); //last two days String checkbackString = checkback.ToString("yyyy-MM-dd"); //get the subscription DynamicJsonObject sub = restApi.GetSubscription("Workspaces"); Request wRequest = new Request(sub["Workspaces"]); wRequest.Limit = 1000; QueryResult queryResult = restApi.Query(wRequest); foreach (var result in queryResult.Results) { var workspaceReference = result["_ref"]; var workspaceName = result["Name"]; Request projectsRequest = new Request(result["Projects"]); projectsRequest.Fetch = new List<string>() { "Name" }; projectsRequest.Limit = 1000; QueryResult queryProjectResult = restApi.Query(projectsRequest); foreach (var p in queryProjectResult.Results) { Request artifactRequest = new Request("artifact"); artifactRequest.Project = p["_ref"]; artifactRequest.Query = new Query("LastUpdateDate", Query.Operator.GreaterThanOrEqualTo, checkbackString); QueryResult queryResults = restApi.Query(artifactRequest); if (queryResults.TotalResultCount > 0) { Console.WriteLine("Project: " + p["Name"] + " (Workspace " + workspaceName + ")"); } } } }