shoutrrr

package module
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2023 License: MIT Imports: 3 Imported by: 76

README

Shoutrrr

Notification library for gophers and their furry friends. Heavily inspired by caronc/apprise.

github actions workflow status codecov Codacy Badge report card go.dev reference github code size in bytes license godoc All Contributors



Installation

Using the snap
$ sudo snap install shoutrrr
Using the Go CLI
$ go install github.com/containrrr/shoutrrr@latest
From Source
$ go build -o 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
  url := "slack://token-a/token-b/token-c"
  err := shoutrrr.Send(url, "Hello world (or slack channel) !")

Using a sender
  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
  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:

$ shoutrrr send [OPTIONS] <URL> <Message [...]>
From a GitHub Actions workflow

You can also use Shoutrrr from a GitHub Actions workflow.

See this example and the action on GitHub Marketplace:

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.

Contributors ✨

Thanks goes to these wonderful people (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 specification. Contributions of any kind welcome!

  • watchtower - process for automating Docker container base image updates that uses shoutrrr for notifications
  • kured - kubernetes reboot daemon has adopted shoutrrr as their unified notification method starting with version 1.7.0.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSender

func CreateSender(rawURLs ...string) (*router.ServiceRouter, error)

CreateSender returns a notification sender configured according to the supplied URL

func NewSender added in v0.4.3

func NewSender(logger types.StdLogger, serviceURLs ...string) (*router.ServiceRouter, error)

NewSender returns a notification sender, writing any log output to logger and configured to send to the services indicated by the supplied URLs

func Send

func Send(rawURL string, message string) error

Send notifications using a supplied url and message

func SetLogger

func SetLogger(logger types.StdLogger)

SetLogger sets the logger that the services will use to write progress logs

func Version added in v0.5.0

func Version() string

Version returns the shoutrrr version

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL