Java clients generated using the OpenAPI specification for the Unblu collaboration server.

URLs

Do you want to improve this page? Please edit it on GitHub.

Description

The OpenAPI specification which leads the generation of the source file can be found at the root of the repository: openapi.yaml

Models v4

This project contains java classes corresponding to the JSON Schemas used as request body or response body in the Web-API’s endpoints and as body of the Webhook events.

The model library can be used with different clients such as the Jersey 3.x.x client v4

Listing 1. Maven coordinates of the 'Models v4' project (xml notation)
<dependency>
  <groupId>com.unblu.openapi</groupId>
  <artifactId>models-v4</artifactId>
  <version>8.0.1</version>
</dependency>
Listing 2. Maven coordinates of the 'Models v4' project (single line notation)
com.unblu.openapi:models-v4:8.0.1

Jersey Client v4

This project contains a client to perform HTTP request against the Web-API of the collaboration server.

This is based on the jersey project, version 3.x.x. It requires the model v4 library

It requires Java 11 to run.

It is compatible with Spring 6 / Spring Boot 3 / Quarkus 3.

Listing 3. Maven coordinates of the 'Jersey Client v4' project (xml notation)
<dependency>
  <groupId>com.unblu.openapi</groupId>
  <artifactId>jersey3-client-v4</artifactId>
  <version>8.0.1</version>
</dependency>
Listing 4. Maven coordinates of the 'Jersey Client v4' project (single line notation)
com.unblu.openapi:jersey3-client-v4:8.0.1

Download

The artifacts are hosted on maven central.

Build

This project is using gradle.

Command to build the sources locally:

./gradlew build

Command to deploy to your local maven repository:

./gradlew publishToMavenLocal

Command to build the documentation page:

./gradlew asciidoctor

The output of this command is an HTML page located at <git repo root>/build/docs/html5/index.html.

For project maintainers

signing.gnupg.keyName and signing.gnupg.passphrase are expected to be set in your local gradle.properties file to be able to sign. sonatypeUser and sonatypePassword are expected to be set in order to be able to publish to a distant repository.

Command to build and publish the result to maven central:

./gradlew publishToSonatype

Command to upload the documentation page on GitHub pages:

./gradlew gitPublishPush

Command to perform a release:

./gradlew release -Prelease.useAutomaticVersion=true

Using ssh-agent

Some tasks requires to push into the distant git repository (release task or updating the gh-pages branch). If they are failing with errors like this:

org.eclipse.jgit.api.errors.TransportException: ... Permission denied (publickey).

Then ssh-agent can be used.

eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa

(source for this approach)

Get in touch

Use the Unblu OpenAPI issue tracker on GitHub.

License