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.0.8 です。

groupId:artifactId 説明
com.slack.api:bolt 📖 Bolt は全ての Slack プラットフォームの公開機能を利用して Slack アプリを開発するためのフレームワークで、特定の環境やフレームワークに依存しない抽象化されたレイヤーを提供します。
com.slack.api:bolt-servlet 📖 Servlet 環境で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-jetty 📖 Bolt で実装された Slack アプリを Jetty HTTP サーバーで動作させるモジュールです。
com.slack.api:bolt-aws-lambda 📖 Bolt で実装された Slack アプリを AWS API Gateway + Lambda で動作させるためのモジュールです。
com.slack.api:bolt-micronaut 📖 Micronaut で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:bolt-helidon 📖 Helidon SE で Bolt アプリを動作させるためのアダプターを提供するモジュールです。
com.slack.api:slack-api-model 📖 チャンネル、メッセージ、ユーザー、Block Kit のブロックとそれによって構成されるサーフェスエリアなど Slack の核となるような重要なオブジェクト(英語)を表現するクラス群を提供します。
com.slack.api:slack-api-client 📖 様々な Slack API クライアントを提供します。サポートされているのは、API メソッド、RTM API、SCIM API、Audit Logs API、ステータス API です。
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 の使い方についてヘルプを求めたり、他の開発者たちとつながる