2017-03-01 54 views
0

我需要通过我的TFS扩展创建大约6000个工作项目。我在我的扩展中使用了typescript和REST API。使用Javascript REST API在TFS中创建大量工作项目

下面

是我用它来创建工作项

var ops = [ 
      { 
       path: "/fields/System.Title", 
       op: "add", 
       value: "Hello world" 
      } 
     ]; 

    var options = { 
     url: 'http://localhost:8080/tfs/DefaultCollection/Agile Git/_apis/wit/workItems/$Bug?api-version=2.2', 
     username: 'username', 
     password: 'password', 
     domain: 'domain', 
     method: 'PATCH', 
     headers: { 
      'Content-Type': 'application/json-patch+json' 
     }, 
     body: JSON.stringify(ops) 
    }; 

    httpntlm.patch(options, function(err,res) { 
       console.log("patch complete"); 
       console.log(res.body); 
    }) 

我遍历每个工作项目的详细信息,并尝试创建批量的工作项目,在一定时间间隔(如100工作项批次)的代码。但是,对于许多有超时问题的工作项目(我能够生成大约1000个工作项目),创建过程失败。有推荐的方法来创建/编辑工作项目。请帮忙。

回答

1

使用工作项目批量API来代替:

例如:

http://[collection url]/_apis/wit/$batch?api-version=1.0 

身体:

[ 
    { 
    "method": "PATCH", 
    "uri": "/ScrumStarain/_apis/wit/workItems/$Product Backlog Item?api-version=1.0", 
    "headers": { 
     "Content-Type": "application/json-patch+json" 
    }, 
    "body": [ 
     { 
     "op": "add", 
     "path": "/fields/System.Title", 
     "value": "apip1" 
     }, 
     { 
     "op": "add", 
     "path": "/id", 
     "value": "-1" 
     } 
    ] 
    }, 
    { 
    "method": "PATCH", 
    "uri": "/ScrumStarain/_apis/wit/workItems/$Task?api-version=1.0", 
    "headers": { 
     "Content-Type": "application/json-patch+json" 
    }, 
    "body": [ 
     { 
     "op": "add", 
     "path": "/fields/System.Title", 
     "value": "apip2" 
     }, 
     { 
     "op": "add", 
     "path": "/id", 
     "value": "-2" 
     } 

    ] 
    } 
] 

的更多信息,你可以参考:Work item batch operations

+1

喜starain,谢谢很多你的回应:)。还有一件事需要澄清,每批物品是否有限制? – Lalindu

+0

@Lalindu在官方文章中没有提到,但你可以测试它。 –

+0

@Lalindu如果我的解决方案解决了您的问题,您可以接受它作为答案。 –

相关问题