Невозможно отобразить список командных проектов в расширении Azure DevOps - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь отобразить список проектов, используя список выбора в расширении Azure DevOps (TFS).Ниже приведен фрагмент кода в файле task.json:

Ввод:

{
      "name": "project",
      "type": "pickList",
      "label": "Project",
      "defaultValue": "",
      "required": false,
      "helpMarkDown": "Select the root area.",
      "properties": {
        "DisableManageLink": "True"
      }
    }

Определение источника:

{
      "target": "project",
      "endpoint": "http://localhost:8080/tfs/DefaultCollection/_apis/projects?api-version=1.0",
      "selector": "jsonpath:$.name",
      "keySelector": "jsonpath:$.name",
      "authKey": "tfs:teamfoundation"
    }

В моей локальной среде есть TFS 2015, иURL отлично работает в браузере.Тем не менее, список выбора не заполняется в расширении.

Любая идея, что здесь пошло не так?

Кстати, я вижу «400 (Bad Request)», когда япосмотрите на консоль браузера.

Спасибо.

1 Ответ

0 голосов
/ 05 декабря 2018

ЭТО РАБОТАЕТ!(даже неожиданность для меня):

"inputs": [
        {
            "name": "sourceProject",
            "type": "pickList",
            "label": "Source project",
            "defaultValue": "",
            "required": true,
            "helpMarkDown": "Select the TFS Project.",
            "properties": {
                "EditableOptions": "True"
            }
        }
    ],
    "dataSourceBindings": [
        {
            "target": "sourceProject",
            "endpointId": "tfs:teamfoundation",
            "endpointURL": "{{endpoint.url}}/_apis/projects?api-version=1.0",
            "resultSelector": "jsonpath:$.value[*]",
            "resultTemplate": "{ \"Value\" : \"{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }"
        }
    ]

enter image description here Обратите внимание, что "runSelector" и "resultTemplate" определены правильно.Настоящим ключом был правильный запрос пути JSON в «resultSelector» И «endpointId», который использует «tfs: teamfoundation», который вы ошибочно пометили.Шаблон resultTemplate предназначен для форматирования выпадающего списка.

Я создал репозиторий GitHub с рабочим расширением, которое смог протестировать в своей собственной коллекции TFS.https://github.com/Antebios/vsts-projectlist-task

Редактировать: это работает для Devure Azure, но выдает ошибку для TFS 2015, который я использую.Похоже, что "endpointId": "tfs:teamfoundation" может быть недействительным для TFS.

...