Code๊ฐ๋ฐ์ผ์ง/springboot
[springboot] slack web hook_ ์ฌ๋์นํ ์ง์
Minhhk
2024. 12. 8. 13:19
๐ก ์ฐ์ ์๋ฆผ ๋ฐ์ ์ฑ๋์ ์ฌ๋์ ๋ง๋ค์
๐ก #hooktest ์ฑ๋ ์ฐํด๋ฆญ → ์ฑ๋ ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ
์๋๋ก ๋ด๋ ค ์ด๋ฆ, ์ด๋ฏธ์ง ๋ณ๊ฒฝ!
๐ก SpringBoot ์ฝ๋
import com.slack.api.Slack;
import com.slack.api.webhook.Payload;
import org.springframework.stereotype.Component;
import java.io.IOException;
@Component
public class SlackHttpClient {
public void send(String message) {
try {
Slack instance = Slack.getInstance();
Payload payload = Payload.builder()
.text(message)
.build();
instance.send("SLACK WEB HOOK URL ์
๋ ฅ", payload); // webhook URL
} catch (IOException e) {
throw new RuntimeException(e);
}
}}
SlackHttpClient ๋ง๋ค์ด์ ์ฌ์ฉํ๊ณ ์ถ์ ์ปจํธ๋กค๋ฌ๋ ์๋น์ค๋จ์์ ํธ์ถํด์ ์ฌ์ฉ ํ๋ฉด๋๋ค.
์๋ฆผ ๋ด์ฉ์ String.format ์ด๋ StringBuilder ๋ก ์ฌ์ฉํด์ ์ปค์คํ ํ๊ฒ ์ฌ์ฉํ์.
@RestController
@RequiredArgsConstructor
public class SlackController {
private final SlackHttpClient slackHttpClient;
@GetMapping("/api/slack/alarm")
public String getAlarmTest() {
return slackHttpClient.send("๋ฉ์ธ์ง ๋ด์ฉ");
}
}
→ ์๋ฆผ ํ ์คํธ ๊ฒฐ๊ณผ