如何使用Power Automate提取Azure Pipeline工件中的文件
1. 先搞定Azure Pipeline的工件权限与发布
- 得让Power Automate能读到流水线的工件:要么把工件设为公开访问,要么给Power Automate用的Azure DevOps服务主体分配项目的读者或工件读取者权限。
- 流水线yaml里要正确发布Excel工件,示例代码:
steps: - publish: $(System.DefaultWorkingDirectory)/path/to/your-excel-files artifact: ExcelReports
2. 在Power Automate里拉取工件的下载链接
触发流之后,加个Azure DevOps连接器的Get build artifacts动作,填好参数:
- 组织名称:你的Azure DevOps组织名
- 项目名称:流水线所在的项目名
- 生成ID:直接用触发流时传过来的buildId参数就行
- 工件名称:填你流水线里发布的工件名(比如上面的
ExcelReports)
这个动作会返回工件里所有文件的详细信息,包括每个文件的下载URL。
3. 遍历文件并上传到SharePoint
- 加个Apply to each循环,循环对象选
Get build artifacts返回的Files数组。 - 循环里先加HTTP动作:方法选
GET,URL填当前循环项的Download URL,高级选项里把返回格式设为二进制数据。 - 接着加SharePoint的Create file动作:
- 站点地址:目标SharePoint站点的URL
- 文件夹路径:要上传到的具体文件夹路径
- 文件名称:直接用当前循环项的
Name(就是Excel的文件名) - 文件内容:选HTTP动作返回的
Body(二进制的文件内容)
4. 额外的权限与过滤处理
- 要是碰到权限报错,检查下Azure DevOps服务主体的权限够不够,或者在
Get build artifacts里用OAuth认证确保能读工件。 - 可以加个Condition动作,判断文件后缀是不是
.xlsx或.xls,只处理Excel文件,别把无关文件传上去。
内容的提问来源于stack exchange,提问作者Batesias
相关产品推荐
相关产品推荐

