public static void main(String[] args) throws URISyntaxException, IOException { // Create and configure a new instance of RallyRestApi // (Server, username, password and proxy settings configured in Factory) RallyRestApi restApi = RestApiFactory.getRestApi(); try { // Create a defect System.out.println("Creating defect..."); JsonObject newDefect = new JsonObject(); newDefect.addProperty("Name", "Test Defect"); CreateRequest createRequest = new CreateRequest("defect", newDefect); CreateResponse createResponse = restApi.create(createRequest); System.out.println( String.format("Created %s", createResponse.getObject().get("_ref").getAsString())); // Read defect String ref = Ref.getRelativeRef(createResponse.getObject().get("_ref").getAsString()); System.out.println(String.format("\nReading defect %s...", ref)); GetRequest getRequest = new GetRequest(ref); GetResponse getResponse = restApi.get(getRequest); JsonObject obj = getResponse.getObject(); System.out.println( String.format( "Read defect. Name = %s, State = %s", obj.get("Name").getAsString(), obj.get("State").getAsString())); // Update defect System.out.println("\nUpdating defect state..."); JsonObject updatedDefect = new JsonObject(); updatedDefect.addProperty("State", "Fixed"); UpdateRequest updateRequest = new UpdateRequest(ref, updatedDefect); UpdateResponse updateResponse = restApi.update(updateRequest); obj = updateResponse.getObject(); System.out.println( String.format("Updated defect. State = %s", obj.get("State").getAsString())); // Delete defect System.out.println("\nDeleting defect..."); DeleteRequest deleteRequest = new DeleteRequest(ref); DeleteResponse deleteResponse = restApi.delete(deleteRequest); if (deleteResponse.wasSuccessful()) { System.out.println("Deleted defect."); } } finally { // Release all resources restApi.close(); } }