Azure devops 是否可以以excel格式导出azure devops管道运行历史记录?

Azure devops 是否可以以excel格式导出azure devops管道运行历史记录?,azure-devops,Azure Devops,我想分析azure devops构建和发布管道运行情况,即构建成功或失败的数量、间隔内作业运行的数量等。如果我们可以导入excel格式的构建和发布管道历史记录,则可以轻松完成此类分析。在azure devops中,我找不到任何功能来执行此操作。是否可以以excel格式导出生成和发布管道运行历史记录?正如Jayendran所说,我们可以使用以excel格式导出管道运行历史记录 以下是我的powershell脚本示例: $strURL = "https://dev.azure.com/{organi

我想分析azure devops构建和发布管道运行情况,即构建成功或失败的数量、间隔内作业运行的数量等。如果我们可以导入excel格式的构建和发布管道历史记录,则可以轻松完成此类分析。在azure devops中,我找不到任何功能来执行此操作。是否可以以excel格式导出生成和发布管道运行历史记录?

正如Jayendran所说,我们可以使用以excel格式导出管道运行历史记录

以下是我的powershell脚本示例:

$strURL = "https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.1"
$filePath="D:\"
$fileName=$filePath+"\pipeline.json"
$pipeline = Invoke-RestMethod -Uri $strURL -Headers @{   
 Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
} -Method GET -OutFile $fileName 
您可以向代理作业添加powershell任务以运行上述脚本。因此,您可以将管道历史记录以
.json
格式下载到本地

注意如果在“我的脚本”中使用身份验证方法,则需要使用专用代理运行并检查代理作业中的“允许脚本访问OAuth令牌””选项

我在这里以构建管道为例。发布管道也是如此

更新

然后您可以使用JSON to Excel工具,该工具允许您快速转换Excel中的数据。 转到Office应用程序商店并免费添加它

使用Excel或Excel Online打开后,可以看到已将JSON to Excel选项卡添加到Excel中。单击打开并选择Launch JSON to Excel。在open JSON to Excel中,输入JSON数据,然后单击GO


希望这有帮助。

实际上,您可以从响应中选择所需的特定属性并直接导出到*.csv文件,该*.csv文件可以用Microsoft excel打开

供您参考的样本:

Param(
   [string]$collectionurl = "https://dev.azure.com/{organization}",
   [string]$project = "ProjectName",
   [string]$user = "user",
   [string]$token = "PAT/Password",
   [string]$Filename = 'D:\temp\PipelineHistory.csv'
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

#BaseUrl
$buildsURL = "$collectionurl/$project/_apis/build/builds?api-version=5.1"

#Response           
$builds = (Invoke-RestMethod -Uri $buildsURL -Method Get -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}).value

Write-host "Count of succeeded builds:" ($builds | where({$_.result -eq 'succeeded'})).count
Write-host "Count of failed builds:" ($builds | where({$_.result -eq 'failed'})).count

$results = @()

foreach($build in $builds){

    $customObject = new-object PSObject -property @{
          "BuildID" = $build.id
          "BuildNumber" = $build.buildNumber
          "Status" = $build.status
          "Result" = $build.result

        } 

    $results += $customObject       
}

$results | Select `
            BuildID,
            BuildNumber,
            Status,
            Result | export-csv -Path $filename -NoTypeInformation

顺便说一下,没有直接的方法可以在excel中导出,但是,您可以使用获取数据并导出到excel中。如果您需要其他方面的帮助,请告诉我。谢谢休·林提供的宝贵解决方案。这将解决我的许多问题。但我看到输出不是.xlsx格式,而是json格式。无论如何,我们也可以解析json以获得所需的结果。@PushkarRajSindal,您可以使用json到Excel工具将json数据转换为Excel,请参阅我的更新