如何从Azure DevOps导出流水线列表?只读权限用户求助
导出Azure DevOps流水线信息到Excel的解决方案
方法1:Azure DevOps CLI(操作简洁)
- 安装CLI:Windows用
winget install Microsoft.AzureDevOpsCLI;macOS先装Azure CLIbrew install azure-cli,再添加DevOps扩展az extension add --name azure-devops - 登录组织:
az devops login --organization https://dev.azure.com/你的组织名 - 导出CSV(直接兼容Excel):
可通过修改az pipelines list --org https://dev.azure.com/你的组织名 --project 你的项目名 --output csv --query "[].{名称:name, 描述:description, ID:id, 状态:state, 创建者:createdBy.displayName, 创建时间:createdDate}" > pipelines.csv--query里的字段自定义导出内容,比如需要关联环境信息,可搭配az pipelines environment list命令补充数据。
方法2:PowerShell调用REST API(灵活可控)
- 生成只读权限的PAT:在Azure DevOps用户设置中创建PAT,仅勾选
Build (Read)权限 - 执行以下脚本:
若需获取流水线关联的环境,可针对每条流水线调用$orgUrl = "https://dev.azure.com/你的组织名" $projectName = "你的项目名" $pat = "你的PAT令牌" $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($pat)")) # 获取流水线列表 $pipelines = Invoke-RestMethod -Uri "$orgUrl/$projectName/_apis/pipelines?api-version=7.1-preview.1" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Get # 整理输出字段 $pipelineData = $pipelines.value | Select-Object ` @{Name='名称';Expression={$_.name}}, ` @{Name='描述';Expression={$_.description}}, ` @{Name='ID';Expression={$_.id}}, ` @{Name='状态';Expression={$_.state}}, ` @{Name='创建者';Expression={$_.createdBy.displayName}}, ` @{Name='创建时间';Expression={$_.createdDate}} # 导出到CSV $pipelineData | Export-Csv -Path ".\pipelines.csv" -Encoding UTF8 -NoTypeInformation$orgUrl/$projectName/_apis/pipelines/$($pipeline.id)/environments?api-version=7.1-preview.1接口,将结果合并到导出数据中。
关键提示
- 确认你的只读权限包含
Build (Read),否则无法访问流水线数据 - CSV文件可直接用Excel打开,如需xlsx格式,可在Excel中另存为对应格式
- 多项目场景可通过循环遍历项目列表实现批量导出
内容的提问来源于stack exchange,提问作者anonymous10211994
相关产品推荐
相关产品推荐

