powershell - 如何从 PowerShell 中的 Azure DevOps 工作项解析 JSON
问题描述
我有一个 PS 脚本可以从 DevOps API 获取有关工作项的信息。具体来说,当我调用工作项 API 时,会返回一个名为“字段”的属性。当我使用 ConvertFromJson 时,它似乎无法解析该属性。有什么方法可以配置 ConvertFromJson 还是我需要进行文本解析?
这是代码:
$uri = "https://dev.azure.com/H.......s/B....o/_apis/build/builds/$env:RELEASE_ARTIFACTS_DOCMGMT_BUILDID/workitems"
Write-Host "Uri $uri"
Write-Host "AccessToken: $env:SYSTEM_ACCESSTOKEN"
$result = Invoke-WebRequest -Uri $uri -Method GET -Headers @{ Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" } -UseBasicParsing | ConvertFrom-Json
$itemId = $result.value[0].id
Write-Host $itemId
$uri = "https://dev.azure.com/H.....s/B....o/_apis/wit/workItems/$($itemId)?`$expand=All"
Write-Host "Uri $uri"
$result = Invoke-WebRequest -Uri $uri -Method GET -Headers @{ Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" } -UseBasicParsing | ConvertFrom-Json -Depth 5
Write-Host $result
这是输出的屏幕截图。注意“字段”属性是空的吗?
这是 Postman 中相同的调用的样子
解决方案
推荐阅读
- c++ - 我们如何在线程中使用参数
- java - 从文件读取时的BufferedReader输入在while循环中始终为空
- flutter - 无法在 Flutter 中更改方向
- java - 如何使用 Java 在 Android Studio 布局中首次搜索文本时使用 .requestFocus()?
- rust - 如何在 rust 数组中添加多个字符串?
- java - 如何避免 usmStatsNotInTimeWindows (1.3.6.1.6.3.15.1.1.2.0)
- azure - Power BI desktop 无法使用 Azure 成本管理连接器导入数据
- javascript - 当对象具有 ID 时,React map 返回对象的 ID,如 undefined
- vb.net - Run PowerPoint with the exe macro file
- java - 是否可以在 kotlin 中为内部委托属性提供自定义名称?