当前位置: 首页 > 知识库问答 >
问题:

如何使用WIQL从RESTful API获取数据,但它似乎不起作用

白高超
2023-03-14

有几天我都不知道代码有什么问题。。你们能看看我做错了什么吗?组织名称和项目名称在代码中输入正确。

这是PowerShell ISE上显示的错误消息

调用RestMethod:无法发送具有此动词类型的内容正文。在\项目\开发任务。ps1:47字符:17$响应=调用RestMethod-Uri$url-headers$headers-方法Get…~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CategoryInfo:NotSpecified:(:)[Invoke RestMethod],ProtocolViolationException FullyQualifiedErrorId:System。网ProtocolViolationException,微软。PowerShell。命令。InvokeRestMet hodCommand

$collectionuri = $Env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI
$token = $Env:SYSTEM_ACCESSTOKEN # need to configure build to allow passing OAuth tokens

$basicAuth = "{0}:{1}" -f '', 'token~~fdsafdsa'
$basicAuth = [System.Text.Encoding]::UTF8.GetBytes(":$($basicAuth)")
$basicAuth = [System.Convert]::ToBase64String($basicAuth)
$headers = @{Authorization=("Basic {0}"-f $basicAuth)}

$WorkItemType = 'Recently updated'

$url = $collectionuri + 'https://dev.azure.com/{OrganizationName}/{ProjectName}/_apis/wit/queries/test/wiql?api-version=5.0'

$WIQL_query = "select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State], [System.IterationPath] from WorkItems where [System.TeamProject] = @project and [System.Id] in (@recentProjectActivity) and not [System.State] in ('Closed', 'Inactive', 'Completed') and [System.IterationPath] Under 'Sprint number two' order by [System.ChangedDate] desc"
$body = @{ query = $WIQL_query }
$bodyJson=@($body) | ConvertTo-Json

$response = Invoke-RestMethod -Uri $url -headers $headers -Method Get -ContentType "application/json" -Body $bodyJson

$workitems = $response.workItems
Write-Host "Found" $workitems.Count "work items of type:" $WorkItemType

共有1个答案

范文昌
2023-03-14

您只需要将-Method(在Invoke-RestMethod中)从Get更改为Post

您尝试使用Work Item Query Language获取Work Items,在这个Rest API中,您需要在正文中传递WIQL,因此-method应该是Post

请参阅此处的文档。

 类似资料:
  • 假设我有两个按钮,一个是操作栏中的操作按钮(@id/Button1)。另一个是布局中的常用按钮(@id/Button2)。 单击按钮2时,如何将按钮1设置为禁用状态? findViewById(按钮1)似乎不起作用。它将返回null。 这是我的菜单xml: <代码> 这就是我的主体性:

  • 我的代码看起来像 我的文件如下所示 当我运行程序时,我看到 我怎样才能修好它呢?

  • 我有一个简单的web应用程序,我从应用程序的前端获取json。我有一个对象,它包含很少的属性和一个对象数组。 它看起来像这样: 我通过使用。我用向我的PHP-Laravel后端发送了一个请求,我想对它进行解析。 这就是我所拥有的: 我尝试像这样获取json数据: 但它就是不起作用。我总是遇到一个错误,我试图访问对象上的,但它不存在。我也试过这样做: 但是我也有同样的问题。我做错了什么,我看到了关于

  • 问题内容: 我在使用该功能时遇到了麻烦。 我只需要知道SQL查询是否返回零行。 我已经尝试过以下简单的语句: 类型是哪里。上面的代码似乎不起作用。无论是否为空,它将始终打印该消息。 我检查了SQL查询本身,当存在行时它正确返回了非空结果。 关于如何确定查询是否已返回0行的任何想法?我用谷歌搜索,找不到任何答案。 问题答案: ResultSet.getFetchSize()不返回结果数!从这里: 使

  • 问题内容: 我只是在阅读这个问题,想尝试使用别名方法,而不是使用功能包装器方法,但是我似乎无法使其在Firefox 3或3.5beta4或GoogleChrome中在调试窗口和在测试网页中。 萤火虫: 如果将其放在网页中,则对myAlias的调用给我这个错误: Chrome(为清楚起见,插入了>>>): 在测试页中,我得到了相同的“非法调用”。 难道我做错了什么?有人可以复制吗? 另外,奇怪的是,

  • 问题内容: 即使将属性设置为,我仍然会插入重复的条目。 我设置了使用定期在。我没有用表 问题答案: 我没有使用JPA创建表 然后,您应该在语句中向表中添加唯一约束,例如,如果您使用的是MySQL: