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

时间:2020-08-21 11:11:04

标签: azure rest azure-devops azure-devops-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

2 个答案:

答案 0 :(得分:0)

解决方案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更改状态后,它应该可以工作

答案 1 :(得分:0)

要更改任务的 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"
  }
]