2017-01-04 3 views
1

J'ai réussi à créer des résultats de test via les API Rally, mais maintenant je voudrais créer un cas de test si celui-ci n'est pas déjà présent dans Rally.Java REST API REST: Comment créer un nouveau cas de test

Je reçois une erreur de la part de Rally que "Object ID is null", ce qui implique que Rally pense que je mets à jour un cas de test, même si j'essaye d'en créer un.

Quelqu'un a-t-il déjà essayé l'API Rally API de test de test, ou est-ce que quelqu'un a vu ce que je devais corriger? Merci!

//Method to build the JSON and create the new test CASE in Rally 
    public static void createNewTestCase(String currentMethodName) 
    throws URISyntaxException, IOException{ 
     Configuration conf = new Configuration(); 
     RallyRestApi restApi = new RallyRestApi(new URI(
     "https://rally1.rallydev.com"), 
     {authentication code}); 
     restApi.setApplicationName("Test Case");    
     try { 
       //Create test case 
       JsonObject newTestCase = new JsonObject(); 
       newTestCase.addProperty("Name", currentMethodName); 
       newTestCase.addProperty("Description", "Created by Rally"); 
       newTestCase.addProperty("Project", "Project1")); 
       newTestCase.addProperty("Type", "Functional"); 
       newTestCase.addProperty("Method", "Automated"); 
       newTestCase.addProperty("DefectStatus", "NONE"); 
      CreateRequest createRequest = new CreateRequest("testcase", 
       newTestCase); 
      CreateResponse createResponse = restApi.create(createRequest); 
       if (createResponse.wasSuccessful()){ 
       System.out.println("Test case created successfully"); 
       } 
       else { 
       System.out.println("The test case could not be created"); 
       String[] createErrors; 
       createErrors = createResponse.getErrors(); 
       System.out.println("Error occurred creating Test Case: "); 
       for (int i=0; i<createErrors.length;i++) { 
        System.out.println(createErrors[i]); 
       } 
       } 

     }catch (Exception e){ 
       e.printStackTrace(); 
     } 
     finally { 
       restApi.close(); 
     } 
    } 

Répondre

1

Je suppose que le problème est de régler le projet. Les relations d'objet dans Rally sont toujours exprimées sous la forme refs-/type/objectid

newTestCase.addPropery("Project", "/project/12345"); 
+0

Merci! J'ai dû ajouter l'Id de l'objet du projet comme valeur, et cela a fonctionné! – user7375157