如何使用 vso-node-api (VSTS) 创建共享查询文件夹?
How to create a Shared Query Folder using the vso-node-api (VSTS)?
在 VSTS Rest API 中,有一份文档向我展示了如何 create a folder。具体来说,我想在 Shared Queries 文件夹中创建一个文件夹。看来我可以用 REST API.
我想对 VSTS 节点 API (vso-node-api
) 做同样的事情。我能找到的最接近的类似函数是 WorkItemTrackingApi.createQuery
。这是正确使用的功能吗?
当我尝试使用此功能时,出现错误:
Failed request: (405)
这似乎很奇怪,因为 "Method Not Allowed" 错误在这里似乎不是正确的错误。换句话说,我不是决定使用哪种方法 (GET/POST/...etc
) 的人,我只是调用 VSTS 节点 API 的函数,它应该使用正确的 HTTP 请求方法。
我认为如果我的请求有问题(比如提供错误 parameters/data),错误代码 would/should 会有所不同。
但是,如果 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 节点 API 正在进行底层 VSTS REST API 不理解的 REST 调用。
对于 createQueryFolder
的第三个参数,您应该指定要在其中创建新文件夹的文件夹路径。
比如你想在Shared Queries下创建一个文件夹Test Shared Query Folder 1
,你应该将createQueryFolder
的参数指定为:
let result = await createQueryFolder(QueryHeirarchyFunction, projectID, 'Shared Queries')
在 VSTS Rest API 中,有一份文档向我展示了如何 create a folder。具体来说,我想在 Shared Queries 文件夹中创建一个文件夹。看来我可以用 REST API.
我想对 VSTS 节点 API (vso-node-api
) 做同样的事情。我能找到的最接近的类似函数是 WorkItemTrackingApi.createQuery
。这是正确使用的功能吗?
当我尝试使用此功能时,出现错误:
Failed request: (405)
这似乎很奇怪,因为 "Method Not Allowed" 错误在这里似乎不是正确的错误。换句话说,我不是决定使用哪种方法 (GET/POST/...etc
) 的人,我只是调用 VSTS 节点 API 的函数,它应该使用正确的 HTTP 请求方法。
我认为如果我的请求有问题(比如提供错误 parameters/data),错误代码 would/should 会有所不同。
但是,如果 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 节点 API 正在进行底层 VSTS REST API 不理解的 REST 调用。
对于 createQueryFolder
的第三个参数,您应该指定要在其中创建新文件夹的文件夹路径。
比如你想在Shared Queries下创建一个文件夹Test Shared Query Folder 1
,你应该将createQueryFolder
的参数指定为:
let result = await createQueryFolder(QueryHeirarchyFunction, projectID, 'Shared Queries')