Azure devops boards REST API - 在列之间移动票证

Azure devops boards REST API - move ticket between columns

我正在测试 Azure Boards rest API。我目前可以成功创建、删除和获取项目,但我似乎无法在列之间移动它们。

这是我的要求 https://{{AzureBoardsToken}}@{{AzureBoardsPath}}/_apis/wit/workitems/8907?api-version=6.0-preview.3

负载为

[
  {
    "op": "move",
    "path": "{no idea what to put here}",
    "from": "{no idea what to put here}",
    "value": "{not sure if this is relevant for this operation}"
  }
]

我觉得该文档不是特别有用,因为它假定您知道这些属性的含义以及从何处获取它们。

非常感谢任何帮助!这个想法是然后将它集成到nodejs

解决方案 1

要将工作项移动到另一列,您必须更改 "WEF_{id}_Kanban.Column" 字段。

使用 PATCH 更新您的工作项正文:

[
    {
        "op": "replace",
        "path": "/fields/WEF_F9DCD9224F6E466499435017DB7D2D07_Kanban.Column",
        "value": "<column name>"
    }
]

解决方案 2

要将工作项移动到另一列,您必须将其更改为“状态”。这仅在您将该状态分配给该列时才有效。

使用 PATCH 更新您的工作项正文:

[
    {
        "op": "replace",
        "path": "/fields/System.State",
        "value": "<column name>"
    }
]

文档:https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/work%20items/update?view=azure-devops-rest-6.0

编辑(添加新状态):

转到组织设置 -> 流程 -> 选择您的工作流程 -> 选择项目类型 -> 状态 -> 新状态(在此处添加“进行中”)

教程:https://docs.microsoft.com/en-us/azure/devops/organizations/settings/work/customize-process-workflow?view=azure-devops#add-a-workflow-state

然后转到看板的列设置并将新状态与列相关联

教程:https://docs.microsoft.com/en-us/azure/devops/boards/boards/add-columns?view=azure-devops#update-kanban-column-to-state-mappings

之后尝试使用 API REST 更改状态,它应该可以工作

要更改任务的 System.State,我还必须更改 System.Reason。由于某种原因,这两个字段是相关联的,并且两个更改都是触发从一列到另一列的转换所必需的。

例如,要将任务从状态 To Do 更改为 In Progress,请使用 Work Items - Update REST API 和以下请求正文:

[
  {
    "op": "replace",
    "path": "/fields/System.State",
    "value": "In Progress"
  },
  {
    "op": "replace",
    "path": "/fields/System.Reason",
    "value": "Work started"
  }
]