# Shoutrrr Notification library for gophers and their furry friends. Heavily inspired by caronc/apprise. ![github actions workflow status](https://github.com/containrrr/shoutrrr/workflows/Main%20Workflow/badge.svg) [![codecov](https://codecov.io/gh/containrrr/shoutrrr/branch/main/graph/badge.svg)](https://codecov.io/gh/containrrr/shoutrrr) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/47eed72de79448e2a6e297d770355544)](https://www.codacy.com/gh/containrrr/shoutrrr/dashboard?utm_source=github.com&utm_medium=referral&utm_content=containrrr/shoutrrr&utm_campaign=Badge_Grade) [![report card](https://goreportcard.com/badge/github.com/containrrr/shoutrrr)](https://goreportcard.com/badge/github.com/containrrr/shoutrrr) [![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/containrrr/shoutrrr) [![github code size in bytes](https://img.shields.io/github/languages/code-size/containrrr/shoutrrr.svg?style=flat-square)](https://github.com/containrrr/shoutrrr) [![license](https://img.shields.io/github/license/containrrr/shoutrrr.svg?style=flat-square)](https://github.com/containrrr/shoutrrr/blob/main/LICENSE) [![godoc](https://godoc.org/github.com/containrrr/shoutrrr?status.svg)](https://godoc.org/github.com/containrrr/shoutrrr) [![All Contributors](https://img.shields.io/badge/all_contributors-14-orange.svg?style=flat-square)](#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