我有一个有更多300个项目的Azure DevOps组织,我想从DevOps项目的组织中提取发布版本。我试过使用下面的PowerShell脚本,但它只是一次提供100个记录。而且它还说提取的json文件不是有效的格式。
这是我的PowerShell脚本。
$token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
$url = "https://dev.azure.com/{orgnization}/_apis/projects?api-version=6.0"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token" } -Method Get -ContentType application/json
Foreach ($projectName in $response.value.name) {
$url1 = "https://vsrm.dev.azure.com/{orgnization}/$($projectname)/_apis/release/releases?api-version=6.0"
$response = Invoke-RestMethod -Uri $url1 -Headers @{Authorization = "Basic $token" } -Method Get -ContentType application/json-patch
echo $response | ConvertTo-Json -Depth 99 | Out-File "D:\\file.json" -Append
}我尝试使用第一个API调用添加$top参数,如果我在浏览器中尝试,它可以正常工作,但是在PowerShell中,它不起作用。
https://dev.azure.com/uniperteamservices/_apis/projects?api-version=6.0&$top=500 我怎样才能完成以下两个要求?
如果您可以根据我的需求修改上面的PowerShell脚本,我们将不胜感激。
谢谢
发布于 2021-09-27 15:59:26
在调试器中逐步完成代码。
用双引号包装的$top将尝试插入名为$top的变量。您需要用一个‘字符’来转义$。即
`$tophttps://stackoverflow.com/questions/69349370
复制相似问题