簡體   English   中英

TFS rest API-創建工作項

[英]TFS rest API- Create Work Item

我正在嘗試使用Microsoft.TeamFoundationService.Client api創建工作項,但每次我嘗試創建工作項時它都會失敗,並顯示錯誤

新工作項更新必須指定Area和Iteration節點ID。

到目前為止,我有以下內容:

var connection = new VssConnection(baseUrl, vssBasicCredential);
var witClient = connection.GetClient<WorkItemTrackingHttpClient>();

var patchDocument = new JsonPatchDocument();
patchDocument.Add(new JsonPatchOperation
{
  Operation = Operation.Add,
  Path = "/Fields/System.Title",
  Value = title
});

...
var newlyCreatedUserStory = witClient.CreateWorkItemAsync(patchDocument,
                                                          testProject.Id,
                                                          "User Story").Result;

此時拋出異常。 我也嘗試添加Area和Interation節點的值:

        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.AreaId",
            Value = parentWorkItem.Fields["System.AreaId"].ToString()
        });
        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.AreaPath",
            Value = parentWorkItem.Fields["System.AreaPath"].ToString()
        });
        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.TeamProject",
            Value = parentWorkItem.Fields["System.TeamProject"].ToString()
        });
        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.NodeName",
            Value = parentWorkItem.Fields["System.NodeName"].ToString()
        });
        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.AreaLevel1",
            Value = parentWorkItem.Fields["System.AreaLevel1"].ToString()
        });
        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.IterationId",
            Value = parentWorkItem.Fields["System.IterationId"].ToString()
        });
        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.IterationPath",
            Value = parentWorkItem.Fields["System.IterationPath"].ToString()
        });
        patchDocument.Add(new JsonPatchOperation
        {
            Operation = Operation.Add,
            Path = "/Fields/System.IterationLevel1",
            Value = parentWorkItem.Fields["System.IterationLevel1"].ToString()
        });

有任何想法嗎? 提前致謝。

如果您打算使用TFS2015。 建議你不要用VSTS測試。 兩者之間可能存在一些差異,例如API版本。

據我所知,創建工作項不需要指定Area和Iteration節點ID。 只需要標題。 您可以參考官方教程的示例代碼: 創建工作項

由於您使用的是預覽庫,因此您還可以嘗試使用穩定版本,例如Microsoft Team Foundation Server Client 14.102.0

還要添加一個類似的問題供您參考: TFS2015 REST API庫:創建一個新的工作項

更改

Path = "/Fields/System.Title"

Path = "/fields/System.Title"

為我做了訣竅。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM