{"id":25349830,"url":"https://github.com/metaswitch/announcer","last_synced_at":"2025-10-29T19:31:03.232Z","repository":{"id":37748388,"uuid":"189201692","full_name":"Metaswitch/announcer","owner":"Metaswitch","description":"Announce changes in keepachangelog-style CHANGELOG.md files to Slack and Microsoft Teams","archived":false,"fork":false,"pushed_at":"2024-12-30T22:49:57.000Z","size":859,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-17T11:34:14.096Z","etag":null,"topics":["keepachangelog","microsoft-teams","mistletoe","slack","teams"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Metaswitch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-29T10:14:18.000Z","updated_at":"2024-10-24T08:50:10.000Z","dependencies_parsed_at":"2024-06-04T15:02:11.934Z","dependency_job_id":"9cbcf5b7-2a57-4ded-b816-90c82ce99351","html_url":"https://github.com/Metaswitch/announcer","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metaswitch%2Fannouncer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metaswitch%2Fannouncer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metaswitch%2Fannouncer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Metaswitch%2Fannouncer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Metaswitch","download_url":"https://codeload.github.com/Metaswitch/announcer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238878934,"owners_count":19545855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["keepachangelog","microsoft-teams","mistletoe","slack","teams"],"created_at":"2025-02-14T16:58:21.356Z","updated_at":"2025-10-29T19:31:03.227Z","avatar_url":"https://github.com/Metaswitch.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Github build](https://img.shields.io/github/actions/workflow/status/metaswitch/announcer/steps.yml?branch=main)](https://github.com/Metaswitch/announcer)\n[![pypi version](https://img.shields.io/pypi/v/announcer)](https://pypi.org/project/announcer/)\n[![docker pulls](https://img.shields.io/docker/pulls/metaswitch/announcer)](https://hub.docker.com/r/metaswitch/announcer)\n\n# announcer\n\nThis tool:\n* takes an [keepachangelog](https://keepachangelog.com/en/1.0.0/)-style CHANGELOG.md file\n* extracts all changes for a particular version\n* and sends a formatted message to a Slack or Microsoft Teams webhook.\n\nIt is available as a Python package, or as a Docker container for use in CI.\n\n## Installation\n\nInstall this tool using pip (Python 3.10 or newer is required):\n\n```\npip install announcer\n```\n\n## Tool usage\n\n```\nusage: announce [-h] (--webhook WEBHOOK | --slackhook WEBHOOK) [--target {slack,teams}] --changelogversion CHANGELOGVERSION --changelogfile CHANGELOGFILE --projectname PROJECTNAME\n                [--username USERNAME] [--compatibility-teams-sections] [--iconurl ICONURL | --iconemoji ICONEMOJI]\n\nAnnounce CHANGELOG changes on Slack and Microsoft Teams\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --webhook WEBHOOK     The incoming webhook URL\n  --slackhook WEBHOOK   The incoming webhook URL. (Deprecated)\n  --target {slack,teams}\n                        The type of announcement that should be sent to the webhook\n  --changelogversion CHANGELOGVERSION\n                        The changelog version to announce (e.g. 1.0.0)\n  --changelogfile CHANGELOGFILE\n                        The file containing changelog details (e.g. CHANGELOG.md)\n  --projectname PROJECTNAME\n                        The name of the project to announce (e.g. announcer)\n  --username USERNAME   The username that the announcement will be made as (e.g. announcer). Valid for: Slack\n  --compatibility-teams-sections\n                        Compatibility option - sends Teams messages in multiple sections\n  --iconurl ICONURL     A URL to use for the user icon in the announcement. Valid for: Slack\n  --iconemoji ICONEMOJI\n                        An emoji code to use for the user icon in the announcement (e.g. party_parrot). Valid for: Slack\n```\n\n## Gitlab Usage\n\nAnnouncer builds and publishes a Docker image that you can integrate into your `.gitlab-ci.yml`:\n\n```\nannounce:\n  stage: announce\n  image: metaswitch/announcer:5.0.0\n  script:\n   - announce --webhook \u003cwebhook address\u003e\n              --changelogversion $CI_COMMIT_REF_NAME\n              --changelogfile \u003cCHANGELOG.md file\u003e\n              --projectname \u003cProject name\u003e\n              --iconemoji party_parrot\n  only:\n    - tags\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaswitch%2Fannouncer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetaswitch%2Fannouncer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetaswitch%2Fannouncer/lists"}