diff --git a/README.md b/README.md index bcbd557d4..139df2372 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ Feel free to ask questions or share your ideas - we'd love to hear from you! - Selective disk monitoring with mountpoint selection - Incidents at a glance - Status pages with 4 beautiful themes -- E-mail, Webhooks, Discord, Slack, PagerDuty, Matrix, Microsoft Teams, Telegram, Pushover, Twilio (SMS) notifications +- E-mail, Webhooks, Discord, Slack, PagerDuty, Matrix, Rocket.Chat, Microsoft Teams, Telegram, Pushover, Twilio (SMS) notifications - Scheduled maintenance - JSON query monitoring - Multi-language support for Arabic, Chinese (Simplified), Chinese (Traditional, Taiwan), Czech, English, Finnish, French, German, Japanese, Portuguese (Brazil), Russian, Spanish, Thai, Turkish, Ukrainian, and Vietnamese diff --git a/server/openapi.json b/server/openapi.json index 28a22f394..627354c55 100644 --- a/server/openapi.json +++ b/server/openapi.json @@ -34,7 +34,7 @@ }, { "name": "notifications", - "description": "Notification channels (email, webhook, Slack, Discord, PagerDuty, Matrix, Teams, Telegram, Pushover, Twilio) and test alerts." + "description": "Notification channels (email, webhook, Slack, Discord, PagerDuty, Matrix, Rocket.Chat, Teams, Telegram, Pushover, Twilio) and test alerts." }, { "name": "maintenance-window", @@ -879,6 +879,9 @@ { "$ref": "#/components/schemas/WebhookNotification" }, + { + "$ref": "#/components/schemas/RocketChatNotification" + }, { "$ref": "#/components/schemas/SlackNotification" }, @@ -912,6 +915,7 @@ "mapping": { "email": "#/components/schemas/EmailNotification", "webhook": "#/components/schemas/WebhookNotification", + "rocket_chat": "#/components/schemas/RocketChatNotification", "slack": "#/components/schemas/SlackNotification", "discord": "#/components/schemas/DiscordNotification", "pager_duty": "#/components/schemas/PagerDutyNotification", @@ -1036,6 +1040,29 @@ "address": "https://example.com/hooks/checkmate" } }, + "RocketChatNotification": { + "type": "object", + "properties": { + "notificationName": { + "type": "string", + "minLength": 1 + }, + "type": { + "type": "string", + "enum": ["rocket_chat"] + }, + "address": { + "type": "string", + "format": "uri" + } + }, + "required": ["notificationName", "type", "address"], + "example": { + "notificationName": "Rocket.Chat alerts", + "type": "rocket_chat", + "address": "https://chat.example.com/hooks/integration-id/token" + } + }, "SlackNotification": { "type": "object", "properties": { diff --git a/server/openapi/index.ts b/server/openapi/index.ts index ef3e0b1d0..c96cec233 100644 --- a/server/openapi/index.ts +++ b/server/openapi/index.ts @@ -39,7 +39,8 @@ export function getOpenApiSpec(): JsonObject { { name: "incidents", description: "Downtime incidents derived from monitor state changes, including filtering and CSV export." }, { name: "notifications", - description: "Notification channels (email, webhook, Slack, Discord, PagerDuty, Matrix, Teams, Telegram, Pushover, Twilio) and test alerts.", + description: + "Notification channels (email, webhook, Slack, Discord, PagerDuty, Matrix, Rocket.Chat, Teams, Telegram, Pushover, Twilio) and test alerts.", }, { name: "maintenance-window", description: "Scheduled maintenance windows during which monitors do not generate incidents or alerts." }, { name: "status-page", description: "Public status pages, their configuration, and the monitors they expose." }, diff --git a/server/openapi/routes/notification.ts b/server/openapi/routes/notification.ts index f1c70ca6d..7da45adfb 100644 --- a/server/openapi/routes/notification.ts +++ b/server/openapi/routes/notification.ts @@ -23,6 +23,14 @@ const notificationVariantMeta: Record