Slack SDK pour Java prend en charge la plateforme Slack d'une manière idiomatique Java. Le SDK écrit en Java afin que les développeurs puissent l'utiliser dans n'importe quel langage JVM, notamment Kotlin, Groovy et Scala.
Au sein du SDK, il existe deux modules différents :
Si vous souhaitez appeler des API Slack dans vos services existants, nous vous recommandons d'utiliser uniquement le client API Slack . Si, au contraire, vous développez une nouvelle application Slack moderne et interactive, nous vous recommandons Bolt . Le framework permet aux développeurs de se concentrer sur les parties essentielles de leurs applications sans être dérangés par des bagatelles.
Bolt for Java est un framework sur JVM qui offre une couche d'abstraction pour créer rapidement des applications Slack à l'aide des fonctionnalités de plate-forme moderne. Reportez-vous à Premiers pas avec Bolt pour des instructions détaillées.
package hello ;
import com . slack . api . bolt . App ;
import com . slack . api . bolt . jetty . SlackAppServer ;
public class MyApp {
public static void main ( String [] args ) throws Exception {
// App expects env variables (SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET)
App app = new App ();
app . command ( "/hello" , ( req , ctx ) -> {
return ctx . ack ( ":wave: Hello!" );
});
SlackAppServer server = new SlackAppServer ( app );
server . start (); // http://localhost:3000/slack/events
}
}
Pour les applications compatibles avec le mode Socket, Premiers pas avec Bolt (mode Socket) est disponible.
package hello ;
import com . slack . api . bolt . App ;
import com . slack . api . bolt . socket_mode . SocketModeApp ;
public class MyApp {
public static void main ( String [] args ) throws Exception {
// App expects an env variable: SLACK_BOT_TOKEN
App app = new App ();
app . command ( "/hello" , ( req , ctx ) -> {
return ctx . ack ( ":wave: Hello!" );
});
// SocketModeApp expects an env variable: SLACK_APP_TOKEN
new SocketModeApp ( app ). start ();
}
}
slack-api-client contient des clients HTTP simples, faciles à utiliser et configurables de manière flexible pour envoyer des requêtes aux API Slack. Reportez-vous aux principes de base du client API pour plus de détails.
import com . slack . api . Slack ;
import com . slack . api . methods . response . chat . ChatPostMessageResponse ;
Slack slack = Slack . getInstance ();
String token = System . getenv ( "SLACK_TOKEN" );
ChatPostMessageResponse response = slack . methods ( token ). chatPostMessage ( req -> req
. channel ( "C1234567" ) // Channel ID
. text ( ":wave: Hi from a bot written in Java!" ));
Le tableau ci-dessous présente tous les modules disponibles dans le SDK Slack Java. Tous ont la même dernière version que celle que nous publions en même temps, même dans le cas où certains n'ont aucune modification en dehors des mises à jour du côté des dépendances.
Toutes les versions publiées sont disponibles sur les référentiels Maven Central. La dernière version est :
ID de groupe : ID d'artefact | Description |
---|---|
com.slack.api:boulon | Bolt est un framework qui offre une couche d'abstraction pour créer des applications Slack en toute sécurité et rapidement. L'environnement Servlet le plus couramment utilisé est pris en charge immédiatement. |
com.slack.api:bolt-socket-mode | Ce module offre un moyen pratique d'exécuter des applications Bolt via des connexions en mode Socket. |
com.slack.api:bolt-jetty | Ce module offre un moyen pratique d'exécuter des applications Bolt sur le serveur HTTP Jetty compatible Java EE (9.x). |
com.slack.api:bolt-jakarta-jetty | Ce module offre un moyen pratique d'exécuter des applications Bolt sur le serveur HTTP Jetty compatible Jakarta EE. |
com.slack.api:bolt-aws-lambda | Ce module offre un moyen pratique d'exécuter des applications Bolt sur AWS API Gateway + Lambda. |
com.slack.api:bolt-google-cloud-functions | Ce module offre un moyen pratique d'exécuter des applications Bolt sur Google Cloud Functions. |
com.slack.api:bolt-micronaut | Il s'agit d'un adaptateur permettant à Micronaut d'exécuter des applications Bolt par-dessus. |
com.slack.api:bolt-helidon | Il s'agit d'un adaptateur permettant à Helidon SE d'exécuter des applications Bolt par-dessus. |
com.slack.api:bolt-http4k | Il s'agit d'un adaptateur pour http4k permettant d'exécuter des applications Bolt sur l'un des multiples backends de serveur pris en charge par la bibliothèque. |
com.slack.api:bolt-ktor | Il s'agit d'un adaptateur permettant à Ktor d'exécuter des applications Bolt par-dessus. |
ID de groupe : ID d'artefact | Description |
---|---|
com.slack.api:slack-api-modèle | Il s'agit d'une collection de classes représentant les objets principaux de Slack tels que les conversations, les messages, les utilisateurs, les blocs et les surfaces. Comme il s’agit d’une partie essentielle du SDK, tous les autres modules en dépendent. |
com.slack.api:slack-api-model-kotlin-extension | Celui-ci contient le générateur Block Kit Kotlin DSL, qui vous permet de définir des structures de kit de blocs via un DSL natif Kotlin. |
com.slack.api:slack-api-client | Il s'agit d'une collection de clients API Slack. Les méthodes prises en charge sont les méthodes API de base, le mode Socket, l'API RTM (messages en temps réel), l'API SCIM, l'API des journaux d'audit et l'API d'état. |
com.slack.api:slack-api-client-kotlin-extension | Celui-ci contient des méthodes d'extension pour divers générateurs de messages clients Slack afin que vous puissiez utiliser de manière transparente le Block Kit Kotlin DSL directement sur les générateurs de messages Java. |
com.slack.api:slack-app-backend | Ce module est un ensemble de gestionnaires et de classes de données côté serveur d'application Slack pour l'API d'événements, les composants interactifs, les commandes Slash, les actions et le flux OAuth. Ceux-ci sont utilisés par le framework Bolt comme base dans les couches primitives. |
Le SDK prend en charge OpenJDK 8 et les versions LTS supérieures .
Les utilisateurs peuvent s'attendre à ce que chaque version de correctif ait été effectuée après avoir vérifié la fonctionnalité en exécutant les versions de base de CI avec toutes les versions LTS et que tous les tests unitaires ont réussi au moins sur la dernière version LTS. Nous n'effectuons pas de vérifications complètes avec toutes les distributions OpenJDK, mais cela devrait fonctionner avec toutes.
Si vous êtes bloqué, nous sommes là pour vous aider. Voici les meilleures façons d’obtenir de l’aide pour résoudre votre problème :
Le projet jSlack a été transféré vers @slackapi. Les versions de maintenance de jSlack pour les problèmes de sécurité ou les corrections de bugs majeurs se poursuivront sur https://github.com/seratch/jslack-maintenance-releases.
Nous apprécions les contributions de tout le monde ! Veuillez consulter notre Guide du contributeur pour savoir comment contribuer de manière utile et collaborative.