Skip to content

Plugin: hook-teams

Sends release notifications to Microsoft Teams via Incoming Webhooks. Use it to share new versions and changelog highlights with your team in a Teams channel.

Terminal window
go install github.com/SemRels/hook-teams@latest

Each plugin is a standalone Go binary. Keep it on your PATH or reference it with path: in .semrel.yaml. If you keep secrets in a .env file, load them with semrel --env-file .env release.

plugins:
- uses: hook-teams
args:
webhook_url: "https://your-tenant.webhook.office.com/webhookb2/..."
title: "🚀 New Release" # optional
theme_color: "0078D7" # optional, hex without #
mention: "user@example.com" # optional, Teams user to @mention
NameRequiredDefaultDescription
SEMREL_PLUGIN_WEBHOOK_URLyesMicrosoft Teams Incoming Webhook URL.
SEMREL_PLUGIN_TITLEno🚀 New ReleaseCard title shown in the Teams message.
SEMREL_PLUGIN_THEME_COLORno0078D7Hex colour (without #) for the card accent.
SEMREL_PLUGIN_MENTIONnoEmail address of a Teams user to @mention.
  1. In Teams, open the target channel → ···Connectors
  2. Search for Incoming WebhookConfigure
  3. Give it a name (e.g. semrel) and optionally upload an icon
  4. Copy the generated webhook URL and store it as a secret
  • SEMREL_VERSION
  • SEMREL_TAG_NAME
  • SEMREL_NEXT_VERSION
  • SEMREL_CHANGELOG
  • SEMREL_DRY_RUN

When SEMREL_DRY_RUN=true, the plugin prints what it would send and exits 0 without making any HTTP calls:

hook-teams: [dry-run] would send Teams notification for v1.4.0

A successful release posts an adaptive card to your Teams channel showing the version number, release branch, and the generated changelog.