Slack 라는 업무용 메신저를 회사 동료가 알려줘서 우선 기존 모니터링 SMS 발송 부분을 Slack 으로 부분적으로 대체 해보기로 했다.
JAVA Client API로는 여러가지가 있고, 메시지 발송용으로는 아래 두가지 아무거나 사용하면 될 것 같다.
(https://api.slack.com/community)
SimpleSlackAPI - https://github.com/Ullink/simple-slack-api
SlackSDK - https://github.com/estebanwasinger/slack-sdk
SimpleSlackAPI 의 경우는 본인 계정 Token 기반으로만 글을 남길 수 있고, 내용 이외에 스타일 구조 메시지를 넣을 수 있다.(제목, 들여 쓰기 내용 등)
SlackSDK 의 경우는 본인 계정 Token 기반으로는 인증 하되 전송자명, 전송자 이미지를 수동으로 조정 가능하다.
각각 단순 셈플링시의 차이점이며 자세한 API는 아직 잘 모름!!
하지만 이정도만 해도 현재로서는 충분함!!
[SimpleSlackAPI]
package com.ullink.slack; import org.junit.Test; import com.ullink.slack.simpleslackapi.SlackAttachment; import com.ullink.slack.simpleslackapi.SlackChannel; import com.ullink.slack.simpleslackapi.SlackSession; import com.ullink.slack.simpleslackapi.impl.SlackChannelImpl; import com.ullink.slack.simpleslackapi.impl.SlackSessionFactory; public class SlasckTest { @Test public void create() { final SlackSession session = SlackSessionFactory.createWebSocketSlackSession("개인 계정 Token 문자열"); SlackChannel channel = new SlackChannelImpl("#cms-batch", null, null, null); session.sendMessage(channel, "내용이여", new SlackAttachment("title", "fallback", "text", "pretext")); } }
[SlackSDK]
package msg.test; import org.junit.Test; import org.stevew.SlackClient; public class SlackTest { @Test public void create1() { SlackClient sc = new SlackClient("개인 계정 Token 문자열"); sc.sendMessage("내용이여", "#channel-name", "전송자명(쓰는대로 됨)", "http://../logo.png"); } }