github-releases-notifier

Receive Slack notifications if a new release of your favorite software is available on GitHub.
Note: This fork mainly
- updates the Go dependencies
- removes dotenv support
- changes the logger to logrus and improves logging
- loads repositories from a text file instead of using
-r CLI flags
- adds a Kubernetes Helm chart
- replaces Travis CI with Github Actions
- improves handling for releases without explicit names
- adds automated Container image builds and pushes them to ghcr.io/xrstf/github-releases-notifier
- adds support for arm64
- adds signal handling for cleaner shutdowns
- improves CLI parsing

Configuring repositories to watch
Repositories are configured in a simple text file, with one repository per line:
xrstf/github-releases-notifier
kubernetes/kubernetes
helm/helm
Comments can be included by starting a line with #.
By default only stable releases will be reported, but if you add prerelease to a line, the
notifier will report on prereleases as well:
xrstf/github-releases-notifier
kubernetes/kubernetes prerelease
helm/helm
Use the --repositories flag to point the notifier to your file.
Deploying
- Get a URL to send WebHooks to your Slack from https://api.slack.com/incoming-webhooks.
- Get a token for scraping GitHub: https://help.github.com/.
Docker
$ docker run \
--rm \
-e "GITHUB_TOKEN=XXX" \
-e "SLACK_HOOK=https://hooks.slack.com/..." \
-v "$(realpath .):/work" \
-w "/work" \
ghcr.io/xrstf/github-releases-notifier \
--interval 5m \
--repositories myrepos.txt \
--dry-run
Kubernetes (Helm)
First add the chart repo:
helm repo add github-releases-notifier https://xrstf.github.io/github-releases-notifier
Then create a values.yaml and include the GitHub token, Slack hook and the repositories
you want to watch:
First create a Secret that contains your GitHub token and your Slack hook:
githubToken: ghp_.....
slackHook: https://....
repositories:
- kubernetes/kubernetes
- helm/helm
Now you can install the chart:
$ helm upgrade \
--install \
--namespace github-releases-notifier \
--create-namespace \
--values values.yaml \
github-releases-notifier github-releases-notifier/github-releases-notifier