使用 Javascript REST API 在 TFS 中创建大量工作项

Create Large Amount of Work Items in TFS Using Javascript REST API

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

下面是我用来创建工作项的代码

 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 个工作项)。是否有推荐的方法来创建/编辑工作项。请帮忙。

改为使用工作项批处理 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