Azure DevOps api 命令获取工作项 - 无法使用 $expand 参数:该值 .. 对于 Nullable 无效

问题描述 投票:0回答:1

当我想扩展 Azure DevOps“获取工作项”API 调用中的关系/任何扩展选项时,请参阅文档

https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/get-work-item?view=azure-devops-rest-7.1&tabs=HTTP#workitemexpand

我无法获得任何可用的结果,而是收到警告,扩展参数的值无效。

当我拨打电话时:

$workItem = Invoke-VSTeamRequest -Url "https://dev.azure.com/{org}/{project}/_apis/wit/workitems/{id}?api-version=7.1-preview.3&$expand=relations"

我收到错误消息:

“消息”:“值\u0027relations\u0027对于Nullable\u00601无效。 ”

当我使用时

$workItem = Invoke-VSTeamRequest -Url "https://dev.azure.com/{org}/{project}/_apis/wit/workitems/{id}?api-version=7.1-preview.3&expand=relations"

(没有前面的 $),该参数被忽略,并且我错过了所需的“关系”数组。 更改 api 版本没有效果。

抱歉,但实际上我脑子里有一个疙瘩。 :(

如有任何帮助,我们将不胜感激。

azure-devops-rest-api
1个回答
0
投票

“消息”:“值\u0027relations\u0027对于Nullable\u00601无效。 ”

要解决这个问题,我们需要转义 URL 中的

$
字符:

例如:

https://dev.azure.com/org/project/_apis/wit/workitems/workitemid?`$expand=relations&api-version=7.1-preview.3

您可以使用以下 PowerShell 示例:

$token = "PAT"

$url="https://dev.azure.com/{Org}/{Project}/_apis/wit/workitems/{ID}?`$expand=relations&api-version=7.1-preview.3"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Get  -ContentType application/json

Write-Host "$response"
© www.soinside.com 2019 - 2024. All rights reserved.