Невозможно изменить родителя workitem через API Azure Devops - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь программно изменить родителя рабочего элемента с помощью API Azure Devops, но он не работает, как ожидалось.

Я пытался использовать обновить конечную точку ссылки , а также удалить конечную точку ссылки , но ни одна из них не кажется правильной, поскольку я не могу получить идентификатор отношения для Родительско-дочерние отношения для использования в пути запроса.

1 Ответ

0 голосов
/ 26 марта 2019

«Идентификатор отношения» для отправки в path: - это просто индекс отношения, которое изменяется или удаляется в WorkItemRelation[] в рабочем элементе , который патчируется.

Используйте аргумент $expand=Relations в строке запроса операции GET для рабочего элемента, происхождение которого вы хотите изменить ( Получить рабочий элемент ).

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, и используйте его в качестве листа свойства "path": "/relations/{index}", отправляемого в теле PATCH с op: "remove".

Получить ответ (сокращенно):

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

Запрос исправления (тело):

[
  {
    "op": "test",
    "path": "/rev",
    "value": 1
  },
  {
    "op": "remove",
    "path": "/relations/0"
  }
]

Примеры в документации, как правило, выполняют проверку исправления рабочего элемента перед выполнением удаления или добавления.операция.В этом нет необходимости, но, вероятно, это хорошая идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...