mikesprague / teams-incoming-webhook-action

GitHub Action that sends an AdaptiveCard notification to an MS Teams Incoming Webhook
https://github.com/marketplace/actions/ms-teams-incoming-webhook-notification
MIT License
23 stars 4 forks source link
actions adaptive-cards adaptivecards github-actions ms-teams msteams webhook

teams-incoming-webhook-action

Build and Test

Open in GitHub Codespaces

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

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'

Simple Notification Example

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'

Deploy Notification Example - 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'

Deploy Notification Example - Info

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'

Deploy Notification Example - Info

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'

Deploy Notification Example - Success