Azure DevOps API - как обнаружить связь между полем и списком выбора - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь реплицировать Azure процесс DevOps из одной организации в другую через API-интерфейс REST AZDO. Я работаю над репликацией макета и застрял, потому что не могу обнаружить связь между настраиваемым полем и списком выбора при запросе исходного экземпляра AZDO.

В моем сценарии у меня есть тип тестового рабочего элемента, который Я назвал проблему. В интерфейсе Issue я создал настраиваемое поле, которое представляет собой список выбора. Хотя я могу получить список списков с помощью Rest API и также проверить поле , я не могу понять, как эти два связаны.

Здесь это частичная полезная нагрузка из поля :

{
    "count": 39,
    "value": [
...
        {
            "referenceName": "Custom.IssueSource",
            "name": "Issue Source",
            "type": "string",
            "description": "Who is this attributed to",
            "required": true,
            "url": "https://dev.azure.com/MYORG/_apis/work/processes/f390103e-7097-4f19-b5b5-f9dbcf92bb6f/behaviors",
            "customization": "custom"
        },
...   ]
}

, а вот частичная полезная нагрузка из списка get get , который я использовал методом проб и ошибок, чтобы определить список выбора, который я назначил:

{
    "count": 10,
    "value": [
...
        {
            "id": "2998d4e4-2bec-4935-98a1-b67a0b0b6d5d",
            "name": "picklist_e854661e-8620-4ad9-be28-b974c5cb3a5d",
            "type": "String",
            "isSuggested": false,
            "url": "https://dev.azure.com/MYORG/_apis/work/processes/lists/2998d4e4-2bec-4935-98a1-b67a0b0b6d5d"
        },
 ...
 ]
}

Вот частичный ответ макета для WIT:

{
    "pages": [
        {
            "id": "d0171d51-ff84-4038-afc1-8800ab613160.System.WorkItemType.Details",
            "inherited": true,
            "label": "Details",
            "pageType": "custom",
            "visible": true,
            "isContribution": false,
            "sections": [
                {
                    "id": "Section1",
                    "groups": [
...
                        {
                            "id": "bf03e049-5062-4d82-b91d-4396541fbed2",
                            "label": "Custom",
                            "isContribution": false,
                            "visible": true,
                            "controls": [
                                {
                                    "id": "Custom.IssueSource",
                                    "label": "Issue Source",
                                    "controlType": "FieldControl",
                                    "readOnly": false,
                                    "visible": true,
                                    "isContribution": false
                                }
                            ]
                        }
                    ]
                },
...    ]
}

Использование fiddler для веб-интерфейса AZDO, единственный когда я вижу ссылку на список выбора из другого не-AZDO API на https://dev.azure.com/MYORG/_apis/Contribution/dataProviders/query

Есть ли способ обнаружить ссылку через AZDO Rest API? Я видел этот вопрос, который был похож, но был о создании ссылки

1 Ответ

0 голосов
/ 24 февраля 2020

Разобрался. Оказывается, вам нужно запросить из другой области - отслеживание рабочего элемента вместо процесс отслеживания рабочего элемента :

https://dev.azure.com/MYORG/_apis/wit/fields/Custom.IssueSource?api-version=5.0-preview.2

возвращает

{
    "name": "Issue Source",
    "referenceName": "Custom.IssueSource",
    "description": "Who is this attributed to",
    "type": "string",
    "usage": "workItem",
    "readOnly": false,
    "canSortBy": true,
    "isQueryable": true,
     ...
    "isIdentity": false,
--> "isPicklist": true,
    "isPicklistSuggested": false,
--> "picklistId": "2998d4e4-2bec-4935-98a1-b67a0b0b6d5d",
    "url": "https://dev.azure.com/MYORG/_apis/wit/fields/Custom.IssueSource"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...