Personlige leveringskanaler
Personlige leveringskanaler sender dine egne Kanera-varsler et annet sted enn e-post eller nettleserpush.
E-post og nettleser push fungerer bra for de fleste, men de er ikke de eneste nyttige destinasjonene. Noen lag kjører allerede en selvbetjent varslingsserver. Noen mennesker vil ha varsler på en telefon uten å gi nettleservarslingstillatelse. Noen vil at Kanera-hendelser skal lande i et skript, et hjemme dashbord eller et samtaleverktøy.
Kanera støtter tre personlige destinasjoner:
| Kanal | Hva er det? | Bra for prisen |
|---|---|---|
| ntfy | En varslingsserver du abonnerer på fra en telefon eller en skrivebordsapp, enten ntfy.sh Eller ditt eget eksempel. | Telefonvarsler uten nettleser push, delte team emner, homelab oppsett. |
| Gotify | En selvbetjent varslingsserver med egen Android-app og webgrensesnitt. | Fullt selvbetjent varsling uten tredjeparts push-tjeneste i veien. |
| Personlig webhook | Et HTTPS-endepunkt du eier, mottar signert JSON. | Skript, dashbord, on-call ruting, tilpasset automatisering, chat broer du allerede kjører. |
Disse kanalene er personlige. De tilhører kontoen din, ikke et arbeidsområde, og ingen andre kan se eller endre dem. De er ikke avhengig av organisasjonens push-innstilling eller nettleservarslingstillatelse.
De trenger Pro eller 30-dagers Pro-rettssaken. De er ikke tilgjengelige på vert Free, hvor e-post, nettleser push, og i-app skuff fortsette å fungere som normalt. Se Plankrav under.
Hvis du vil at et helt team skal se kortaktivitet i en delt kanal, bruker du Chat Destinasjoner i stedet. Personlige kanaler er en privat feed; chat destinasjoner er et team feed og er satt opp av en arbeidsområde admin.
Når du skal bruke hver kanal
Bruk ntfy når du vil ha telefon eller skrivebordsvarsler og vil heller ikke bruke nettleseren push. Installer ntfy-appen, abonner på et emne, og Kanera publiserer til det. Dette er også det enkleste alternativet hvis du allerede publiserer andre varsler til ntfy og vil ha Kanera ved siden av dem.
Bruk Gotify når kravet er at ingenting forlater infrastrukturen. Gotify kjører på din egen server, Android-appen snakker direkte til den, og Kanera trenger bare serveradressen og et programtoken.
Bruk en personlig webhook når du vil gjøre noe med varslingen i stedet for å lese den.
- Rute nevner og forfalte kort i en på-samtale eller personsøker verktøy.
- Legg opp oppgavene dine i en personlig chat-kanal eller en bot du allerede kjører.
- Legg til varsler i en logg, et dashbord eller en personlig database.
- Bridge Kanera til en varslingsleverandør Kanera støtter ikke direkte.
Plankrav
Personlige leveringskanaler trenger Pro eller en Pro-prøveversjon. E-post, nettleserpush, varslingskuffen i appen, den daglige fordøyelsen, se på og Arbeidsområderegler Det er tilgjengelig på alle planer og er ikke berørt av dette.
På vert Free, Ytterligere varslingsdestinasjoner Vis ntfy, Gotify og personlige webhooks er ikke tilgjengelige på planen din I stedet for kortene.
Hvis en organisasjon flytter fra Pro eller en prøveversjon til Free, bytter Kanera hver persons ntfy, Gotify og webhook kanaler av. Ingenting slettes: server-URLer, emner, tokens, signeringshemmeligheter og per-type-innstillinger forblir lagret, og alt som fortsatt venter på å sende, slippes i stedet for å komme for sent. Oppgradering slår igjen på nøyaktig kanalene hver person hadde aktivert, slik at ingen må koble noe til igjen.
Hvor å sette dem opp
Åpne Profilinnstillinger -> Varsler og utvide Ytterligere varslingsdestinasjoner.
Hver kanal har sitt eget kort med tilkoblingsfelt, en Aktivert av/på, varslingstype av/på, og Lagre, Test, og Fjern handlinger.
En kanal kan ikke aktiveres før du har fylt ut alt den trenger. Det du tillater her er det meste en kanal noen gang vil sende deg: Arbeidsområderegler kan stille en kanal for ett arbeidsområde, men aldri gjøre det sende mer enn disse innstillingene tillater.
Varslingsskuffen i appen påvirkes aldri av disse innstillingene. Den viser alltid hele feeden.
Sett opp ntfy
- Velg serveren. Bruk
https://ntfy.shfor offentlig tjeneste, eller din egen instans somhttps://ntfy.example.com. - Velg et emnenavn. Behandle det som en hemmelighet på offentlig tjeneste, siden alle som kjenner et emne kan abonnere på det. Noe som
kanera-a7f3c2-ameliaer bedre ennkanera. - I Kanera, gå inn i Server-URL og Emne. La spørringsstrengen av serveradressen; Kanera legger til emnet selv.
- Hvis emnet krever godkjenning, limer du inn et tilgangstoken i Bærer-token. Det er valgfritt på åpne servere og kreves på beskyttede.
- Klikk Lagre, og deretter slå på Aktivert.
- Velg hvilke varslingstyper denne kanalen skal levere.
- Klikk Test Bekreft at meldingen kommer.
- Abonner på samme emne i ntfy-appen eller webgrensesnittet hvis du ikke allerede har det.
Hver melding kommer som en vanlig melding med en tittel, og ved å trykke på den åpnes kortet i Kanera.
Sett opp Gotify
- Åpne Gotify web UI og opprette en applikasjon — for eksempel «Kanera».
- Kopier programtokenet som Gotify genererer. Programtokener starter med
A. Ikke bruk en klient token. - I Kanera, gå inn i Server-URL, som
https://gotify.example.comog lim inn tokenet i App-token. - Klikk Lagre, og deretter slå på Aktivert.
- Velg hvilke varslingstyper denne kanalen skal levere.
- Klikk Test og bekrefte at meldingen vises i Gotify.
Meldinger vises i Gotify under programmet du opprettet, med varslingstittelen, et lesbart sammendrag og en lenke som åpner kortet. De sendes med normal prioritet, så Gotifys egne per-applikasjonsinnstillinger bestemmer hvor insisterende varselet er.
App-tokenet lagres kryptert og vises aldri igjen; feltet viser Lagret — la feltet stå tomt for å beholde verdien. Bruk Fjern symbol for å fjerne den, eller lim inn et nytt symbol og lagre for å erstatte det.
Sett opp en personlig webhook
- Forbered et HTTPS-endepunkt som godtar
POSTforespørsler med en JSON-kropp og returnerer en 2xx-status raskt. - I Kanera, gå inn i Sluttpunkt-URL og klikk Lagre.
- Kanera genererer en signeringshemmelighet og viser det en gang. Kopier det nå — den vises ikke igjen.
- Lagre hemmeligheten i mottakeren og verifiser hver forespørsel før du stoler på den.
- Slå på AktivertVelg deretter hvilke varslingstyper denne kanalen skal levere.
- Klikk Test og bekrefte at endepunktet ditt er mottatt og bekreftet forespørselen.
Bruk Roter hemmelig for å utstede en ny hemmelighet. Den gamle hemmeligheten slutter å fungere umiddelbart, så oppdater mottakeren i samme vedlikeholdsvindu.
Be om topptekst
| Overskrift | Betydning |
|---|---|
Content-Type | Alltid application/json. |
User-Agent | Kanera-Personal-Notifications/1.0. |
X-Kanera-Event-Id | Unikt id for denne leveransen. Matcher id i kroppen. |
X-Kanera-Timestamp | Unix tidsstempel i sekunder. |
X-Kanera-Signature | sha256= pluss en HMAC-SHA256 av ${timestamp}.${rawBody} Bruke din signering hemmelighet. |
Nyttelast
{
"id": "0199c3ab-6f5e-7d21-9b0c-8b31a7e40f2d",
"type": "notification",
"occurredAt": "2026-07-30T09:14:22.481Z",
"notification": {
"kind": "comment_mentioned",
"reason": "mentioned",
"title": "Mentioned in a comment",
"body": "Amelia mentioned you in Website Redesign / Prepare kickoff agenda: can you review the copy?",
"url": "https://kanera.example.com/b/48a52a55-763e-4c64-8a76-51ac56247f5c/c/70c39cef-1aec-44e6-a8f5-f36f765a818d",
"tag": "card:70c39cef-1aec-44e6-a8f5-f36f765a818d:mentioned"
}
}
| Felt | Betydning |
|---|---|
id | Leverings-ID, også sendt som X-Kanera-Event-Id. Bruk den til å gjøre mottakeren idempotent. |
type | Alltid notification for personlige kanalleveranser. |
occurredAt | ISO 8601 tidsstempel for når varslingen ble køet. |
notification.kind | Varslingstype, som card_assigned, card_comment_added, comment_mentioned, card_due_date_changed, card_overdue, card_reminder, eller test. |
notification.reason | Hvorfor du ble varslet: assigned, comment, mentioned, dueDateChanged, overdue, reminder, eller test. |
notification.title | Kort overskrift. |
notification.body | Menneskelig lesbar oppsummering inkludert skuespilleren, tavlen og kortet. |
notification.url | Dyp link til kortet, når varslings peker på en. |
notification.tag | Gruppering av nøkkel for å bryte sammen gjentatte varsler om samme kort. |
Bekreft signaturen
import crypto from "node:crypto";
import express from "express";
const app = express();
app.post("/kanera/notifications", express.raw({ type: "application/json" }), (req, res) => {
const timestamp = req.header("X-Kanera-Timestamp") ?? "";
const signature = req.header("X-Kanera-Signature") ?? "";
const expected = "sha256=" + crypto
.createHmac("sha256", process.env.KANERA_NOTIFICATION_SECRET!)
.update(`${timestamp}.${req.body.toString("utf8")}`)
.digest("hex");
const ok = signature.length === expected.length
&& crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
if (!ok) return res.status(401).send("invalid signature");
const event = JSON.parse(req.body.toString("utf8"));
// Handle event.notification.reason, .title, .body, and .url.
res.sendStatus(204);
});
Kontroller alltid mot råforespørselskroppen. Hvis rammeverket ditt analyserer JSON før verifisering, kan sjekken mislykkes eller bli upålitelig. Avvis forespørsler som X-Kanera-Timestamp er langt fra din egen klokke, og behandle en gjentatt X-Kanera-Event-Id som duplikat.
Hvilke varsler hver kanal kan sende
Personlige kanaler har de samme fem varslingstypene som e-post og push:
| Type | Sendt når |
|---|---|
| Kort tildelt | Du er tildelt et kort. |
| Card comment lagt til | Noen kommenterer et kort som er tildelt deg. |
| Tagget i en kommentar | Noen nevner deg i en kommentar. |
| Kortets forfallsdato endret | Forfallsdatoen endres på et kort som er tildelt deg. |
| Kortet forsinket | Et tildelt kort eller et tildelt sjekklisteelement blir forsinket. |
| Kortpåminnelser | A påminnelse du har satt På et kort kommer det. |
Hver kanal har sitt eget sett med type veksler, så en kanal kan være mye roligere enn e-post. Et vanlig oppsett er e-post for alt, ntfy for kun nevner og forsinket arbeid, og en webhook for oppgaver som mater et personlig skript.
Passiv seeraktivitet vises i appskuffen, og den daglige fordøyelsen er bare e-post. Ingen av dem leveres til personlige kanaler.
Tillatte destinasjoner og sikkerhet
Kanera sjekker hvert mål når du lagrer det, og igjen før hver melding går ut.
Som standard:
- Destinasjoner må brukes offentlig HTTPS.
- URL-adressen kan ikke inneholde brukernavn og passord (
https://user:pass@host) eller a#fragment. - En ntfy- eller Gotify- server- URL kan ikke ha en spørringsstreng. Skriv bare inn serveradressen.
- Adresser på et privat eller internt nettverk blir avvist.
- Et mål som omdirigeres til et annet sted, behandles som en feil, og Kanera venter ikke mer enn 10 sekunder på et svar.
Noen Kanera-installasjoner tillater mottakere på et internt nettverk i stedet, noe som er det en ntfy- eller Gotify-server som kjører hjemme eller på et bedrifts LAN vanligvis trenger. Noen få adresser forblir blokkert uansett, inkludert de skyleverandørene som reserverer for sin egen infrastruktur. Varslingsinnstillingssiden forteller deg hvilken av de to retningslinjene som gjelder for deg. Hvis du trenger internnettverkspolitikken, spør den som administrerer Kanera.
Dine tokens og signeringshemmeligheter lagres kryptert og vises aldri igjen etter at du har lagret dem. Hvis en levering mislykkes, registrerer Kanera at den mislyktes uten å registrere destinasjonen eller legitimasjonen din.
Hva du kan forvente fra levering
Varsler kommer innen omtrent et halvt minutt i stedet for umiddelbart. Kanera sender dem i bakgrunnen, så ingenting du gjør i appen venter på din ntfy-server eller webhook som svarer.
Hvis målet ditt er kort uoppnåelig, prøver Kanera noen flere ganger før du gir opp den meldingen. Ingenting hoper seg opp for dager heller. Hvis du slår av en kanal, fjerner detaljene, eller organisasjonen flytter til en plan uten personlige kanaler, er alt som fortsatt venter, droppet i stedet for å ankomme timer senere ut av sammenheng.
Test sender med en gang og fungerer selv før du aktiverer kanalen, slik at du kan bekrefte en tilkobling først.
Feilsøking
| Problem | Sjekk |
|---|---|
| Kanera nekter URL når du lagrer. | Bruk https://, fjerne brukernavn, passord eller #fragment, og fjern spørringsstrengen fra en ntfy eller Gotify server URL. En privat eller intern adresse aksepteres bare der installasjonen tillater det. |
| Hele artikkelen sier at den ikke er tilgjengelig på din nettside. | Personlige kanaler trenger Pro eller en Pro-prøveversjon. E-post, nettleserpush og skuffen i appen påvirkes ikke. |
| Hver kanal slo seg av. | Sjekk om organisasjonen har flyttet til Free. En nedgradering deaktiverer ntfy, Gotify og webhook-levering og holder de lagrede tilkoblingene; oppgradering slår dem på igjen. |
| Den Aktivert Toggle er grå. | Kanalen er ikke fullt konfigurert. ntfy trenger en server URL og emne, Gotify trenger en server URL og app token, og en webhook trenger en URL med en generert hemmelighet. |
| Testen sier at kanalen ikke er fullt konfigurert. | Lagre tilkoblingsfeltene først, og test deretter. |
| Testen mislykkes med en HTTP-status. | Destinasjonen avviste forespørselen. For ntfy, sjekk emnet og eventuelle nødvendige token. For Gotify, bekreft at du brukte et programtoken, ikke et klienttoken. For en webhook, returner en 2xx-status. |
| Testen går ut eller rapporterer en nettverksfeil. | Kanera kunne ikke nå verten innen 10 sekunder. Bekreft at verten er tilgjengelig fra Kanera-serveren, og husk at omdirigeringer ikke følges. |
| Ingenting kommer selv om testen fungerte. | Kontroller at varslingstypen skifter på den kanalen, og kontroller deretter om en arbeidsområderegel pauser eller begrenser leveringen for det arbeidsområdet. |
| Webhook-mottakeren avviser signaturer. | Kontroller over rålegemet, ikke et re-serialisert objekt, og bekreft at du bruker den gjeldende hemmeligheten hvis du nylig roterte den. |
| Varslinger stoppet etter å ha rotert en hemmelighet. | Oppdater mottakeren. Den forrige hemmeligheten slutter å fungere umiddelbart. |
