Skip to content

Commit 33316cf

Browse files
authored
Fix Slack hook do not post msg if the template is blank. (#13583)
1 parent e57eeeb commit 33316cf

File tree

7 files changed

+49
-43
lines changed

7 files changed

+49
-43
lines changed

oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,15 @@ protected void doAlarmCallback(List<AlarmMessage> alarmMessages, boolean isRecov
6060
messages)) {
6161
continue;
6262
}
63+
String template = getTemplate(setting, isRecovery);
64+
if (StringUtil.isBlank(template)) {
65+
continue;
66+
}
6367
for (final var webHookUrl : setting.getWebhooks()) {
6468
final var url = getUrl(webHookUrl);
6569
for (final var alarmMessage : messages) {
66-
String template = getTemplate(setting, isRecovery);
67-
if (StringUtil.isNotBlank(template)) {
68-
final var requestBody = String.format(template, alarmMessage.getAlarmMessage());
69-
post(URI.create(url), requestBody, Map.of());
70-
}
70+
final var requestBody = String.format(template, alarmMessage.getAlarmMessage());
71+
post(URI.create(url), requestBody, Map.of());
7172
}
7273
}
7374
}

oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/discord/DiscordHookCallback.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,14 @@ public void doAlarmCallback(List<AlarmMessage> alarmMessages, boolean isRecovery
5656
messages)) {
5757
continue;
5858
}
59+
String template = getTemplate(setting, isRecovery);
60+
if (StringUtil.isBlank(template)) {
61+
continue;
62+
}
5963
for (final var webHookUrl : setting.getWebhooks()) {
6064
for (final var alarmMessage : messages) {
61-
String template = getTemplate(setting, isRecovery);
62-
if (StringUtil.isNotBlank(template)) {
63-
final var content = String.format(template, alarmMessage.getAlarmMessage());
64-
sendAlarmMessage(webHookUrl, content);
65-
}
65+
final var content = String.format(template, alarmMessage.getAlarmMessage());
66+
sendAlarmMessage(webHookUrl, content);
6667
}
6768
}
6869
}

oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/feishu/FeishuHookCallback.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,17 @@ protected void doAlarmCallback(List<AlarmMessage> alarmMessages, boolean isRecov
6262
messages)) {
6363
continue;
6464
}
65+
String template = getTemplate(setting, isRecovery);
66+
if (StringUtil.isBlank(template)) {
67+
continue;
68+
}
6569
for (final var webHookUrl : setting.getWebhooks()) {
6670
for (final var alarmMessage : messages) {
67-
String template = getTemplate(setting, isRecovery);
68-
if (StringUtil.isNotBlank(template)) {
69-
final var requestBody = getRequestBody(webHookUrl, alarmMessage, template);
70-
try {
71-
post(URI.create(webHookUrl.getUrl()), requestBody, Map.of());
72-
} catch (Exception e) {
73-
log.error("Failed to send alarm message to Feishu: {}", webHookUrl.getUrl(), e);
74-
}
71+
final var requestBody = getRequestBody(webHookUrl, alarmMessage, template);
72+
try {
73+
post(URI.create(webHookUrl.getUrl()), requestBody, Map.of());
74+
} catch (Exception e) {
75+
log.error("Failed to send alarm message to Feishu: {}", webHookUrl.getUrl(), e);
7576
}
7677
}
7778
}

oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/pagerduty/PagerDutyHookCallback.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,17 @@ protected void doAlarmCallback(List<AlarmMessage> alarmMessages, boolean isRecov
5959
messages)) {
6060
continue;
6161
}
62+
String template = getTemplate(isRecovery, setting);
63+
if (StringUtil.isBlank(template)) {
64+
continue;
65+
}
6266
for (final var integrationKey : setting.getIntegrationKeys()) {
6367
for (final var alarmMessage : messages) {
6468
try {
65-
String template = getTemplate(isRecovery, setting);
66-
if (StringUtil.isNotBlank(template)) {
67-
post(
68-
URI.create(PAGER_DUTY_EVENTS_API_V2_URL),
69-
getMessageBody(alarmMessage, integrationKey, template), Map.of()
70-
);
71-
}
69+
post(
70+
URI.create(PAGER_DUTY_EVENTS_API_V2_URL),
71+
getMessageBody(alarmMessage, integrationKey, template), Map.of()
72+
);
7273
} catch (Exception e) {
7374
log.error("Failed to send alarm message to PagerDuty: {}", integrationKey, e);
7475
}

oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,15 @@ public void doAlarmCallback(List<AlarmMessage> alarmMessages, boolean isRecovery
6060
messages)) {
6161
continue;
6262
}
63-
63+
String template = getTemplate(setting, isRecovery);
64+
if (StringUtil.isBlank(template)) {
65+
continue;
66+
}
6467
for (final var url : setting.getWebhooks()) {
6568
final var jsonObject = new JsonObject();
6669
final var jsonElements = new JsonArray();
6770
for (AlarmMessage item : messages) {
68-
String template = getTemplate(setting, isRecovery);
69-
if (StringUtil.isNotBlank(template)) {
70-
jsonElements.add(GSON.fromJson(String.format(template, item.getAlarmMessage()), JsonObject.class));
71-
}
71+
jsonElements.add(GSON.fromJson(String.format(template, item.getAlarmMessage()), JsonObject.class));
7272
}
7373
jsonObject.add("blocks", jsonElements);
7474
final var body = GSON.toJson(jsonObject);

oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/wechat/WechatHookCallback.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,17 @@ public void doAlarmCallback(List<AlarmMessage> alarmMessages, boolean isRecovery
5454
if (setting == null || CollectionUtils.isEmpty(setting.getWebhooks()) || CollectionUtils.isEmpty(messages)) {
5555
continue;
5656
}
57+
String template = getTemplate(setting, isRecovery);
58+
if (StringUtil.isBlank(template)) {
59+
continue;
60+
}
5761
for (final var url : setting.getWebhooks()) {
5862
for (final var alarmMessage : messages) {
59-
String template = getTemplate(setting, isRecovery);
60-
if (StringUtil.isNotBlank(template)) {
61-
final var requestBody = String.format(template, alarmMessage.getAlarmMessage());
62-
try {
63-
post(URI.create(url), requestBody, Map.of());
64-
} catch (Exception e) {
65-
log.error("Failed to send alarm message to Wechat webhook: {}", url, e);
66-
}
63+
final var requestBody = String.format(template, alarmMessage.getAlarmMessage());
64+
try {
65+
post(URI.create(url), requestBody, Map.of());
66+
} catch (Exception e) {
67+
log.error("Failed to send alarm message to Wechat webhook: {}", url, e);
6768
}
6869
}
6970
}

oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/welink/WeLinkHookCallback.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,15 @@ public void doAlarmCallback(List<AlarmMessage> alarmMessages, boolean isRecovery
6969
messages)) {
7070
continue;
7171
}
72+
String template = getTemplate(setting, isRecovery);
73+
if (StringUtil.isBlank(template)) {
74+
continue;
75+
}
7276
for (final var webHookUrl : setting.getWebhooks()) {
7377
final var accessToken = getAccessToken(webHookUrl);
7478
for (final var alarmMessage : messages) {
75-
String template = getTemplate(setting, isRecovery);
76-
if (StringUtil.isNotBlank(template)) {
77-
final var content = String.format(template, alarmMessage.getAlarmMessage());
78-
sendAlarmMessage(webHookUrl, accessToken, content);
79-
}
79+
final var content = String.format(template, alarmMessage.getAlarmMessage());
80+
sendAlarmMessage(webHookUrl, accessToken, content);
8081
}
8182
}
8283
}

0 commit comments

Comments
 (0)