Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

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: 24 days ago
JSON representation

Notification library for gophers and their furry friends.

Lists

README

        



# 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