Как создать общую папку запросов, используя vso-node-api (VSTS)?

В API VSTS Rest есть документация, показывающая, как создать папку. В частности, я хотел бы создать папку в папке Shared Queries. Кажется, что я могу сделать это с REST API.

Я хотел бы сделать то же самое с VSTS Node API (vso-node-api). Самая близкая аналогичная функция, которую я могу найти, была бы WorkItemTrackingApi.createQuery, Это правильная функция для использования?

Когда я пытаюсь использовать эту функцию, я получаю сообщение об ошибке:

Failed request: (405)

Это кажется странным, поскольку ошибка "Method Not Allowed" здесь не выглядит как правильная ошибка. Другими словами, я не тот человек, который решает, какой метод (GET/POST/...etc), я просто вызываю функцию API-интерфейса узла VSTS, которая должна использовать правильный метод HTTP-запроса.

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

Но я не удивлюсь, если VSTS не понравятся данные, которые я предоставил в запросе. Я написал следующую тестовую функцию:

async function createQueryFolder (QueryHeirarchyItem, projectId, query) {
  let result = await (WorkItemTrackingApi.createQuery(QueryHeirarchyItem, projectId, query))
  return result
}

Я установил некоторые переменные и вызвал функцию:

let projectID = properties.project // A previously set project ID that works in other API calls
let QueryHeirarchyItem = {
    isFolder: true,
    name: 'Test Shared Query Folder 1'
}
try {
    let result = await createQueryFolder(QueryHeirarchyFunction, projectID, '')

Обратите внимание, что я предоставил пустую строку для запроса - я понятия не имею, что предоставить там, когда все, что я хочу создать, - это папка.

Итак, я думаю, что многие вещи могут быть неправильными с моим подходом здесь, но также, если мои параметры запроса неверны, возможно, я должен получить ошибку 400? 405 заставляет меня поверить, что API-интерфейс узла VSTS выполняет вызов REST, который не понимает базовый API-интерфейс REST VSTS.

1 ответ

Решение

Для третьего параметра createQueryFolder, вы должны указать путь к папке, в которой вы хотите создать новую папку.

Например, если вы хотите создать папку Test Shared Query Folder 1 в разделе Общие запросы вы должны указать параметры для createQueryFolder как:

let result = await createQueryFolder(QueryHeirarchyFunction, projectID, 'Shared Queries')
Другие вопросы по тегам