/symphony-bdk-java

The Symphony BDK (Bot Developer Kit) for Java helps you to create production-grade Chat Bots and Extension Applications on top of the Symphony REST APIs.

Primary LanguageJavaApache License 2.0Apache-2.0

FINOS - Incubating License Maven Central javadoc

Symphony BDK for Java

The official Symphony BDK for Java helps you to create production-grade Chat Bots and Extension Applications on top of the Symphony REST APIs.

Installation and Getting Started

The reference documentation includes detailed installation instructions as well as a comprehensive getting started guide.

Here is a quick teaser of a complete Symphony BDK application in Java:

public class BotApplication {
    
    public static void main(String[] args) {
      
        final SymphonyBdk bdk = new SymphonyBdk(BdkConfigLoader.loadFromSymphonyDir("config.yaml"));
      
        bdk.activities().register(slash("/hello", context -> {
            bdk.messages().send(context.getStreamId(), "<messageML>Hello, World!</messageML>");
        }));
        
        bdk.datafeed().start();
    }
}

Build from Source

The Symphony BDK uses a Gradle build. The instructions below use the Gradle Wrapper from the root of the source tree. The wrapper script serves as a cross-platform, self-contained bootstrap mechanism for the build system.

Before you start

To build you will need Git and JDK 8 or later. Be sure that your JAVA_HOME environment variable points to the jdk1.8+ folder extracted from the JDK download.

Build from the Command Line

To compile, test and build all BDK2.0 jars, use:

./gradlew

To compile, test and build legacy jars:

git checkout legacy
./gradlew

Legacy modules (SDK and BDK 1.0) have been moved to the legacy branch

Install in local Maven repository

To install all Symphony BDK jars in your local Maven repository, use:

./gradlew publishToMavenLocal

Contributing

In order to get in touch with the project team, please open a GitHub Issue. Alternatively, you can email/subscribe to symphony@finos.org.

  1. Fork it (https://github.com/finos/symphony-bdk-java/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org

License

Copyright 2021 Symphony LLC

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0