如何用PowerShell调用Azure DevOps REST API下载指定子工件文件
解决Azure DevOps单个工件文件下载问题
你之前的请求错误在于把
artifactName参数设为了文件名,这个参数实际是构建生成的工件的名称(比如默认的drop,或者你自定义的名称),而非工件内的具体文件名。要单独下载records.json,需要在请求中添加filePath参数指定目标文件的相对路径,同时使用正确的工件名称。正确的PowerShell请求示例:
Invoke-RestMethod -Uri "https://dev.azure.com/TestProject/_apis/build/builds/12345/artifacts?artifactName=你的工件名称&filePath=records.json&api-version=7.1-preview.5" ` -Method Get ` -Headers @{Authorization=("Basic $token")} ` -UseBasicParsing ` -OutFile "records.json"关键说明:
- 替换
你的工件名称为实际的工件名称(可在Azure DevOps构建页面的"工件"tab下查看) - 如果
records.json在工件的子文件夹中,比如output/records.json,则filePath参数要写成filePath=output/records.json - 使用较新的API版本(如7.1-preview.5)确保支持单个文件下载功能
-OutFile参数用于将下载的内容保存到本地文件,避免直接输出到控制台
- 替换
内容的提问来源于stack exchange,提问作者PS Learner
相关产品推荐
相关产品推荐

