-
Notifications
You must be signed in to change notification settings - Fork 0
/
CreateUpdateStory.cs
59 lines (52 loc) · 2.24 KB
/
CreateUpdateStory.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
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;
//using System.Diagnostics;
namespace TestVersion3
{
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 projectRef = "/project/32904827032";
try
{
//create story
DynamicJsonObject myStory = new DynamicJsonObject();
myStory["Name"] = "another story " + DateTime.Now;
myStory["Project"] = projectRef;
CreateResult createStory = restApi.Create(workspaceRef, "HierarchicalRequirement", myStory);
myStory = restApi.GetByReference(createStory.Reference, "FormattedID", "Project");
//update story
myStory["Description"] = "updated " + DateTime.Now;
myStory["c_CustomString"] = "abc123";
Console.WriteLine("--------------------");
Console.WriteLine(myStory["FormattedID"]);
OperationResult updateResult = restApi.Update(myStory["_ref"], myStory);
//create tasks
for (int i = 1; i <= 3; i++)
{
DynamicJsonObject myTask = new DynamicJsonObject();
myTask["Name"] = "task " + i + DateTime.Now;
myTask["State"] = "In-Progress";
myTask["WorkProduct"] = myStory["_ref"];
CreateResult createTask = restApi.Create(workspaceRef, "Task", myTask);
myTask = restApi.GetByReference(createTask.Reference, "FormattedID", "Owner", "State");
Console.WriteLine(myTask["FormattedID"]);
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
}
}