Bash Teams API POST card.
Bash is a popular command-line shell used for scripting and automation. Microsoft Teams is a collaboration platform that provides chat, video conferencing, and file sharing capabilities. By using the Microsoft Teams API, you can automate the process of posting cards to a Teams channel.
To post a card via API using bash, you can use the Microsoft Teams Connector webhook. The webhook provides a URL that you can use to send a POST request with the card as the payload. You can customize the card as per your requirements by changing the JSON payload.
Here’s an example of a bash command that posts a card to a Teams channel:
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": verdadeiro }] }' <YOUR_WEBHOOK_URL>
In this example, we’re creating a simple message card with a summary, an activity title and subtitle, an activity image, and some facts. We’re also setting the markdown
field to true
to enable markdown formatting in the card.
To confirm that the task has been completed, you can include a message in the card body indicating the status of the task. Here’s an example of how you can modify the JSON payload to include a message:
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": verdadeiro }] }' <YOUR_WEBHOOK_URL>
In this example, we’re modifying the summary and activity subtitle to indicate that the task has been completed. We’re also adding a text
field to include a message indicating that the task has been completed.
In conclusion, using the Microsoft Teams API and bash, you can easily automate the process of posting cards to a Teams channel and include messages indicating the status of the task. This can save you time and effort by automating routine tasks and improving collaboration in your team.
Here’s an example command that posts a Teams card and checks the response code:
#!/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": verdadeiro, "wrap": verdadeiro } ] }' https://example.com) if [ "$response" -eq 200 ]; then echo "Teams card posted successfully" else echo "Error posting Teams card" exit 1 fi