Bash Teams API POST 卡.
Bash 是一种流行的命令行 shell,用于脚本编写和自动化. Microsoft Teams 是一个提供聊天功能的协作平台, 视频会议, 和文件共享功能. 通过使用 微软团队 应用程序编程接口, 您可以自动将卡片发布到 Teams 频道的过程.
使用 bash 通过 API 发布卡片, 您可以使用 Microsoft Teams Connector webhook. Webhook 提供了一个 URL,您可以使用该 URL 来发送以卡作为负载的 POST 请求. 您可以通过更改 JSON 有效负载来根据您的要求自定义卡.
以下是将卡片发布到 Teams 频道的 bash 命令示例:
curl -H "Content-Type: application/json" -d '
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"themeColor": "0072C6",
"summary": "New task assigned",
"sections": [{
"activityTitle": "Task 123",
"activitySubtitle": "Assigned by John Doe",
"activityImage": "https://example.com/images/task123.png",
"facts": [{
"name": "Priority",
"value": "High"
},
{
"name": "Due date",
"value": "03/10/2023"
}
],
"markdown": true
}]
}' <YOUR_WEBHOOK_URL>
在这个例子中, 我们正在创建一个带有摘要的简单留言卡, 活动标题和副标题, 活动图像, 和一些事实. 我们还设置了 markdown
字段到 true
在卡中启用 Markdown 格式.
确认任务已完成, 您可以在卡片正文中包含一条消息,指示任务的状态. 以下是如何修改 JSON 负载以包含消息的示例:
curl -H "Content-Type: application/json" -d '
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"themeColor": "0072C6",
"summary": "Task completed",
"sections": [{
"activityTitle": "Task 123",
"activitySubtitle": "Completed by John Doe",
"activityImage": "https://example.com/images/task123.png",
"facts": [{
"name": "Priority",
"value": "High"
},
{
"name": "Due date",
"value": "03/10/2023"
}
],
"text": "The task has been completed",
"markdown": true
}]
}' <YOUR_WEBHOOK_URL>
在这个例子中, 我们正在修改摘要和活动副标题以表明任务已完成. 我们还添加了一个 text
包含指示任务已完成的消息的字段.
综上所述, 使用 Microsoft Teams API 和 bash, 您可以轻松地自动执行将卡片发布到 Teams 频道的过程,并包含指示任务状态的消息. 这可以通过自动化日常任务并改善团队协作来节省您的时间和精力.
这是一个例子 发布 Teams 卡并检查的命令 响应代码:
#!/bin/bash
response=$(curl -s -o /dev/null -w "%{http_code}" -H "Content-Type: application/json" -d '
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"themeColor": "0076D7",
"summary": "DUMP restored",
"sections": [
{
"facts": [
{
"name": "Where status:",
"value": "Successfully completed"
},
{
"name": "Where:",
"value": "Home"
}
],
"markdown": true,
"wrap": true
}
]
}' https://example.com)
if [ "$response" -eq 200 ]; then
echo "Teams card posted successfully"
else
echo "Error posting Teams card"
exit 1
fi