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
,warning
as 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'