代码之家  ›  专栏  ›  技术社区  ›  alexk

如何使用vso节点api(VSTS)创建共享查询文件夹?

  •  0
  • alexk  · 技术社区  · 7 年前

    在VSTS Rest API中,有一段文档向我展示了如何 create a folder . 具体来说,我想在共享查询文件夹中创建一个文件夹。似乎我可以用RESTAPI来实现这一点。

    我想对VSTS节点API做同样的事情( vso-node-api ). 我能找到的最接近的类似函数是 WorkItemTrackingApi.createQuery . 这是要使用的正确功能吗?

    当我尝试使用此函数时,出现了一个错误:

    Failed request: (405)
    

    这似乎很奇怪,因为“不允许使用方法”错误在这里似乎不是正确的错误。换句话说,我不是决定什么方法的人( GET/POST/...etc )为了使用,我只调用VSTS节点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节点API正在进行一个底层VSTS REST API不理解的REST调用。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Marina Liu    7 年前

    对于 createQueryFolder ,您应该 指定文件夹路径 要在其中创建新文件夹。

    例如,如果要创建文件夹 Test Shared Query Folder 1 在“共享查询”下,应为指定参数 createQueryFolder 作为:

    let result = await createQueryFolder(QueryHeirarchyFunction, projectID, 'Shared Queries')