From a84b8affd644ca46313fcd8135c962875461fd4b Mon Sep 17 00:00:00 2001 From: Ali Artukov <68611579+AliArtukov@users.noreply.github.com> Date: Tue, 2 Jun 2026 16:30:04 +0500 Subject: [PATCH 1/4] Add messageThreadId for Telegram notifications Add messageThreadId for sending alerts to specific topic of telegram group. --- .../boot/admin/server/notify/TelegramNotifier.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java index d5229868273..3e0bf53808a 100644 --- a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java +++ b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java @@ -47,6 +47,11 @@ public class TelegramNotifier extends AbstractContentNotifier { */ @Nullable private String chatId; + /** + * Unique identifier for the target chat or username of the target channel + */ + @Nullable private String messageThreadId; + /** * The token identifying und authorizing your Telegram bot (e.g. * `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`) @@ -83,6 +88,7 @@ protected String buildUrl() { private Map createMessage(InstanceEvent event, Instance instance) { Map parameters = new HashMap<>(); parameters.put("chat_id", this.chatId); + parameters.put("message_thread_id", this.messageThreadId); parameters.put("parse_mode", this.parseMode); parameters.put("disable_notification", this.disableNotify); parameters.put("text", createContent(event, instance)); @@ -114,6 +120,14 @@ public void setChatId(@Nullable String chatId) { this.chatId = chatId; } + @Nullable public String getMessageThreadId() { + return messageThreadId; + } + + public void setMessageThreadId(@Nullable String messageThreadId) { + this.messageThreadId = messageThreadId; + } + @Nullable public String getAuthToken() { return authToken; } From 7e91ea8b2ffc309704eaf83672a0ab75f3a12037 Mon Sep 17 00:00:00 2001 From: Ali Artukov <68611579+AliArtukov@users.noreply.github.com> Date: Tue, 2 Jun 2026 16:39:16 +0500 Subject: [PATCH 2/4] Refactor TelegramNotifier messageThreadId handling Updated messageThreadId to default to '0' and removed nullable annotations. --- .../boot/admin/server/notify/TelegramNotifier.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java index 3e0bf53808a..c0a4ed41880 100644 --- a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java +++ b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java @@ -48,9 +48,10 @@ public class TelegramNotifier extends AbstractContentNotifier { @Nullable private String chatId; /** - * Unique identifier for the target chat or username of the target channel + * Unique identifier for the target topic of the target super group + * 0 is an ID of general topic */ - @Nullable private String messageThreadId; + private String messageThreadId = "0"; /** * The token identifying und authorizing your Telegram bot (e.g. @@ -120,11 +121,11 @@ public void setChatId(@Nullable String chatId) { this.chatId = chatId; } - @Nullable public String getMessageThreadId() { + public String getMessageThreadId() { return messageThreadId; } - public void setMessageThreadId(@Nullable String messageThreadId) { + public void setMessageThreadId(String messageThreadId) { this.messageThreadId = messageThreadId; } From 1541313a9795f79b769e13e7aa1ab449efa2b83c Mon Sep 17 00:00:00 2001 From: Ali Artukov <68611579+AliArtukov@users.noreply.github.com> Date: Tue, 2 Jun 2026 21:59:35 +0500 Subject: [PATCH 3/4] Update buildUrl method to include message_thread_id --- .../boot/admin/server/notify/TelegramNotifier.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java index c0a4ed41880..e775a2f8d1f 100644 --- a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java +++ b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java @@ -81,10 +81,12 @@ protected Mono doNotify(InstanceEvent event, Instance instance) { .fromRunnable(() -> restTemplate.getForObject(buildUrl(), Void.class, createMessage(event, instance))); } - protected String buildUrl() { - return String.format("%s/bot%s/sendmessage?chat_id={chat_id}&text={text}&parse_mode={parse_mode}" - + "&disable_notification={disable_notification}", this.apiUrl, this.authToken); - } + protected String buildUrl() { + return String.format( + "%s/bot%s/sendmessage?chat_id={chat_id}&message_thread_id={message_thread_id}&text={text}&parse_mode={parse_mode}&disable_notification={disable_notification}", + this.apiUrl, this.authToken + ); + } private Map createMessage(InstanceEvent event, Instance instance) { Map parameters = new HashMap<>(); From 866e8680ecf59a976e8ce1df175c9684bb493f9c Mon Sep 17 00:00:00 2001 From: Ali Artukov <68611579+AliArtukov@users.noreply.github.com> Date: Tue, 2 Jun 2026 22:13:24 +0500 Subject: [PATCH 4/4] Change messageThreadId type from String to Integer --- .../boot/admin/server/notify/TelegramNotifier.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java index e775a2f8d1f..6b1b9963529 100644 --- a/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java +++ b/spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/server/notify/TelegramNotifier.java @@ -49,9 +49,8 @@ public class TelegramNotifier extends AbstractContentNotifier { /** * Unique identifier for the target topic of the target super group - * 0 is an ID of general topic */ - private String messageThreadId = "0"; + private Integer messageThreadId; /** * The token identifying und authorizing your Telegram bot (e.g. @@ -123,11 +122,11 @@ public void setChatId(@Nullable String chatId) { this.chatId = chatId; } - public String getMessageThreadId() { + public Integer getMessageThreadId() { return messageThreadId; } - public void setMessageThreadId(String messageThreadId) { + public void setMessageThreadId(Integer messageThreadId) { this.messageThreadId = messageThreadId; }