2016-07-29 41 views
-1

我正在使用Team Foundation Server 2015更新3. 我正嘗試從C#項目創建工作項目。 我使用來自Microsoft.TeamFoundation.WorkItemTracking.Client和Microsoft.TeamFoundation.Client的tfs api創建工作項。TFS無法保存Workitem

而且它不能在保存前驗證工作項。

問題與字段分配給。 我試圖把「Alexey Solovyev」(我的顯示名稱),ASolovyev(登錄)和DOMAIN \ ASolovyev的值。 在所有情況下,我都在Arraylist的ValidationErrors「InvalidListValue」中顯示一條消息。

這裏有什麼問題?

 public static bool Save(WorkItem wi) 
     { 
      ArrayList validationErrors = wi.Validate(); 
      if (validationErrors.Count == 0) 
      { 
       try { 
        wi.Save(); 
       } 
       catch (Exception e) 
       { 
        wi.Fields["Conditions_plain"].Value = "Exception Message"; 
        wi.Save(); 
       } 

       return true; 
      } 
      else 
       return false; 
     } 



    public static bool createTask() 
     { 
      Project proj = _wiStore.Projects["MyProject"]; 
      WorkItem wi = new WorkItem(proj.WorkItemTypes["Task"]); 

      wi.Fields["Title"].Value = "AUTOGENERATED!"; 
      wi.Fields["Assigned to"].Value = "Alexey Solovyev"; 

      return Save(wi); 
     } 
+0

您的示例代碼在哪裏? – pquest

+0

更新的主帖 –

+1

也許[this](http://stackoverflow.com/questions/30641279/how-to-set-assigned-to-in-tfs-work-item-through-code)SO問題有幫助 –

回答

0

而是.NET API,它的建議你使用REST API,你正在使用TFS 2015年REST API是爲了create a work item容易得多:

PATCH https://{instance}/DefaultCollection/{project}/_apis/wit/workitems/${workItemTypeName}?api-version={version} 

Content-Type: application/json-patch+json 

[ 
    { 
     "op": "add", 
     "path": "/fields/System.Title", 
     "value": xxxxx 
    }, 
    { 
     "op": "add", 
     "path": "/fields/System.AssignedTo", 
     "value": xxxxx 
    }, 
] 

如果我用的是重複的顯示名稱,我'會出錯'字段'Assigned To'包含值'xxxxx',不在支持值列表中。