Azure开发人员使用REST API-在各列之间移动工单

问题描述

我正在测试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>"
    }
]

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

编辑(添加新状态):

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

enter image description here

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

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

enter image description here

教程: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","value": "In Progress"
  },{
    "op": "replace","path": "/fields/System.Reason","value": "Work started"
  }
]