Slack SDK for Java
Slack SDK for Java supports all public Slack platform functionality in a Java idiomatic way. The SDK is completely written in Java, so that developers can use this SDK in any JVM language, including Kotlin, Groovy, and Scala without any hurdles.
The SDK offers two different modules depending on what platform features you intend to use:
If what you want to do is call Slack APIs in your existing services, we recommend using only the Slack API Client. If instead, you’re developing a new modern and interactive Slack app, we recommend Bolt for it. The framework enables developers to focus on the essential parts of their apps without being bothered by trifles.
The table below shows all the available modules. All of them have the same latest version as we release all at the same time, even in the case that some don’t have any changes apart from updates on their dependency side.
All released versions are available on the Maven Central repositories. The latest version is 1.0.3.
||This is a collection of the classes representing the Slack core objects such as conversations, messages, users, blocks, and surfaces. As this is an essential part of the SDK, all other modules depend on this.
||This is a collection of the Slack API clients. The supported are Basic API Methods, RTM (Real Time Messaging) API, SCIM API, Audit Logs API, and Status API.
||This module is a set of Slack app server-side handlers and data classes for Events API, Interactive Components, Slash Commands, Actions, and OAuth flow. These are used by Bolt framework as the foundation of it in primitive layers.
||Bolt is a framework that offers an abstraction layer to build Slack apps with full platform features.
||This is an adapter for Servlet environments.
||This module offers a handy way to run Bolt apps on the Jetty HTTP server.
||This module offers a handy way to run Bolt apps on AWS API Gateway + Lambda.
||This is an adapter for Micronaut to run Bolt apps on top of it.
||This is an adapter for Helidon SE to run Bolt apps on top of it.
The SDK supports OpenJDK 8 and higher LTS versions.
Users can expect every single patch release has been done after verifying functionality by running the basic CI builds with all LTS versions and all the unit tests have passed at least on the latest LTS version. We don’t run comprehensive verifications with all OpenJDK distributions but it should be working with all of them.
If you get stuck, we’re here to help. The following are the best ways to get assistance working through your issue: