ETC
java slack api 예시 (webhookurl 사용)
무대포 개발자
2020. 9. 18. 19:53
728x90
반응형
slack api java source 설명
- 여기서 주의할 점은 webhookUrl 은 본인 slack 의 WebBookUrl 을 적어줘야 한다.
- 본인 WebBookUrl 확인하는 법은 slack api --> Incoming Webhooks 에 들어가면 아래 쪽에 webhookurl 이 있다.
import org.junit.Test;
public class SlackUtilsTest {
@Test
public void sendTest() {
SlackUtils.send("Hello World");
}
}
import com.slack.api.Slack;
import com.slack.api.webhook.Payload;
import com.slack.api.webhook.WebhookResponse;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
@Slf4j
public class SlackUtils {
public static WebhookResponse send(String text) {
try {
WebhookResponse response = null;
Slack slack = Slack.getInstance();
String webhookUrl = "https://hooks.slack.com/services/test"; // 본인 webhookurl 로 변경
Payload payload = Payload.builder().text(text).build();
response = slack.send(webhookUrl, payload);
return response;
} catch (IOException e) {
log.error(e.getMessage(), e);
throw new RuntimeException(e);
}
}
}
진행하면서 에러 발생
- NoSuchMethodError 가 발생했는데 아래의 내용을 build.gradle 에 추가
compile group: 'com.slack.api', name: 'slack-api-client', version: '1.1.3'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
compile group: 'com.slack.api', name: 'slack-api-model', version: '1.1.3'
compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.8.1'
channel 로 공지하는 방법
- < channel > 로 메시지를 입력하면 slack 에서 인식 못함.
< !channel >이렇게 해야 인식 함.