forked from nmusaelian-rally/rally-java-rest-apps
-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathCreatePI.java
More file actions
75 lines (58 loc) · 3.14 KB
/
CreatePI.java
File metadata and controls
75 lines (58 loc) · 3.14 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.commons.codec.binary.Base64;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.rallydev.rest.RallyRestApi;
import com.rallydev.rest.request.CreateRequest;
import com.rallydev.rest.request.GetRequest;
import com.rallydev.rest.request.QueryRequest;
import com.rallydev.rest.response.CreateResponse;
import com.rallydev.rest.response.QueryResponse;
import com.rallydev.rest.util.QueryFilter;
import com.rallydev.rest.util.Ref;
public class CreatePI{
public static void main(String[] args) throws URISyntaxException, IOException {
String host = "https://rally1.rallydev.com";
String apiKey = "_abc123";
String projectRef = "/project/456";
String applicationName = "Nick:CreatePI";
RallyRestApi restApi = new RallyRestApi(new URI(host),apiKey);
restApi.setApplicationName(applicationName);
try {
System.out.println("Creating a PI/Initiative...");
JsonObject newInitiative = new JsonObject();
newInitiative.addProperty("Name", "Jupiter Lander Initiative");
newInitiative.addProperty("Project", projectRef);
CreateRequest createRequest = new CreateRequest("portfolioitem/initiative", newInitiative);
CreateResponse createResponse = restApi.create(createRequest);
if (createResponse.wasSuccessful()) {
System.out.println(String.format("Created %s %s", createResponse.getObject().get("FormattedID"), createResponse.getObject().get("_ref").getAsString()));
String initiativeRef = Ref.getRelativeRef(createResponse.getObject().get("_ref").getAsString());
System.out.println(String.format("\nReading Initiative %s...", initiativeRef));
System.out.println("Creating a PI/Feature...");
JsonObject newFeature = new JsonObject();
newFeature.addProperty("Name", "Jupiter Flyby Feature");
newFeature.addProperty("Project", projectRef);
newFeature.addProperty("Parent", initiativeRef);
CreateRequest createRequest2 = new CreateRequest("portfolioitem/feature", newFeature);
CreateResponse createResponse2 = restApi.create(createRequest2);
if (createResponse.wasSuccessful()) {
System.out.println(String.format("Created %s %s", createResponse2.getObject().get("FormattedID"), createResponse2.getObject().get("_ref").getAsString()));
}
} else {
String[] createErrors;
createErrors = createResponse.getErrors();
System.out.println("Error occurred creating a defect: ");
for (int k=0; k<createErrors.length;k++) {
System.out.println(createErrors[k]);
}
}
} finally {
restApi.close();
}
}
}