团队留言卡

Teams message card

我正在尝试使用 Windows 批处理脚本 post 向 Microsoft Teams 频道发送消息,但我无法使用 Teams 消息卡格式。我可以使用以下命令 post 消息,但作为纯文本。无论如何,我可以使用留言卡 JSON 格式吗?

我还有一些命令行参数需要用于批处理脚本,以便显示的消息使用相同的参数。

curl -H "Content-type: application/json" --data "{\"@type\": \"ActionCard\",\"title\": \"New Lab %2 deployed successfully\", \"text\": \"Status is %3\"}" %1

上面的命令工作得很好。但是不满足我上面描述的确切要求。

我还创建了一个单独的 json 文件,如下所示,它工作正常但无法使用命令行参数来格式化 JSON 值。

curl --data @message.json webhook_url

message.json如下

{
   "summary":"New Lab deployed",
   "sections":[
      {
         "activityTitle":"A <b>new lab</b> has been added!"
      },
      {
         "title":"Details:",
         "facts":[
            {
               "name":"Lab Name",
               "value":"REPLACE"
            },
            {
               "name":"Status",
               "value":"REPLACE"
            }
         ]
      }
   ]
}

cURL 能够从文件中读取数据:

--data-binary "@message.json"

不要忘记在前面加上 AT 符号以识别双引号字符串是文件名,而不是数据本身。