From 87c829e1008bc883f5668db6284d5bb3c43cdb99 Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Sat, 6 Sep 2025 19:33:14 +0700 Subject: [PATCH] feat: Add Gotify to notification channels - Add Gotify as a new channel type in the notification settings. The Gotify channel will use the `api_token` and `server_url` field for API key storage in PB. --- .../public/upload/notification/gotify.png | Bin 0 -> 81715 bytes .../NotificationChannelDialog.tsx | 52 +++++++++++++++++- .../src/services/alertConfigService.ts | 7 ++- 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 application/public/upload/notification/gotify.png diff --git a/application/public/upload/notification/gotify.png b/application/public/upload/notification/gotify.png new file mode 100644 index 0000000000000000000000000000000000000000..105fc6cf18f88f10c370f135b00a41ab84528299 GIT binary patch literal 81715 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 literal 0 HcmV?d00001 diff --git a/application/src/components/settings/notification-settings/NotificationChannelDialog.tsx b/application/src/components/settings/notification-settings/NotificationChannelDialog.tsx index abee15a..0b1d3e1 100644 --- a/application/src/components/settings/notification-settings/NotificationChannelDialog.tsx +++ b/application/src/components/settings/notification-settings/NotificationChannelDialog.tsx @@ -36,7 +36,7 @@ interface NotificationChannelDialogProps { const baseSchema = z.object({ notify_name: z.string().min(1, "Name is required"), - notification_type: z.enum(["telegram", "discord", "slack", "signal", "google_chat", "email", "ntfy", "pushover", "notifiarr", "webhook"]), + notification_type: z.enum(["telegram", "discord", "slack", "signal", "google_chat", "email", "ntfy", "pushover", "notifiarr", "gotify", "webhook"]), enabled: z.boolean().default(true), service_id: z.string().default("global"), template_id: z.string().optional(), @@ -101,6 +101,12 @@ const webhookSchema = baseSchema.extend({ webhook_payload_template: z.string().optional(), }); +const gotifySchema = baseSchema.extend({ + notification_type: z.literal("gotify"), + api_token: z.string().min(1, "API token is required"), + server_url: z.string().url("Must be a valid server URL"), +}); + const formSchema = z.discriminatedUnion("notification_type", [ telegramSchema, discordSchema, @@ -111,6 +117,7 @@ const formSchema = z.discriminatedUnion("notification_type", [ ntfySchema, pushoverSchema, notifiarrSchema, + gotifySchema, webhookSchema, ]); @@ -172,6 +179,12 @@ const notificationTypeOptions = [ description: "Send notifications via Notifiarr", icon: "/upload/notification/notifiarr.png" }, + { + value: "gotify", + label: "Gotify", + description: "Send push notifications via Gotify", + icon: "/upload/notification/gotify.png" + }, { value: "webhook", label: "Webhook", @@ -671,6 +684,43 @@ export const NotificationChannelDialog = ({ /> )} + + {notificationType === "gotify" && ( + <> + ( + + API Token + + + + + Your Gotify application API token + + + + )} + /> + ( + + Server URL + + + + + The URL of your Gotify server + + + + )} + /> + + )} {notificationType === "webhook" && ( <> diff --git a/application/src/services/alertConfigService.ts b/application/src/services/alertConfigService.ts index 97329ae..c76a494 100644 --- a/application/src/services/alertConfigService.ts +++ b/application/src/services/alertConfigService.ts @@ -7,7 +7,7 @@ export interface AlertConfiguration { collectionId?: string; collectionName?: string; service_id: string; - notification_type: "telegram" | "discord" | "slack" | "signal" | "google_chat" | "email" | "ntfy" | "pushover" | "notifiarr" | "webhook"; + notification_type: "telegram" | "discord" | "slack" | "signal" | "google_chat" | "email" | "ntfy" | "pushover" | "notifiarr" | "gotify" | "webhook"; telegram_chat_id?: string; discord_webhook_url?: string; signal_number?: string; @@ -31,6 +31,7 @@ export interface AlertConfiguration { ntfy_endpoint?: string; api_token?: string; user_key?: string; + server_url?: string; webhook_url?: string; webhook_payload_template?: string; } @@ -95,6 +96,10 @@ export const alertConfigService = { } else if (config.notification_type === "notifiarr") { cleanConfig.api_token = config.api_token || ""; cleanConfig.channel_id = config.channel_id || ""; + + } else if (config.notification_type === "gotify") { + cleanConfig.api_token = config.api_token || ""; + cleanConfig.server_url = config.server_url || ""; } else if (config.notification_type === "webhook") { cleanConfig.webhook_url = config.webhook_url || "";