feat(alerting): allow configuring the topic for Zulip alerts (#1764)

Zulip alerts previously always used a hardcoded "Gatus" topic, sending
every alert and resolution into a single thread. Add a "topic" config
field (defaulting to "Gatus" for backwards compatibility) that supports
the [ENDPOINT_NAME], [ENDPOINT_GROUP] and [ALERT_DESCRIPTION] placeholders,
matching the templating convention used by other providers such as clickup.

Closes #1387

Co-authored-by: Chris (ChrisJr404) <11917633+ChrisJr404@users.noreply.github.com>
Co-authored-by: TwiN <twin@linux.com>
This commit is contained in:
ChrisJr404
2026-09-08 17:47:19 -04:00
committed by GitHub
co-authored by Chris TwiN
parent 4d15cb7eed
commit 7f3873d0b4
3 changed files with 73 additions and 5 deletions
+2
View File
@@ -2530,6 +2530,7 @@ endpoints:
| `alerting.zulip.bot-api-key` | Bot API key | Required `""` |
| `alerting.zulip.domain` | Full organization domain (e.g.: yourZulipDomain.zulipchat.com) | Required `""` |
| `alerting.zulip.channel-id` | The channel ID where Gatus will send the alerts | Required `""` |
| `alerting.zulip.topic` | The topic under which the alerts will be sent.<br />Supports the `[ENDPOINT_NAME]`, `[ENDPOINT_GROUP]` and `[ALERT_DESCRIPTION]` placeholders. | `Gatus` |
| `alerting.zulip.overrides` | List of overrides that may be prioritized over the default configuration | `[]` |
| `alerting.zulip.overrides[].group` | Endpoint group for which the configuration will be overridden by this configuration | `""` |
| `alerting.zulip.overrides[].*` | See `alerting.zulip.*` parameters | `{}` |
@@ -2541,6 +2542,7 @@ alerting:
bot-api-key: "********************************"
domain: some.zulip.org
channel-id: 123456
topic: "[ENDPOINT_NAME]" # Optional; groups each endpoint's alerts under its own topic. Defaults to "Gatus"
endpoints:
- name: website