teams-incoming-webhook-action
teams-incoming-webhook-action copied to clipboard
GitHub Action that sends an AdaptiveCard notification to an MS Teams Incoming Webhook
teams-incoming-webhook-action
Sends an AdaptiveCard notification to an MS Teams Incoming Webhook from a GitHub Action Workflow
This action requires a secret to be set up with your Teams Incoming Webhook URL named MS_TEAMS_WEBHOOK_URL (official docs for creating secrets in your repo)
- Inputs
- Example Usage
- Simple Notification
- Workflow Status Notifications
- Info Notification
- Cancel Notification
- Failure Notification
- Success Message
Inputs
github-token- required: true
- type: string
- description: GitHub Token for API operations (see examples for how to reference)
- example:
github-token: ${{ github.token }}
webhook-url- required: true
- type: string
- description: MS Teams Incoming Webhook URL
- example:
webhook-url: ${{ secrets.MS_TEAMS_WEBHOOK_URL }}
title- required: true
- type: string
- description: Message title or heading
- example:
title: "Test Message Heading"
message- required: false
- type: string
- default:
"" - description: Message to be sent (not used for workflow status notifications)
- example:
message: "This is some test message content for a simple notification"
color- required: false
- type: string
- default:
"default" - description: Background color of the heading in the message - accepts
default,info,success,failure,warningas values - example:
color: "info"
deploy-card- required: false
- type: boolean
- default:
false - description: Sends a workflow notification that is built dynamically from commit and repo info
- example:
deploy-card: true
timezone- required: false
- type: string
- default:
"America/New_York" - description: Timezone to use for timestamps in messages
- example:
timezone: "Europe/Rome"
Example Usage
This action was built with the intention of sending workflow status notifications but also supports a simple message style
Simple Notification
The following sends a simple notification with a title and message
- name: Send simple notification
uses: mikesprague/teams-incoming-webhook-action@v1
with:
github-token: ${{ github.token }}
webhook-url: ${{ secrets.MS_TEAMS_WEBHOOK_URL }}
title: 'Notification Test'
message: 'This is an example of a simple notification with a title and a body'

Workflow Status Notifications
The following examples show how to send notifications based on your workflow status
Info Notification
Include as first step in workflow to notify workflow run has started
- name: Deploy Started Notification
uses: mikesprague/teams-incoming-webhook-action@v1
with:
github-token: ${{ github.token }}
webhook-url: ${{ secrets.MS_TEAMS_WEBHOOK_URL }}
deploy-card: true
title: 'Deployment Started'
color: 'info'

Cancel Notification
Include anywhere in steps to notify workflow run has been cancelled
- name: Cancelled Notification
if: ${{ cancelled() }}
uses: mikesprague/teams-incoming-webhook-action@v1
with:
github-token: ${{ github.token }}
webhook-url: ${{ secrets.MS_TEAMS_WEBHOOK_URL }}
deploy-card: true
title: 'Deployment Cancelled'
color: 'warning'

Failure Notification
Include anywhere in steps to notify when a workflow run fails
- name: Failure Notification
if: ${{ failure() }}
uses: mikesprague/teams-incoming-webhook-action@v1
with:
github-token: ${{ github.token }}
webhook-url: ${{ secrets.MS_TEAMS_WEBHOOK_URL }}
deploy-card: true
title: 'Deployment Failed'
color: 'failure'

Success Message
Include anywhere in steps to notify when workflow run is successful
- name: Success Notification
if: ${{ success() }}
uses: mikesprague/teams-incoming-webhook-action@v1
with:
github-token: ${{ github.token }}
webhook-url: ${{ secrets.MS_TEAMS_WEBHOOK_URL }}
deploy-card: true
title: 'Deployment Successful'
color: 'success'
