Skip to content
Spring Boot + Java Integration for Symphony Chat Platform Bots and Apps
Java HTML JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

BuildStatus Version Coverage License Maven Central

What This Is

This project is a set of libraries aimed at facilitating creating Bots and Apps for the Symphony Chat Platform using Java and Spring Boot.

This project contains the following:

  • Symphony Java Client Bindings
  • Symphony Java Client Identity
  • Symphony API Spring-Boot Starter
  • Symphony App Spring-Boot Starter
  • Demo App
  • Demo Bot
  • Tutorials for getting started

Read further to see what each of these includes.

Symphony Java Client Bindings

This provides a JAX-RS standard, Type-Safe means of interacting with Symphony pods via REST apis.

symphony-java-client-bindings is a set of swagger-generated domain objects and interfaces that provide a Java API for interacting with Symphony's REST endpoints.

This is used in preference to Symphony's own API as the configuration can be left to spring boot, and you can use Spring's starters for JAX-RS to build your application.

View The Readme

Symphony Java Client Identity

symphony-java-client-identity provides a single abstraction of SymphonyIdentity, which encapsulates the data needed to authenticate with a symphony server. That is:

  • Private Key
  • Certificates
  • Common Name
  • Email Address

This is a highly convenient abstraction which works with Spring Boot's use of Jackson and YAML to describe Bot and App identities in Java.

View The Readme

Symphony API Spring Boot Starter

Provides Spring-Based configuration and auto-wiring for Symphony APIs. This is perfect if you are building a Symphony Bot using Spring Boot.

Symphony App Spring Boot Starter

If you are building a Symphony App, there are multiple concerns around app security, networking, describing your application and handling user authentication.

This provides you with an out-of-the-box way to get started and build an app with all of these concerns taken care of.


This project is licensed under the Apache 2.0 License.

Releasing This Project (For Maintainers)

In order to do a release:

  1. On Releaser's machine:
mvn versions:set -DnewVersion=<our breaking change no>.<symphony-api-version>.<your-release-no> -DartifactId=*  -DgroupId=*
mvn -pl '!demos/demo-bot,!demos/demo-app' clean test source:jar javadoc:javadoc deploy 
mvn versions:set -DnewVersion=<our breaking change no>.<symphony-api-version>.<your-release-no+1>-SNAPSHOT -DartifactId=*  -DgroupId=*
# then push to git
  1. In Bintray:

Jcenter release is performed automatically. To release to maven central: Enter details and click sync.

You can’t perform that action at this time.