-
Notifications
You must be signed in to change notification settings - Fork 0
/
CreateTestSetAssignIteration.cs
60 lines (54 loc) · 2.42 KB
/
CreateTestSetAssignIteration.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Rally.RestApi;
using Rally.RestApi.Response;
using Rally.RestApi.Json;
namespace CreateTestSet
{
class Program
{
static void Main(string[] args)
{
RallyRestApi restApi = new RallyRestApi(webServiceVersion: "v2.0");
String apiKey = "_abc123";
restApi.Authenticate(apiKey, "https://rally1.rallydev.com", allowSSO: false);
String workspaceRef = "/workspace/1011574887"; //non-default workspace of the user
String projectRef = "/project/1791269111"; //a non-default project of the user (inside the workspace above)
try
{
//create testset
DynamicJsonObject myTestSet = new DynamicJsonObject();
myTestSet["Name"] = "important set " + DateTime.Now;
myTestSet["Project"] = projectRef;
CreateResult createTestSet = restApi.Create(workspaceRef, "TestSet", myTestSet);
myTestSet = restApi.GetByReference(createTestSet.Reference, "FormattedID", "Project");
Console.WriteLine(myTestSet["FormattedID"] + " " + myTestSet["Project"]._refObjectName);
//find current iteration
Request iterationRequest = new Request("Iteration");
iterationRequest.Project = projectRef;
iterationRequest.ProjectScopeDown = false;
iterationRequest.ProjectScopeUp = false;
iterationRequest.Fetch = new List<string>() { "ObjectID", "Name" };
iterationRequest.Query = new Query("(StartDate <= Today)").And(new Query("(EndDate >= Today)"));
QueryResult queryResults = restApi.Query(iterationRequest);
if (queryResults.TotalResultCount > 0)
{
Console.WriteLine(queryResults.Results.First()["Name"] + " " + queryResults.Results.First()["ObjectID"]);
myTestSet["Iteration"] = queryResults.Results.First()._ref;
OperationResult updateResult = restApi.Update(myTestSet["_ref"], myTestSet);
}
else
{
Console.WriteLine("No current iterations");
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
}
}