VSO WorkItem API查询未返回结果

时间:2018-04-11 12:26:37

标签: powershell azure-devops azure-devops-rest-api

我现在有一个PowerShell脚本工作了一段时间,它在VSO中读取和创建任务,但它已经在大约一天前停止工作了。总的来说,目的是创建工作项目,作为其中的一部分,我将获取现有项目,以确保我没有创建重复项。

以下是用于获取项目的片段 - 这已经工作了几个月。

#Get current work items.
$workitemsUrl = "https://" + $instance + "/DefaultCollection/" + $project + "/_apis/wit/wiql?api-version=1.0"

#Create object to convert to JSON.
$query = @{
    query = "SELECT [System.Id], [System.Title] from workitems where [System.WorkItemType] = 'Task' and [Microsoft.VSTS.Common.Priority] = 1 and [Microsoft.VSTS.Common.Activity] = 'Merge' order by System.ID asc"
    }

#convert to JSON object.
$jsonQuery = ConvertTo-Json $query

$workitems = Invoke-RestMethod -Uri $workitemsUrl -ContentType "application/json" -Method POST -Headers @{ Authorization = "Basic {0}" -f $b64token} -Body $jsonQuery

我得到的响应是有效的,但它现在没有结果,即使VSO实例有大量符合条件的任务。以下示例响应的价值:

@{queryType=flat; queryResultType=workItem; asOf=2018-04-11T12:15:06.073Z; columns=System.Object[]; sortColumns=System.Object[]; workItems=System.Object[]}

我试过了:

  1. 在查询结尾处更改API版本。
  2. 将查询更改为非常基本(从WorkItems中选择ID)。
  3. 重新生成PAT。
  4. 打印出发送到端点的JSON - 它与文档匹配。
  5. 值得一提的是创建任务的脚本仍然可以正常工作,并使用相同的PAT。

    我错过了什么吗?如果有人可以提出解决方案或故障排除步骤,我们将不胜感激。

    编辑#1 根据要求更新信息。使用与上面相同的查询,截图链接。还包括TesttaskFetch.ps1的完整代码片段,它是完整脚本的缩减版本。

    No Tasks Returned Image 使用的查询与上面的相同,使用相同的代码。

    编辑#2。编辑#2 我发现了问题 - 查询一直不是问题。这是我的脚本的另一部分与任何类型的API问题无关的逻辑缺陷。我将关闭它。

1 个答案:

答案 0 :(得分:0)

我发现了问题 - 查询一直不是问题。这是我的脚本的另一部分与任何类型的API问题无关的逻辑缺陷。感谢所有的回复,误报。

相关问题