2017-05-08 62 views
1

我正在使用RallyRestApi構建Android應用程序。我想更新任務狀態和特定任務的實際情況。我怎樣才能做到這一點?以下是我的代碼。我得到一個數組列表中的UserStories和任務列表。我想即時更新特定任務的任務狀態/實際情況。我曾嘗試:如何更新任務狀態和特定任務的實際數據?

RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"),"********************************"); 
     SimpleDateFormat iso = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); 
     Date today = new Date(); 
     String today1 = iso.format(today); 
QueryRequest us = new QueryRequest("HierarchicalRequirement"); 
      QueryFilter currentiteration = new QueryFilter("Iteration.StartDate","<=",today1); 
      currentiteration = currentiteration.and(new QueryFilter("Iteration.EndDate",">=",today1)); 
      us.setQueryFilter(currentiteration); 
      us.setFetch(new Fetch("Name", "FormattedID","Tasks")); 
      JsonArray us1 = restApi.query(us).getResults(); 
      for(int i=0;i<us1.size();i++) 
      { 
       QueryRequest task = new QueryRequest((JsonObject) us1.get(i).getAsJsonObject().get("Tasks")); 
       task.setFetch(new Fetch("Name","Actuals","Estimate")); 
       JsonArray tsk = restApi.query(task).getResults(); 
       for(int j=0;j<tsk.size();j++) 
       { 
        System.out.println("UserStory : "+us1.get(i).getAsJsonObject().get("Name")+tsk.get(j).getAsJsonObject().get("Name")); 
       } 
      } 

enter image description here

我有卡,以顯示用戶的故事/任務和圓形控制器設置實際值對estimates.When我向上輕掃狀態已經到卡所以我只需要更新2值的實際情況和任務的狀態

只是引導我通過java代碼,即我應該如何創建請求/創建響應。我可以在應用程序中關閉它。謝謝。

回答

1

查看所有故事並加載所有任務以搜索特定故事似乎相當低效。你有它的FormattedID嗎?我可能只是做簡單的任務查詢來找到一個任務,然後更新它。

//Find task first 
QueryRequest task = new QueryRequest("Task"); 
task.setQueryFilter(new QueryFilter("FormattedID","=","T1234"); 
task.setProject("/project/12345"); //make sure searching in correct project 
JsonArray taskResult = restApi.query(task).getResults().get(0).getAsJsonObject(); 

//Update task 
JsonObject updatedValues = new JsonObject(); 
updatedValues.addProperty("Actuals", 5.0); 
UpdateRequest taskUpdate = new UpdateRequest(task.get("_ref").getAsString(), updatedValues); 
restApi.update(taskUpdate); 

有在這裏的文檔使用該工具包的一些很好的例子:https://github.com/RallyTools/RallyRestToolkitForJava/wiki/User-Guide#examples

+0

我想在當前迭代整個任務,這就是爲什麼我在上面way.I查詢已卡以顯示用戶故事和任務。參見我的編輯。 – Akshay

+0

好的,很酷。那麼你應該能夠從上面獲取更新部分,並跳過第一部分。此外,您可以直接查詢任務,而不必先通過故事。只要確保你拿到WorkProduct,你應該得到你需要的故事信息... –

+0

謝謝ton..My的應用程序已經準備好了,並已去測試..感謝您的所有幫助.. – Akshay