在VSTS Rest API中,有一份文档向我展示如何create a folder。具体来说,我想在Shared Queries文件夹中创建一个文件夹。我似乎可以使用REST API执行此操作。
我想用VSTS Node API(vso-node-api
)做同样的事情。我似乎能找到的最接近的类似函数是WorkItemTrackingApi.createQuery
。这是正确使用的功能吗?
当我尝试使用此功能时,我收到错误:
Failed request: (405)
这看起来很奇怪,因为"方法不允许"错误似乎不是正确的错误。换句话说,我不是决定使用什么方法(GET/POST/...etc
)的人,我只是调用应该使用正确的HTTP请求方法的VSTS Node API函数
我认为如果我的请求有问题(例如提供错误的参数/数据),错误代码会/应该是不同的。
但是,如果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调用。
答案 0 :(得分:1)
对于createQueryFolder
的第三个参数,您应指定要在其中创建新文件夹的文件夹路径。
例如,如果要在共享查询下创建文件夹Test Shared Query Folder 1
,则应将createQueryFolder
的参数指定为:
let result = await createQueryFolder(QueryHeirarchyFunction, projectID, 'Shared Queries')