Получение родительского элемента для работы через REST API - PullRequest
0 голосов
/ 12 сентября 2018

Мы разрабатываем расширение Azure DevOps для передачи изменений рабочих элементов во внешнюю систему.

Мы хотели бы сохранить / сохранить иерархию в DevOps Azure (Epic-> Feature -> PBI / Bug) в целевой системе, поэтому нам нужно выяснить, какой родитель имеет рабочий элемент.

При извлечении сущности рабочего элемента из API он выглядит следующим образом (немного сокращенно)

{
    "id": 5202,
    "rev": 2,
    "fields": {
        "System.WorkItemType": "Task",
        "System.State": "To Do",
        "System.Reason": "New task",
        "System.CreatedDate": "2017-10-30T10:18:06.233Z",
        "System.CreatedBy": "Jesper Lund Stocholm",
        "Microsoft.VSTS.Common.Priority": 2,
        "Microsoft.VSTS.Scheduling.RemainingWork": 23.0,
        "Microsoft.VSTS.Common.StateChangeDate": "2017-10-30T10:18:06.233Z",
    },
    "_links": {
            "self": {
            "href": "https://{myorg}.visualstudio.com/_apis/wit/workItems/5202"
        },
        "workItemUpdates": {
            "href": "https://{myorg}.visualstudio.com/_apis/wit/workItems/5202/updates"
        },
        "workItemRevisions": {
            "href": "https://{myorg}.visualstudio.com/_apis/wit/workItems/5202/revisions"
        },
        "workItemHistory": {
            "href": "https://{myorg}.visualstudio.com/_apis/wit/workItems/5202/history"
        },
        "html": {
            "href": "https://{myorg}.visualstudio.com/web/wi.aspx?pcguid=e5d991b2-9879-497c-85fb-c618f144a9c5&id=5202"
        },
        "workItemType": {
            "href": "https://{myorg}.visualstudio.com/6847ebed-cbca-4510-8baa-228c7c55ba8d/_apis/wit/workItemTypes/Task"
        },
        "fields": {
            "href": "https://{myorg}.visualstudio.com/_apis/wit/fields"
        }
    },
    "url": "https://{myorg}.visualstudio.com/_apis/wit/workItems/5202"
}

Очевидное место для поиска здесь https://{myorg}.visualstudio.com/_apis/wit/fields

Но мы не можем найти никаких следов ссылок на «родительскую сущность».

Может ли быть правда, что это значение не выставлено?

1 Ответ

0 голосов
/ 12 сентября 2018

Вы можете получить все ссылки на рабочие элементы (родительские, дочерние и т. Д.), Добавив $expand=relations к строке API.

Например:

https://shaykia.visualstudio.com/_apis/wit/workItems/4?$expand=relations

В результате вы увидите раздел «отношения»:

"relations": [
    {
      "rel": "System.LinkTypes.Hierarchy-Forward",
      "url": "http:/shaykia.visualstudio.com/_apis/wit/workItems/11",
      "attributes": {
        "isLocked": false
      }
    },
    {
      "rel": "System.LinkTypes.Hierarchy-Reverse",
      "url": "http://shaykia.visualstudio.com/_apis/wit/workItems/3",
      "attributes": {
        "isLocked": false
      }
    }
  ], 

System.LinkTypes.Hierarchy-Reverse предназначен для родительского элемента (в данном случае для рабочего элемента с идентификатором 3 он является родительским), а System.LinkTypes.Hierarchy-Forward для ребенка.

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