From 30221e833950ca673680e47d13e9ae7deab7bb52 Mon Sep 17 00:00:00 2001 From: wodeyangzipingpingwuqi Date: Tue, 7 May 2024 16:41:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.0.0):=201=E3=80=81Webhook=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E3=80=81=E5=B7=A5=E4=BD=9C=E6=B5=81=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=AF=86=E9=92=A5=E5=B8=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../snailjob/common/core/alarm/strategy/WebhookAlarm.java | 3 ++- .../snailjob/common/core/constant/SystemConstants.java | 5 +++++ .../support/executor/workflow/CallbackWorkflowExecutor.java | 5 ++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/WebhookAlarm.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/WebhookAlarm.java index 6dbb33a06..7e93663c3 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/WebhookAlarm.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/WebhookAlarm.java @@ -5,6 +5,7 @@ import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.alarm.attribute.WebhookAttribute; +import com.aizuda.snailjob.common.core.constant.SystemConstants; import com.aizuda.snailjob.common.core.enums.AlarmTypeEnum; import com.aizuda.snailjob.common.core.enums.ContentTypeEnum; import com.aizuda.snailjob.common.core.util.JsonUtil; @@ -39,7 +40,7 @@ public class WebhookAlarm extends AbstractAlarm { HttpRequest post = HttpUtil.createPost(webhookAttribute.getWebhookUrl()); HttpRequest request = post.body(JsonUtil.toJsonString(webhookMessage), ContentTypeEnum.valueOf(webhookAttribute.getContentType()).getMediaType().toString()) - .header("secret", webhookAttribute.getSecret()); + .header(SystemConstants.SECRET, webhookAttribute.getSecret()); HttpResponse execute = request.execute(); if (execute.isOk()) { return true; diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/constant/SystemConstants.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/constant/SystemConstants.java index 23a3a6335..dc2117ac4 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/constant/SystemConstants.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/constant/SystemConstants.java @@ -146,4 +146,9 @@ public interface SystemConstants { * 日志类型字段 */ String JSON_FILED_LOG_TYPE = "logType" ; + + /** + * Webhook告警、工作流回调请求密钥 + */ + String SECRET = "secret" ; } diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java index eaf06b358..f7aace45b 100644 --- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/executor/workflow/CallbackWorkflowExecutor.java @@ -44,7 +44,6 @@ import java.util.concurrent.TimeUnit; @RequiredArgsConstructor public class CallbackWorkflowExecutor extends AbstractWorkflowExecutor { - private static final String SECRET = "secret"; private static final String CALLBACK_TIMEOUT = "10"; private final RestTemplate restTemplate; private final JobTaskMapper jobTaskMapper; @@ -87,7 +86,7 @@ public class CallbackWorkflowExecutor extends AbstractWorkflowExecutor { String result = null; HttpHeaders requestHeaders = new HttpHeaders(); - requestHeaders.set(SECRET, decisionConfig.getSecret()); + requestHeaders.set(SystemConstants.SECRET, decisionConfig.getSecret()); requestHeaders.setContentType(ContentTypeEnum.valueOf(decisionConfig.getContentType()).getMediaType()); // 设置回调超时时间 requestHeaders.set(RequestInterceptor.TIMEOUT_TIME, CALLBACK_TIMEOUT); @@ -101,7 +100,7 @@ public class CallbackWorkflowExecutor extends AbstractWorkflowExecutor { try { Map uriVariables = new HashMap<>(); - uriVariables.put(SECRET, decisionConfig.getSecret()); + uriVariables.put(SystemConstants.SECRET, decisionConfig.getSecret()); ResponseEntity response = buildRetryer(decisionConfig).call( () -> restTemplate.exchange(decisionConfig.getWebhook(), HttpMethod.POST,