工作项跟踪

工作项跟踪资源

获取、创建和更新团队的 bug、任务及其他工作项。 查询允许你使用工作项查询语言的全部功能来搜索和筛选工作项。 可以使用工作项查询语言来获得满足查询的每个工作项。 工作项保留了完整的历史记录,你可以获取每个工作项的完整修订,或者仅获取每个修订中所做的更新。 也可以标记工作项。


常见任务

使用查询获取工作项

  1. 查找要使用的 查询
  2. 获取该查询 的结果
  3. 按 ID 获取每个 工作项

批量更新 WorkItems

使用 Batch WorkItem 更新 API 在批处理中更新工作项。

更新工作项的字段

  1. 获取要更新 的工作项 的 ID。
  2. 更新 工作项的字段。
  1. 获取要链接 的工作项 的 ID。
  2. 在工作项之间添加链接

使用 创建工作项 并在批处理调用 中添加链接 API。

将文件附加到工作项

  1. 获取要更新 的工作项 的 ID。
  2. 将附件上传到 附件存储区。
  3. 将附件添加到 工作项。

创建工作项

创建工作项。 请确保至少提供一个游戏。 某些类型的工作项需要其他字段的值。

获取工作项的完整历史记录

  1. 获取 工作项的 ID。
  2. 获取对工作项所做的 更新 的列表。
  3. 获取出现在任何 修订中的整个工作项。

删除工作项

  1. 获取 工作项的 ID。
  2. 删除工作项

获取团队项目中使用的字段

  1. 获取团队项目中使用的 工作项的类型
  2. 获取每个 工作项类型 以查看它使用的字段。 (跳过 xmlform 到 fieldinstances.)

获取工作项的类别

使用 工作项的类别 获取团队项目中用于不同函数的工作项的类型。 例如,若要查看积压工作上显示的工作项,请获取要求 类别

获取区域和迭代

获取团队项目的 区域层次结构或迭代层次结构

获取工作项关系的类型

获取项目集合中可用的 工作项链接的可用类型


工作项元数据资源

工作项受元数据控制。 某些元数据的范围限定为特定团队项目,而其他元数据的范围限定为项目集合 (,例如Azure DevOps Services帐户的默认集合) 。

项目范围的元数据

团队项目有一组 工作项类型。 每个工作项类型都可能属于“要求”或“bug”等 类别 ,以定义其在项目中的角色。 分类节点 定义可用于团队项目中工作项的区域和迭代字段中的值集。

集合范围的元数据

工作项类型与其他类型的工作项共享字段和关系类型 (链接和附件)


工作项批处理更新 API

执行多个工作项更新请求。 响应包含批处理中每个请求的单个响应。 失败的请求不会影响批处理中的后续请求。

REST API 语义

PATCH https://dev.azure.com/{organization}/_apis/wit/$batch?api-version=6.1

URI 参数

名称 必须 类型 说明
组织 路径 True 字符串 Azure DevOps 组织的名称。
api-version query 字符串 要使用的 API 版本。
bypassRules query boolean 请勿对此更新强制实施工作项类型规则。
suppressNotifications query boolean 请勿针对此更改触发任何通知。

请求正文

请求正文构成为工作项更新请求的列表。 此列表中的每一项都将包含有关单个更新请求的所有信息,包括 REST 方法、路径、标头和正文。

有关单个请求的详细信息,可以检查工作项更新文档。

Batch 更新示例

请求

PATCH https://dev.azure.com/fabrikam/_apis/wit/$batch?api-version=6.1

请求正文

[
  {
    // Add priority and test rev on work item with id 1
    "method": "PATCH",
    "uri": "/_apis/wit/workitems/1?api-version=6.1",
    "headers": {
      "Content-Type": "application/json-patch+json"
    },
    "body": [
      {
        "op": "test",
        "path": "/rev",
        "value": 3
      },
      {
        "op": "add",
        "path": "/fields/Microsoft.VSTS.Common.Priority",
        "value": "1"
      }
    ]
  },
  {
    // Replace tags on work item with id 299x   
    "method": "PATCH",
    "uri": "/_apis/wit/workitems/299?api-version=6.1",
    "headers": {
      "Content-Type": "application/json-patch+json"
    },
    "body": [
      {
        "op": "replace",
        "path": "/fields/System.Tags",
        "value": "Tag1; Tag2"
      }
    ]
  },
  {
    // You can also use Work Item Create format
    "method": "PATCH",
    "uri": "/mytestprojectname/_apis/wit/workitems/$Bug?api-version=4.1",
    "headers": {
        "Content-Type": "application/json-patch+json"
    },
    "body": [
        {
            "op": "add",
            "path": "/id",
            "value": "-1"
        },
        {
            "op": "add",
            "path": "/fields/System.Title",
            "from": null,
            "value": "Sample 1"
        }
    ]
  },
]

响应

响应包括每个批处理更新请求的单独响应。

  • count :返回的批处理更新响应数
  • value :包含响应代码、标头和正文的响应对象列表
{
  "count": 2,
  "value": [
    {
      "code": 200,
      "headers": {
        "Content-Type": "application/json; charset=utf-8"
      },
      "body": "{work item object}"
    },
    {
      "code": 200,
      "headers": {
        "Content-Type": "application/json; charset=utf-8"
      },
      "body": "{work item object}"
    }
  ]
}