From d389b737a92b3c08e468aad77a69cfec5d7ba8ad Mon Sep 17 00:00:00 2001 From: softmoca Date: Thu, 18 Jul 2024 20:53:20 +0900 Subject: [PATCH 1/2] test : slack webhooks --- build.gradle | 3 +-- .../controller/UniversityDataController.java | 21 ++++++++++++++++++- .../service/UniversityDataService.java | 11 ++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 5b17ca6..203a1fa 100644 --- a/build.gradle +++ b/build.gradle @@ -36,10 +36,9 @@ dependencies { implementation 'org.json:json:20210307' // Slack API 라이브러리 버전 일치 - implementation 'com.slack.api:slack-app-backend:1.30.0' - implementation 'com.slack.api:slack-api-model:1.30.0' implementation 'com.slack.api:slack-api-client:1.30.0' + implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5' implementation group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5' implementation group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5' diff --git a/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java b/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java index 8fcda99..af2a4a1 100644 --- a/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java +++ b/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java @@ -1,6 +1,10 @@ package sopt.univoice.domain.universityData.controller; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.slack.api.Slack; +import com.slack.api.webhook.WebhookResponse; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -9,18 +13,33 @@ import sopt.univoice.infra.common.dto.SuccessMessage; import sopt.univoice.infra.common.dto.SuccessStatusResponse; +import java.io.IOException; import java.util.List; +@Slf4j @RestController @RequestMapping("/api/v1/universityData") @RequiredArgsConstructor public class UniversityDataController { private final UniversityDataService universityDataService; - + private final ObjectMapper objectMapper; + final String WEBHOOK_URL = "https://hooks.slack.com/services/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"; @PostMapping("/university") public ResponseEntity>> getAllUniversityNames() { List universityNames = universityDataService.getAllUniversityNames(); + + Slack slack = Slack.getInstance(); + String payload = "{\"text\":\"슬랙 메시지 테스트입니다.\"}"; + try { + WebhookResponse response = slack.send(WEBHOOK_URL, payload); + System.out.println(response); + } catch (IOException e) { + log.error("slack 메시지 발송 중 문제가 발생했습니다.", e.toString()); + throw new RuntimeException(e); + } + + return ResponseEntity.status(HttpStatus.OK) .body(SuccessStatusResponse.of(SuccessMessage.UNIVERSITY_GET_SUCCESS, universityNames)); } diff --git a/src/main/java/sopt/univoice/domain/universityData/service/UniversityDataService.java b/src/main/java/sopt/univoice/domain/universityData/service/UniversityDataService.java index a90e263..05e3d85 100644 --- a/src/main/java/sopt/univoice/domain/universityData/service/UniversityDataService.java +++ b/src/main/java/sopt/univoice/domain/universityData/service/UniversityDataService.java @@ -19,6 +19,17 @@ public class UniversityDataService { public List getAllUniversityNames() { List universities = universityDataRepository.findAll(); + final String WEBHOOK_URL = "https://hooks.slack.com/services/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"; + + + + + + + + + + return universities.stream() .map(University::getUniversityName) .collect(Collectors.toList()); From 600dd6a02168a0e16c81177bd0111164f6c70b60 Mon Sep 17 00:00:00 2001 From: softmoca Date: Thu, 18 Jul 2024 21:07:15 +0900 Subject: [PATCH 2/2] test : slack webhooks --- .../universityData/controller/UniversityDataController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java b/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java index af2a4a1..9aa2f4d 100644 --- a/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java +++ b/src/main/java/sopt/univoice/domain/universityData/controller/UniversityDataController.java @@ -24,7 +24,9 @@ public class UniversityDataController { private final UniversityDataService universityDataService; private final ObjectMapper objectMapper; - final String WEBHOOK_URL = "https://hooks.slack.com/services/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"; + final String WEBHOOK_URL = "https://hooks.slack.com/services/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"; + + @PostMapping("/university") public ResponseEntity>> getAllUniversityNames() { List universityNames = universityDataService.getAllUniversityNames();