Skip to content

Add Signalgrid notification service plugin - #1710

Merged
caronc merged 3 commits into
caronc:masterfrom
signalgridco:signalgrid
Aug 30, 2026
Merged

Add Signalgrid notification service plugin#1710
caronc merged 3 commits into
caronc:masterfrom
signalgridco:signalgrid

Conversation

@signalgridco

@signalgridco signalgridco commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Description

Adds native Signalgrid notification support to Apprise.

Signalgrid is a push notification service for delivering notifications to iOS and Android devices. The integration supports Apprise notification types as well as independent Signalgrid critical notifications.

Signalgrid Notifications

  • Source: https://signalgrid.co/
  • Image Support: No
  • Message Format: Plain Text
  • Message Limit: No plugin-specific limit

Signalgrid provides push notifications for iOS and Android devices.

Apprise notification types are mapped as follows:

Apprise Signalgrid
info INFO
success SUCCESS
warning WARN
failure CRIT

Critical notifications are controlled independently using the critical parameter.

Account Setup

  1. Sign in to your Signalgrid account.
  2. Obtain your Signalgrid client key.
  3. Create or select a channel and copy its channel token.
  4. Use the client key and channel token in the Apprise URL.

Additional setup documentation:
https://docs.signalgrid.co/integrations/apprise/

Syntax

Valid syntax is as follows:

  • signalgrid://{client_key}/{channel}
  • signalgrid://{client_key}/{channel}?critical=true

Parameter Breakdown

Variable Required Description
client_key Yes Your Signalgrid client key
channel Yes The Signalgrid channel token receiving the notification
critical No Send as a critical notification (true or false). Defaults to false

Examples

Send a normal notification:

apprise -vv \
    -t "Server Status" \
    -b "Server is online" \
    "signalgrid://CLIENT_KEY/CHANNEL?critical=false"

Send a critical failure notification:

apprise -vv \
    -t "Server Down" \
    -b "The server is unreachable" \
    -n failure \
    "signalgrid://CLIENT_KEY/CHANNEL?critical=true"

New Service Completion Status

  • apprise/plugins/signalgrid.py
  • pyproject.toml
    • Updated keywords section with Signalgrid alphabetically.
  • README.md
    • Added Signalgrid quick-reference entry.
  • packaging/redhat/python-apprise.spec
    • Verify Signalgrid is present in the %global common_description service list before checking this box.

Checklist

  • Documentation ticket created: apprise-docs/121
  • The change is tested and works locally.
  • No commented-out code in this PR.
  • No lint errors (tox -e lint).
  • Test coverage added or updated (tox -e qa).

Testing

# Create a virtual environment
python3 -m venv apprise

# Change into our new directory
cd apprise

# Activate our virtual environment
source bin/activate

# Install the Signalgrid branch
pip install git+https://github.com/signalgridco/apprise.git@signalgrid

# Send a normal notification
apprise -vv \
    -t "Apprise Test" \
    -b "Hello from Apprise via Signalgrid" \
    "signalgrid://CLIENT_KEY/CHANNEL?critical=false"

# Send a critical notification
apprise -vv \
    -t "Critical Test" \
    -b "Critical notification from Apprise via Signalgrid" \
    -n failure \
    "signalgrid://CLIENT_KEY/CHANNEL?critical=true"

The implementation has also been validated against the Signalgrid API with successful real notification delivery.

@codecov

codecov Bot commented Aug 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (4e6f4b1) to head (047940c).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #1710   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          222       223    +1     
  Lines        33211     33290   +79     
  Branches      5619      5628    +9     
=========================================
+ Hits         33211     33290   +79     
Files with missing lines Coverage Δ
apprise/plugins/signalgrid.py 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caronc

caronc commented Aug 29, 2026

Copy link
Copy Markdown
Owner

I just made a couple of tweaks, can you verify that it's all good on your end?

@caronc

caronc commented Aug 29, 2026

Copy link
Copy Markdown
Owner

don't worry about the build error; this is fixed now; can you review the few changes i made in your Pr and make sure everything still works? you may have to perform a git pull on your side to align

@signalgridco

Copy link
Copy Markdown
Contributor Author

I tested the changes and everything works as expected.

I tested single and multiple channels with both critical=true and critical=false, and all notifications were delivered correctly.

I also ran the tests and checks:

  • Signalgrid tests: 9 passed
  • tox -e lint: passed
  • tox -e qa: 1931 passed

The updated URL format and multi-channel support work great. Thanks for the improvements!

@caronc
caronc merged commit 3299eb3 into caronc:master Aug 30, 2026
22 of 25 checks passed
@caronc

caronc commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants