Skip to content

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

@jennifer/gotify

test Documentation release

Sends push notifications to a Gotify server from a Jennifer program, with optional markdown bodies and tap-to-open URLs. Replaces the gotify module of Jennifer's standard library (shipped since 0.18.0, deprecated from 0.26.0, removed in 0.28.0); the API is unchanged, only the import differs.

Documentation

Install

jvc add @jennifer/gotify

This vendors the deck to vendor/jennifer/gotify/. Without jvc, unpack the src/ subtree of a release archive (jennifer-gotify-<version>.tar.gz) there.

Usage

import "@jennifer/gotify/" as gotify;
import "http.j" as http;

def g as gotify.Config init gotify.Config{url: os.getEnv("GOTIFY_URL"), token: os.getEnv("GOTIFY_TOKEN")};
def r as http.Response init gotify.push($g, "Deploy", "build 1234 is live", 5);
io.printf("%d\n", $r.status);   # 200; a wrong token is 401, not an error

examples/push.j pushes a plain and a tap-to-open notification.

Requirements

Jennifer 0.25.0 or newer and network access to the Gotify server. Pushes need the default jennifer binary; the stock jennifer-tiny has no network driver.

Development

tools/check-all.sh                   # the full gate, as CI runs it
jennifer test src/gotify_test.j      # the test overlay
tools/check-docs.sh                  # docs against the code
tools/pack.sh dist                   # build the release archive

Licence

LGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <mplx@jennifer-lang.dev>.

tools/check-headers.sh checks every source file's SPDX header against deck.toml.

Releases

Packages

Contributors

Languages