You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure Pipeline的文件或数据直接附加发送到Microsoft Teams频道

实现Azure Pipeline构件推送至MS Teams方案
  • 配置Teams传入Webhook
    打开目标Teams频道,进入「连接器」配置页,添加「传入Webhook」连接器,自定义连接器名称后点击创建,复制生成的Webhook地址,将该地址存入Azure DevOps管道的秘密变量中,避免明文泄露。
  • 配置管道推送任务
    在管道的构件生成、发布步骤完成后,添加内置的PowerShell或Bash任务即可实现推送,无需额外安装市场插件。如果仅需要推送构件下载入口,直接构造带下载地址的Teams消息卡片调用Webhook即可;如果需要推送构件作为附件,可先读取构件文件流,按照Teams Webhook附件格式拼接请求体后发送。
  • 示例脚本(PowerShell代理适用)
# 引用提前配置在管道秘密变量中的Teams Webhook地址
$webhookUrl = "$(teamsWebhookUrl)"
$artifactName = "你的构件名称"
# 拼接Azure DevOps默认构件下载地址
$artifactDownloadUrl = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=$artifactName&%24format=zip"

# 构造Teams消息卡片
$messageBody = @{
    "@type" = "MessageCard"
    "@context" = "http://schema.org/extensions"
    "themeColor" = "0078D4"
    "summary" = "流水线构件已生成"
    "sections" = @(
        @{
            "activityTitle" = "流水线 $(Build.DefinitionName) 构件已就绪"
            "text" = "构件名称:$artifactName`n构建ID:$(Build.BuildId)`n点击下方按钮下载构件"
        }
    )
    "potentialAction" = @(
        @{
            "@type" = "OpenUri"
            "name" = "下载构件"
            "targets" = @(
                @{
                    "os" = "default"
                    "uri" = $artifactDownloadUrl
                }
            )
        }
    )
} | ConvertTo-Json -Depth 10

# 发送请求到Teams Webhook
Invoke-RestMethod -Uri $webhookUrl -Method Post -Body $messageBody -ContentType "application/json"

注意:如果构件访问权限为私有,仅拥有对应Azure DevOps项目权限的用户可点击链接下载构件;如需无权限限制的访问入口,可先将构件上传至公共存储位置后替换下载地址即可。

内容的提问来源于stack exchange,提问作者Sturla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:54:06