This is an automated email from the ASF dual-hosted git repository.
wankai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 33316cf57b Fix Slack hook do not post msg if the template is blank.
(#13583)
33316cf57b is described below
commit 33316cf57b0b0cc7fe0c9a059ce813dc812fb531
Author: Wan Kai <[email protected]>
AuthorDate: Wed Nov 19 11:54:42 2025 +0800
Fix Slack hook do not post msg if the template is blank. (#13583)
---
.../alarm/provider/dingtalk/DingtalkHookCallback.java | 11 ++++++-----
.../alarm/provider/discord/DiscordHookCallback.java | 11 ++++++-----
.../core/alarm/provider/feishu/FeishuHookCallback.java | 17 +++++++++--------
.../alarm/provider/pagerduty/PagerDutyHookCallback.java | 15 ++++++++-------
.../core/alarm/provider/slack/SlackhookCallback.java | 10 +++++-----
.../core/alarm/provider/wechat/WechatHookCallback.java | 17 +++++++++--------
.../core/alarm/provider/welink/WeLinkHookCallback.java | 11 ++++++-----
7 files changed, 49 insertions(+), 43 deletions(-)
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java
index de179a7ca1..62957b347a 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java
@@ -60,14 +60,15 @@ public class DingtalkHookCallback extends HttpAlarmCallback
{
messages)) {
continue;
}
+ String template = getTemplate(setting, isRecovery);
+ if (StringUtil.isBlank(template)) {
+ continue;
+ }
for (final var webHookUrl : setting.getWebhooks()) {
final var url = getUrl(webHookUrl);
for (final var alarmMessage : messages) {
- String template = getTemplate(setting, isRecovery);
- if (StringUtil.isNotBlank(template)) {
- final var requestBody = String.format(template,
alarmMessage.getAlarmMessage());
- post(URI.create(url), requestBody, Map.of());
- }
+ final var requestBody = String.format(template,
alarmMessage.getAlarmMessage());
+ post(URI.create(url), requestBody, Map.of());
}
}
}
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/discord/DiscordHookCallback.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/discord/DiscordHookCallback.java
index e18f9b84f6..e66c1f55e4 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/discord/DiscordHookCallback.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/discord/DiscordHookCallback.java
@@ -56,13 +56,14 @@ public class DiscordHookCallback extends HttpAlarmCallback {
messages)) {
continue;
}
+ String template = getTemplate(setting, isRecovery);
+ if (StringUtil.isBlank(template)) {
+ continue;
+ }
for (final var webHookUrl : setting.getWebhooks()) {
for (final var alarmMessage : messages) {
- String template = getTemplate(setting, isRecovery);
- if (StringUtil.isNotBlank(template)) {
- final var content = String.format(template,
alarmMessage.getAlarmMessage());
- sendAlarmMessage(webHookUrl, content);
- }
+ final var content = String.format(template,
alarmMessage.getAlarmMessage());
+ sendAlarmMessage(webHookUrl, content);
}
}
}
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/feishu/FeishuHookCallback.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/feishu/FeishuHookCallback.java
index 8ede5dca48..3973eb7eb5 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/feishu/FeishuHookCallback.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/feishu/FeishuHookCallback.java
@@ -62,16 +62,17 @@ public class FeishuHookCallback extends HttpAlarmCallback {
messages)) {
continue;
}
+ String template = getTemplate(setting, isRecovery);
+ if (StringUtil.isBlank(template)) {
+ continue;
+ }
for (final var webHookUrl : setting.getWebhooks()) {
for (final var alarmMessage : messages) {
- String template = getTemplate(setting, isRecovery);
- if (StringUtil.isNotBlank(template)) {
- final var requestBody = getRequestBody(webHookUrl,
alarmMessage, template);
- try {
- post(URI.create(webHookUrl.getUrl()), requestBody,
Map.of());
- } catch (Exception e) {
- log.error("Failed to send alarm message to Feishu:
{}", webHookUrl.getUrl(), e);
- }
+ final var requestBody = getRequestBody(webHookUrl,
alarmMessage, template);
+ try {
+ post(URI.create(webHookUrl.getUrl()), requestBody,
Map.of());
+ } catch (Exception e) {
+ log.error("Failed to send alarm message to Feishu:
{}", webHookUrl.getUrl(), e);
}
}
}
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/pagerduty/PagerDutyHookCallback.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/pagerduty/PagerDutyHookCallback.java
index 0f9d916962..58e331833a 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/pagerduty/PagerDutyHookCallback.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/pagerduty/PagerDutyHookCallback.java
@@ -59,16 +59,17 @@ public class PagerDutyHookCallback extends
HttpAlarmCallback {
messages)) {
continue;
}
+ String template = getTemplate(isRecovery, setting);
+ if (StringUtil.isBlank(template)) {
+ continue;
+ }
for (final var integrationKey : setting.getIntegrationKeys()) {
for (final var alarmMessage : messages) {
try {
- String template = getTemplate(isRecovery, setting);
- if (StringUtil.isNotBlank(template)) {
- post(
- URI.create(PAGER_DUTY_EVENTS_API_V2_URL),
- getMessageBody(alarmMessage,
integrationKey, template), Map.of()
- );
- }
+ post(
+ URI.create(PAGER_DUTY_EVENTS_API_V2_URL),
+ getMessageBody(alarmMessage, integrationKey,
template), Map.of()
+ );
} catch (Exception e) {
log.error("Failed to send alarm message to PagerDuty:
{}", integrationKey, e);
}
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java
index c8dc031747..27dab018a2 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java
@@ -60,15 +60,15 @@ public class SlackhookCallback extends HttpAlarmCallback {
messages)) {
continue;
}
-
+ String template = getTemplate(setting, isRecovery);
+ if (StringUtil.isBlank(template)) {
+ continue;
+ }
for (final var url : setting.getWebhooks()) {
final var jsonObject = new JsonObject();
final var jsonElements = new JsonArray();
for (AlarmMessage item : messages) {
- String template = getTemplate(setting, isRecovery);
- if (StringUtil.isNotBlank(template)) {
- jsonElements.add(GSON.fromJson(String.format(template,
item.getAlarmMessage()), JsonObject.class));
- }
+ jsonElements.add(GSON.fromJson(String.format(template,
item.getAlarmMessage()), JsonObject.class));
}
jsonObject.add("blocks", jsonElements);
final var body = GSON.toJson(jsonObject);
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/wechat/WechatHookCallback.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/wechat/WechatHookCallback.java
index 618c2192ab..af4a6391cb 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/wechat/WechatHookCallback.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/wechat/WechatHookCallback.java
@@ -54,16 +54,17 @@ public class WechatHookCallback extends HttpAlarmCallback {
if (setting == null ||
CollectionUtils.isEmpty(setting.getWebhooks()) ||
CollectionUtils.isEmpty(messages)) {
continue;
}
+ String template = getTemplate(setting, isRecovery);
+ if (StringUtil.isBlank(template)) {
+ continue;
+ }
for (final var url : setting.getWebhooks()) {
for (final var alarmMessage : messages) {
- String template = getTemplate(setting, isRecovery);
- if (StringUtil.isNotBlank(template)) {
- final var requestBody = String.format(template,
alarmMessage.getAlarmMessage());
- try {
- post(URI.create(url), requestBody, Map.of());
- } catch (Exception e) {
- log.error("Failed to send alarm message to Wechat
webhook: {}", url, e);
- }
+ final var requestBody = String.format(template,
alarmMessage.getAlarmMessage());
+ try {
+ post(URI.create(url), requestBody, Map.of());
+ } catch (Exception e) {
+ log.error("Failed to send alarm message to Wechat
webhook: {}", url, e);
}
}
}
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/welink/WeLinkHookCallback.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/welink/WeLinkHookCallback.java
index ef02377877..8a71eccdbf 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/welink/WeLinkHookCallback.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/welink/WeLinkHookCallback.java
@@ -69,14 +69,15 @@ public class WeLinkHookCallback extends HttpAlarmCallback {
messages)) {
continue;
}
+ String template = getTemplate(setting, isRecovery);
+ if (StringUtil.isBlank(template)) {
+ continue;
+ }
for (final var webHookUrl : setting.getWebhooks()) {
final var accessToken = getAccessToken(webHookUrl);
for (final var alarmMessage : messages) {
- String template = getTemplate(setting, isRecovery);
- if (StringUtil.isNotBlank(template)) {
- final var content = String.format(template,
alarmMessage.getAlarmMessage());
- sendAlarmMessage(webHookUrl, accessToken, content);
- }
+ final var content = String.format(template,
alarmMessage.getAlarmMessage());
+ sendAlarmMessage(webHookUrl, accessToken, content);
}
}
}