shoutrrr

package module
v0.8.15 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2025 License: MIT Imports: 4 Imported by: 1

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 Pulls from DockerHub godoc All Contributors



Installation

Using the Go CLI
go install github.com/nicholas-fedor/shoutrrr/shoutrrr@latest
From Source
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
  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: nicholas-fedor/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):

Nicholas Fedor
Nicholas Fedor

💻 📖 🚧 👀
Amir Schnell
Amir Schnell

💻
nils måsén
nils måsén

💻 📖 🚧
Luka Peschke
Luka Peschke

💻 📖
MrLuje
MrLuje

💻 📖
Simon Aronsson
Simon Aronsson

💻 📖 🚧
Arne Jørgensen
Arne Jørgensen

📖 💻
Alexei Tighineanu
Alexei Tighineanu

💻
Alexandru Bonini
Alexandru Bonini

💻
Senan Kelly
Senan Kelly

💻
JonasPf
JonasPf

💻
claycooper
claycooper

📖
Derzsi Dániel
Derzsi Dániel

💻
Joseph Kavanagh
Joseph Kavanagh

💻 🐛
Justin Steven
Justin Steven

🐛
Carlos Savcic
Carlos Savcic

💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome!

  • watchtower - automate Docker container image updates

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSender

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

CreateSender constructs a new service router for the given URLs without a logger.

func NewSender

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

NewSender constructs a new service router with a logger for the given URLs.

func Send

func Send(rawURL string, message string) error

Send delivers a notification message using the specified URL.

func SetLogger

func SetLogger(logger types.StdLogger)

SetLogger configures the logger for all services in the default router.

func Version

func Version() string

Version returns the current Shoutrrr version.

Types

This section is empty.

Directories

Path Synopsis
internal
meta
Package meta provides functionality to parse and manage metadata information for Shoutrrr using Go's debug.ReadBuildInfo and GoReleaser build flags.
Package meta provides functionality to parse and manage metadata information for Shoutrrr using Go's debug.ReadBuildInfo and GoReleaser build flags.
pkg
cmd

Jump to

Keyboard shortcuts

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