簡體   English   中英

從 azure DevOps 項目組織中提取版本

[英]Extract releases from azure DevOps projects organization

我有一個 Azure DevOps 組織,擁有 300 多個項目,我想從組織中提取所有 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 

我怎樣才能完成以下兩個要求?

  1. 如何提取所有記錄,而不僅僅是 100
  2. 為什么當我轉換為 excel 時,提取的 json 文件顯示為無效格式?

如果您能根據我的要求修改上面的 PowerShell 腳本,將不勝感激。

謝謝

在調試器中單步執行代碼。

用雙引號括起來的$top將嘗試插入一個名為$top的變量。 您需要使用 ` 字符對$進行轉義。 IE

`$top

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM