https://github.com/metaswitch/announcer
Announce changes in keepachangelog-style CHANGELOG.md files to Slack and Microsoft Teams
https://github.com/metaswitch/announcer
keepachangelog microsoft-teams mistletoe slack teams
Last synced: 7 months ago
JSON representation
Announce changes in keepachangelog-style CHANGELOG.md files to Slack and Microsoft Teams
- Host: GitHub
- URL: https://github.com/metaswitch/announcer
- Owner: Metaswitch
- License: mit
- Created: 2019-05-29T10:14:18.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-12-30T22:49:57.000Z (over 1 year ago)
- Last Synced: 2025-01-17T11:34:14.096Z (over 1 year ago)
- Topics: keepachangelog, microsoft-teams, mistletoe, slack, teams
- Language: Python
- Homepage:
- Size: 839 KB
- Stars: 1
- Watchers: 6
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](https://github.com/Metaswitch/announcer)
[](https://pypi.org/project/announcer/)
[](https://hub.docker.com/r/metaswitch/announcer)
# announcer
This tool:
* takes an [keepachangelog](https://keepachangelog.com/en/1.0.0/)-style CHANGELOG.md file
* extracts all changes for a particular version
* and sends a formatted message to a Slack or Microsoft Teams webhook.
It is available as a Python package, or as a Docker container for use in CI.
## Installation
Install this tool using pip (Python 3.10 or newer is required):
```
pip install announcer
```
## Tool usage
```
usage: announce [-h] (--webhook WEBHOOK | --slackhook WEBHOOK) [--target {slack,teams}] --changelogversion CHANGELOGVERSION --changelogfile CHANGELOGFILE --projectname PROJECTNAME
[--username USERNAME] [--compatibility-teams-sections] [--iconurl ICONURL | --iconemoji ICONEMOJI]
Announce CHANGELOG changes on Slack and Microsoft Teams
optional arguments:
-h, --help show this help message and exit
--webhook WEBHOOK The incoming webhook URL
--slackhook WEBHOOK The incoming webhook URL. (Deprecated)
--target {slack,teams}
The type of announcement that should be sent to the webhook
--changelogversion CHANGELOGVERSION
The changelog version to announce (e.g. 1.0.0)
--changelogfile CHANGELOGFILE
The file containing changelog details (e.g. CHANGELOG.md)
--projectname PROJECTNAME
The name of the project to announce (e.g. announcer)
--username USERNAME The username that the announcement will be made as (e.g. announcer). Valid for: Slack
--compatibility-teams-sections
Compatibility option - sends Teams messages in multiple sections
--iconurl ICONURL A URL to use for the user icon in the announcement. Valid for: Slack
--iconemoji ICONEMOJI
An emoji code to use for the user icon in the announcement (e.g. party_parrot). Valid for: Slack
```
## Gitlab Usage
Announcer builds and publishes a Docker image that you can integrate into your `.gitlab-ci.yml`:
```
announce:
stage: announce
image: metaswitch/announcer:5.0.0
script:
- announce --webhook
--changelogversion $CI_COMMIT_REF_NAME
--changelogfile
--projectname
--iconemoji party_parrot
only:
- tags
```