#4349·hertzbeat

[BUG] Gotify fallback webhook URL is missing token placeholder

Author: paultanayCreated Aug 24, 2026Updated Aug 24, 2026
Labelsbug

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Describe the bug

AlerterProperties.java defines the fallback default Gotify webhook URL as:

java
private String gotifyWebhookUrl = "https://push.example.de/message?token=";

But GotifyAlertNotifyHandlerImpl formats this value with the receiver token:

java
String webHookUrl = String.format(alerterProperties.getGotifyWebhookUrl(), receiver.getGotifyToken());

Because the fallback default does not contain a %s placeholder, String.format() ignores receiver.getGotifyToken(). If this Java fallback value is used, the generated URL becomes:

https://push.example.de/message?token=

instead of including the Gotify token.

The configured value in application.yml already uses the expected format:

yaml
gotify-webhook-url: http://127.0.0.1/message?token=%s

So the Java fallback default should be consistent with the configured default.

Expected Behavior

The fallback default should include the token placeholder:

java
private String gotifyWebhookUrl = "https://push.example.de/message?token=%s";

Steps To Reproduce

No response

Environment

markdown
HertzBeat master branch / 2.0-SNAPSHOT.

Debug logs

No response

Anything else?

No response