VSO WorkItem API 查询未返回结果
VSO WorkItem API Queries Not returning Results
我已经有一个 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[]}
我试过:
- 在查询结束时更改 API 版本。
- 将查询更改为非常基本的(Select 来自 WorkItems 的 ID)。
- 重新生成 PAT。
- 打印出发送到端点的 JSON - 它与文档相符。
值得一提的是,创建任务的脚本仍然可以正常工作,并且使用了相同的 PAT。
我错过了什么吗?如果有人可以提出解决方案或故障排除步骤,我们将不胜感激。
编辑 #1
根据要求更新信息。使用与上面相同的查询,截图链接。还包括 TesttaskFetch 的完整代码片段。ps1 这是完整脚本的缩减版本。
No Tasks Returned Image
使用的查询与上面相同,代码相同。
编辑 #2
我发现了问题 - 查询一直都不是问题。这是我脚本另一部分的逻辑缺陷,与任何类型的 API 问题无关。我会关闭它。
我发现了问题 - 查询一直都不是问题。这是我脚本另一部分的逻辑缺陷,与任何类型的 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[]}
我试过:
- 在查询结束时更改 API 版本。
- 将查询更改为非常基本的(Select 来自 WorkItems 的 ID)。
- 重新生成 PAT。
- 打印出发送到端点的 JSON - 它与文档相符。
值得一提的是,创建任务的脚本仍然可以正常工作,并且使用了相同的 PAT。
我错过了什么吗?如果有人可以提出解决方案或故障排除步骤,我们将不胜感激。
编辑 #1 根据要求更新信息。使用与上面相同的查询,截图链接。还包括 TesttaskFetch 的完整代码片段。ps1 这是完整脚本的缩减版本。
No Tasks Returned Image 使用的查询与上面相同,代码相同。
编辑 #2 我发现了问题 - 查询一直都不是问题。这是我脚本另一部分的逻辑缺陷,与任何类型的 API 问题无关。我会关闭它。
我发现了问题 - 查询一直都不是问题。这是我脚本另一部分的逻辑缺陷,与任何类型的 API 问题无关。感谢大家的回复,虚惊一场