https://github.com/containrrr/shoutrrr
Notification library for gophers and their furry friends.
https://github.com/containrrr/shoutrrr
go golang hacktoberfest integrations messaging notifications
Last synced: 6 months ago
JSON representation
Notification library for gophers and their furry friends.
- Host: GitHub
- URL: https://github.com/containrrr/shoutrrr
- Owner: containrrr
- License: mit
- Created: 2019-04-11T06:49:34.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T14:54:15.000Z (over 1 year ago)
- Last Synced: 2025-04-28T17:01:57.805Z (7 months ago)
- Topics: go, golang, hacktoberfest, integrations, messaging, notifications
- Language: Go
- Homepage: https://containrrr.dev/shoutrrr/
- Size: 12.9 MB
- Stars: 1,211
- Watchers: 10
- Forks: 73
- Open Issues: 78
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-go - shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. (Miscellaneous / Uncategorized)
- awesome-repositories - containrrr/shoutrrr - Notification library for gophers and their furry friends. (Go)
- awesome-go-extra - shoutrrr - 04-11T06:49:34Z|2022-07-30T10:21:32Z| (Microsoft Office / Uncategorized)
- awesome-go - shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. Stars:`1.4K`. (Miscellaneous / Uncategorized)
- awesome-go - containrrr/shoutrrr
- awesome-go-with-stars - shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. (Miscellaneous / Uncategorized)
- awesome-go - shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. (Miscellaneous / Uncategorized)
- awesome-Char - shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. (Miscellaneous / Uncategorized)
- zero-alloc-awesome-go - shoutrrr - Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others. (Miscellaneous / Uncategorized)
- awesome-go-cn - shoutrrr
README
# Shoutrrr
Notification library for gophers and their furry friends.
Heavily inspired by caronc/apprise.

[](https://codecov.io/gh/containrrr/shoutrrr)
[](https://www.codacy.com/gh/containrrr/shoutrrr/dashboard?utm_source=github.com&utm_medium=referral&utm_content=containrrr/shoutrrr&utm_campaign=Badge_Grade)
[](https://goreportcard.com/badge/github.com/containrrr/shoutrrr)
[](https://pkg.go.dev/github.com/containrrr/shoutrrr)
[](https://github.com/containrrr/shoutrrr)
[](https://github.com/containrrr/shoutrrr/blob/main/LICENSE)
[](https://godoc.org/github.com/containrrr/shoutrrr)
[](#contributors-)
## Installation
### Using the snap
```bash
$ sudo snap install shoutrrr
```
### Using the Go CLI
```bash
$ go install github.com/containrrr/shoutrrr/shoutrrr@latest
```
### From Source
```bash
$ go build -o shoutrrr ./shoutrrr
```
## Quick Start
### As a package
Using shoutrrr is easy! There is currently two ways of using it as a package.
#### Using the direct send command
```go
url := "slack://token-a/token-b/token-c"
err := shoutrrr.Send(url, "Hello world (or slack channel) !")
```
#### Using a sender
```go
url := "slack://token-a/token-b/token-c"
sender, err := shoutrrr.CreateSender(url)
sender.Send("Hello world (or slack channel) !", map[string]string { /* ... */ })
```
#### Using a sender with multiple URLs
```go
urls := []string {
"slack://token-a/token-b/token-c"
"discord://token@channel"
}
sender, err := shoutrrr.CreateSender(urls...)
sender.Send("Hello world (or slack channel) !", map[string]string { /* ... */ })
```
### Through the CLI
Start by running the `build.sh` script.
You may then run send notifications using the shoutrrr executable:
```shell
$ shoutrrr send [OPTIONS]
```
### From a GitHub Actions workflow
You can also use Shoutrrr from a GitHub Actions workflow.
See this example and the [action on GitHub
Marketplace](https://github.com/marketplace/actions/shoutrrr-action):
```yaml
name: Deploy
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Some other steps needed for deploying
run: ...
- name: Shoutrrr
uses: containrrr/shoutrrr-action@v1
with:
url: ${{ secrets.SHOUTRRR_URL }}
title: Deployed ${{ github.sha }}
message: See changes at ${{ github.event.compare }}.
```
## Documentation
For additional details, visit the [full documentation](https://containrrr.dev/shoutrrr).
## Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Amir Schnell
π»

nils mΓ₯sΓ©n
π» π π§

Luka Peschke
π» π

MrLuje
π» π

Simon Aronsson
π» π π§

Arne JΓΈrgensen
π π»

Alexei Tighineanu
π»

Alexandru Bonini
π»

Senan Kelly
π»

JonasPf
π»

claycooper
π

Derzsi DΓ‘niel
π»

Joseph Kavanagh
π» π

Justin Steven
π
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## Related Project(s)
- [watchtower](https://github.com/containrrr/watchtower) - process for automating Docker container base image updates that uses shoutrrr for notifications
- [kured](https://github.com/weaveworks/kured) - kubernetes reboot daemon has adopted shoutrrr as their unified notification method starting with version 1.7.0.
- [Green Orb](https://github.com/atgreen/green-orb) - a versatile 'observe and report' buddy for your application logs