Giter Club home page Giter Club logo

bonita-openapi's Introduction

Bonita OpenAPI specification

Actions Status GitHub release GPLv2 License

This project is about describing the Bonita web API in Open API v3 format.

This single yaml file is to become the single source of truth for the Bonita features accessible through HTTP.

Based on this file, one could generate : documentation, client in different language and/or technology, server side stubs, …​

Open API v3

The specification file is written in yaml format because multiline support is much better than in json The specification has a lot of description block and since it is a documentation, it needs to be quite verbose.

The specification file can be found here: openapi/openapi.yaml

We make use of extensions to add better support for some documentation sites (x-logo, x-codeSamples, …​)

This repository structure was inspired by https://github.com/Redocly/create-openapi-repo.

Live Documentation

The api descriptor file can be used to render documentation sites. Those sites have different rendering and may show different parts of the specification file. That’s the reason why it is interesting to test and evaluate different sites and rendering.

You 'll need to install the openapi-cli to be able to work on the specification.

Redoc Preview

A ReDoc site is available at http://localhost:8080 when you run from project directory

npm start

This preview is the preferred one when editing the specification.

Swagger Preview

The docker-compose.yaml file at the project root starts two sites: a swagger-ui site and a Bonita instance to query

To start the container, just issue the following comment at the project root:

docker-compose up -d

You should be able to access:

Note
You can keep on editing the specification file and just refresh the browser to see the changes.

Create a release

A GitHub action is used to automate the release workflow. The workflow is triggered by user action and you need to choose the release type (following semver).

A GitHub release is created with the yaml specification file, the json postman collection and the static documentation zip attached. Release note must be filled manually.

Note
Use patch release if the release content don’t include any breaking changes

After a release

To deploy your newest release on the documentation site, you need to:

  • On rest documentation config, add the released version for each compatible Bonita version.

  • Open a PR and asked for a review.

  • Follow updates on your PR, and also to update openApiLatestVersion: in antora.yml file for each Bonita documentation content corresponding branches.

How to contribute

We would love you to contribute, pull requests are welcome! Have a look to DEV.md guidelines and don’t forget to sign our Contributor Licensing Agreements when opening a pull request. This repository uses Github flow, so pull requests should target the master branch.

When you open a pull request, keep in mind to add labels to help the release-note content writing automatically. Labels available are :

Release note section

Github PR label

New Features 🎉

enhancement

Bug fixes 🛠

bug

Other Changes

*

bonita-openapi's People

Contributors

abirembaut avatar akantcheff avatar baptistemesta avatar benjaminparisel avatar bonita-ci avatar dependabot[bot] avatar dumitrucorini avatar educhastenier avatar jeromecambon avatar rbioteau avatar shmayro avatar uguy avatar vhemery avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bonita-openapi's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.