2011-11-11 8 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 for .NETのどのバージョンを使用していますか? (最近のバージョンは1.04です) –

+0

Hey Kyle、そのエラーは結果です。OperationResultのエラー、詳細情報の入手方法がわからない – robnardo

+0

私は見落とした文字列エラーであったに違いないでしょう。それは今働いている。チェックありがとう! – robnardo

答えて

0

は、これは私が前にカイルモールスによって報告されたバグ修正に動作するようになったものです。..

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; 

    } 
関連する問題