使用 Powershell 循环遍历 Azure DevOps 工作列表结果值不会向控制台打印任何内容

Looping through Azure DevOps Work List Result values with Powershell prints nothing to console

使用以下文档,https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/Work%2520Items/List?view=azure-devops-rest-5.0&viewFallbackFrom=vsts-rest-5.0,我有一个获取工作项列表的 api 调用。

我在我的 devops 构建 yml 中通过 powershell 脚本将其转换为 Json,但循环遍历“值”数组似乎没有向我的 devops 控制台打印任何内容。对语法有帮助吗?

$jsonResp = $($workItemResponse | ConvertTo-Json -Depth 100)
Write-Host "json formatted response"
Write-Host $jsonResp.value

foreach($item in $($jsonResp.value))
{
        $releaseNotesHtml += "<div>" + $item.fields.System.Id + "</div>"
        Write-Host $item.fields.System.Id
        Write-Host $item.fields.System.Title
        Write-Host $item.fields.System.State
        Write-Host $item.fields.System.Description
}

这个我也试过了,没成功。

foreach($item in $jsonResp.value)
{
            $releaseNotesHtml += "<div>" + $item.fields.System.Id + "</div>"
            Write-Host $item.fields.System.Id
            Write-Host $item.fields.System.Title
            Write-Host $item.fields.System.State
            Write-Host $item.fields.System.Description
}

使用以下格式:

$token = "<pat>"

$orgurl = "https://dev.azure.com/<org_name>/_apis/wit/workitems?ids=200,250,300&api-version=5.0"

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

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

foreach($item in $wiResponse.value)
{
        $releaseNotesHtml += "<div>" + $item.id + "</div>"
        Write-Host $item.id
        Write-Host $item.fields.'System.Title'
        Write-Host $item.fields.'System.State'
        Write-Host $item.fields.'System.Description'
}

结果: