Slack SDK for Java

Slack SDK for Java

Slack SDK for Java は Java らしいアプローチで全ての Slack プラットフォームの公開機能をサポートする公式 SDK です。この SDK は全て Java で書かれており、開発者はこの SDK を Java だけでなく Kotlin、Groovy、Scala といった JVM 言語でも利用できます。

この SDK は大きく分けて主に二種類のモジュールを提供しています。

  • Bolt️ for Java は、最新の Slack アプリをシンプルな API を用いて簡単に開発するためのフレームワークです
  • Slack API クライアント は、より柔軟に Slack アプリを開発したい場合にこれだけを組み込んで使用することができます

モジュール一覧

以下のテーブルは、この Java SDK で現在提供されているモジュールの一覧を示しています。これらのモジュールは、たとえその一部のモジュール自体には変更がなく、依存ライブラリ側の変更しかなかったとしても、すべてのモジュールが必ず同じタイミングでリリースされます。そのため、いかなるタイミングでも、必ず同一の最新バージョンが存在します。

全てのリリースは Maven Central リポジトリで公開されています。最新のバージョンは 1.39.0 です。

Bolt とその標準拡張モジュール

groupId:artifactId 説明
com.slack.api:bolt 📖 Bolt は全ての Slack プラットフォームの公開機能を利用して Slack アプリを開発するためのフレームワークで、特定の環境やフレームワークに依存しない抽象化されたレイヤーを提供します。
com.slack.api:bolt-socket-mode 📖 ソケットモード環境で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-servlet 📖 Java EE Servlet 環境で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-jetty 📖 Bolt で実装された Slack アプリを Java EE 互換 Jetty HTTP サーバー (9.x)で動作させるモジュールです。
com.slack.api:bolt-jakarta-servlet 📖 Jakarta EE Servlet 環境で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-jakarta-jetty 📖 Bolt で実装された Slack アプリを Jakarta EE 互換 Jetty HTTP サーバーで動作させるモジュールです。
com.slack.api:bolt-aws-lambda 📖 Bolt で実装された Slack アプリを AWS API Gateway + Lambda で動作させるためのモジュールです。
com.slack.api:bolt-google-cloud-functions 📖 Bolt で実装された Slack アプリを Google Cloud Functions で動作させるためのモジュールです。
com.slack.api:bolt-micronaut 📖 Micronaut で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-helidon 📖 Helidon SE で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-http4k 📖 http4k で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-ktor 📖 Ktor で Bolt アプリを動作させるためのアダプターを提供するモジュールです。

基盤モジュール

groupId:artifactId Description
com.slack.api:slack-api-model 📖 チャンネル、メッセージ、ユーザー、Block Kit のブロックとそれによって構成されるサーフェスエリアなど Slack の核となるような重要なオブジェクト(英語)を表現するクラス群を提供します。
com.slack.api:slack-api-model-kotlin-extension 📖 Block Kit のデータ構造を Kotlin ネイティブな DSL を使って構築できるビルダーのモジュールを提供します。
com.slack.api:slack-api-client 📖 様々な Slack API クライアントを提供します。サポートされているのは、API メソッド、ソケットモード、RTM API、SCIM API、Audit Logs API、ステータス API です。
com.slack.api:slack-api-client-kotlin-extension 📖 Slack API クライアントのリクエストビルダーのメソッドを拡張することで、Block Kit のデータ構造を構築するための Kotlin ネイティブな DSL を直接利用できるようにするモジュールを提供します。
com.slack.api:slack-app-backend 📖 Slack アプリサーバーサイドで必要となる共通モジュールやペイロードなどのデータ構造を提供します。サポートされているのは、イベント API、インタラクティブコンポーネント、スラッシュコマンド、アクション、そして OAuth フローです。これらの機能はよりプリミティブなレイヤーとして Bolt から利用されています。

動作条件

この SDK は OpenJDK 8 かそれよりも新しい LTS バージョン での動作を保証しています。

全てのパッチリリースが全ての LTS バージョンでの基本的な CI ビルドが実行されており、利用者は最新の LTS バージョンで全てのユニットテストが成功していることを期待することができます。SDK 開発チームは、全ての OpenJDK ディストリビューションでの網羅的な QA テストまでは実施していませんが、問題はまず発生しないはずです。


ヘルプ

何か困ったことがあったら、以下の場所でサポートを受けてみてください。

  • GitHub Issue Tracker にバグや機能要望を報告する(必ず英語でお願いします
  • Slack Developer CommunitySlack SDK for Java の使い方についてヘルプを求めたり、他の開発者たちとつながる