2011-11-11 67 views
3

所以我試圖更新一個任務,並更改它屬於的用戶故事。這就是我想..如何使用Rally API更新任務(更改用戶故事)?

var toUpdate = new DynamicJsonObject(); 

// the new User Story 
toUpdate["WorkProduct"] = "/hierarchicalrequirement/4567890123"; 

// the ObjectID of the Task 
long oid = 45678912445; 

OperationResult result = _restApi.Update("task", oid, toUpdate); 

但收到此錯誤:System.Collections.Generic.List'1[System.String]

+0

我彙集一個小例子來重現你正在做的事情,它工作得很好。你有錯誤的完整堆棧跟蹤?您使用的是Rally REST API的哪個版本? (最新版本是1.04) –

+0

嘿凱爾,那個錯誤是來自result.Error的OperationResult,所以不知道如何獲得更多的信息 – robnardo

+0

它一定是一些字符串錯誤,我忽略了。它正在工作。感謝您的檢查! – robnardo

回答

0

這是我得到了之前由凱爾莫爾斯報告的任何bug修復工作..

public string ProxyUpdateTask(Task myTask, string strWorkProduct) 
    { 

     var message = @"<span style=""color:green;"">SUCCESS</span>"; 
     const string errPrefix = @"<span style=""color:red;"">ERROR</span>"; 

     var toUpdate = new DynamicJsonObject(); 

     long oid; 
     Int64.TryParse(myTask.ObjectId, out oid); 

     toUpdate["WorkProduct"] = String.Format("/hierarchicalrequirement/{0}", myTask.UserStoryId); 


     try 
     { 
      var result = _restApi.Update("task", oid, toUpdate); 
      if (!result.Success) 
       message = String.Format(@" {2} updating (ObjectID={0}) failed. {1}", myTask.ObjectId, result.Errors, errPrefix); 
     } 
     catch (WebException ex) 
     { 
      message = String.Format(" {0} - {1}", errPrefix, ex.Message); 
     } 
     catch (Exception ex) 
     { 
      message = String.Format(" {0} - {1}", errPrefix, ex.Message); 
     } 

     return message; 

    } 
相關問題