【发布时间】:2018-01-08 20:42:12
【问题描述】:
在 VSTS Rest API 中,有一段文档向我展示了如何使用 create a folder。具体来说,我想在 Shared Queries 文件夹中创建一个文件夹。看来我可以使用 REST API 做到这一点。
我想用 VSTS Node API (vso-node-api) 做同样的事情。我似乎能找到的最接近的类似函数是WorkItemTrackingApi.createQuery。这是正确使用的功能吗?
当我尝试使用此功能时,我收到一个错误:
Failed request: (405)
这看起来很奇怪,因为“不允许的方法”错误在这里似乎不是正确的错误。换句话说,我不是决定使用哪种方法 (GET/POST/...etc) 的人,我只是在调用 VSTS Node API 的函数,该函数应该使用正确的 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 让我相信 VSTS Node API 正在进行底层 VSTS REST API 无法理解的 REST 调用。
【问题讨论】:
标签: javascript node.js azure-devops azure-devops-rest-api