无法通过Azure Devops API更改Workitem的父级

时间:2019-03-25 12:06:39

标签: azure azure-devops

我正在尝试使用azure devops api以编程方式更改工作项的父级,但是它没有按预期工作。

我尝试使用update link endpoint以及remove link endpoint,但鉴于我无法获得要用于父子关系的关系ID的方式,因此它们似乎都不是正确的请求路径。

1 个答案:

答案 0 :(得分:0)

path:中发送的“关系ID”只是在WorkItemRelation[]上被修补的Work Item中被更改或删除的关系的索引。

将GET操作的查询字符串中的$expand=Relations参数用于您要更改其亲缘关系的工作项(Get Work Item)。

https://dev.azure.com/{YOUR_ORG}/{YOUR_PROJ}/_apis/wit/workitems/{Child_ID}?$expand=Relations&api-version=5.0-preview.2

注意:我不确定,但是我认为{YOUR_PROJ}值可以省略。

使用生成的工作项对象,获取关系类型为Hierarchy-Reverse的关系的索引,并将其用作通过{{1}在PATCH主体中发送的"path": "/relations/{index}"属性的叶子}。

获取回复(缩写):

op: "remove"

补丁请求(正文):

        {
            "rel": "System.LinkTypes.Hierarchy-Reverse",
            "url": "https://dev.azure.com/{YOUR_ORG}/_apis/wit/workItems/{Parent_ID}",
            "attributes": {
                "isLocked": false
            }
        }

文档中的示例倾向于在执行删除或添加操作之前对工作项的修订版进行测试。这不是必需的,但这可能是个好主意。