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

Microsoft Teams可操作卡片HttpPost返回状态与操作记录实现咨询

Microsoft Teams 告警卡片实现最优方案

1. 发送带Approve/Deny按钮的告警卡片

你当前使用的MessageCard格式可直接满足该需求,通过Teams频道的Incoming Webhook接口发送该卡片payload即可完成推送。

2. 双按钮配置HttpPost动作

现有payload中Deny按钮当前使用的是OpenUri类型,直接调整为HttpPost类型即可,和Approve按钮配置逻辑保持一致,target字段填写对应后端接收地址即可,修正后的完整payload参考:

{
   "@type":"MessageCard",
   "@context":"http://schema.org/extensions",
   "themeColor":"0076D7",
   "text":"### Build [($BUILD_NUMBER)]($CONSOLE_LINK) of [($BUILD_LINK)]($BUILD_URL) failed on [($BM_NAME)]($JENKINS_URL)",
   "potentialAction":[
      {
         "@type":"HttpPost",
         "name":"Approve",
         "body": "verification.approve",
         "target":"<你的批准操作后端接收地址>"
      },
      {
         "@type": "HttpPost",
         "name": "Deny",
         "body": "verification.deny",
         "target":"<你的拒绝操作后端接收地址>"
      }
   ]
}

3. 点击按钮后返回操作提示

Teams客户端原生支持识别HttpPost请求的响应信息:

  • 后端处理请求完成返回200状态码时,在响应头中添加CARD-ACTION-STATUS字段,字段值设置为你需要展示的提示内容(如“Approved”),客户端就会自动弹出该提示
  • 若需要所有频道成员可见操作结果,可在200响应体中返回更新后的完整MessageCard结构,同时添加响应头CARD-UPDATE-IN-BODY: true,频道内的原有卡片会自动替换为你返回的新卡片内容

4. 携带操作人身份信息

Teams触发HttpPost请求时,会自动在请求头中附带JWT格式的授权令牌,后端解析该令牌即可获取操作人的Azure AD身份信息,包含姓名、邮箱、用户ID等字段:

  • 拿到身份信息后可直接拼接在CARD-ACTION-STATUS的提示内容中,比如返回“已由张三(zhangsan@company.com)批准”
  • 若同步更新原卡片,可将操作人信息写入卡片文本,所有频道成员无需额外操作即可直接看到操作记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:15:04