Need help with zally?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

zalando
642 Stars 113 Forks MIT License 2.7K Commits 46 Opened issues

Description

A minimalistic, simple-to-use API linter

Services available

!
?

Need anything else?

Contributors list

Zally: A minimalistic, simple-to-use OpenAPI 2 and 3 linter

Build Status Codacy Badge Join the chat at https://gitter.im/zalando/zally

Zally is a quality assurance tool. It's a linter for OpenAPI specifications, which:

  • Increases the quality of APIs
  • Checks compliance
  • Delivers early feedback for API designers
  • Ensures the same look-and-feel of APIs
  • Supports API-First approach
  • Provides best practices and advices

Its standard configuration will check your APIs against the rules defined in Zalando's RESTful Guidelines, but anyone can use it out-of-the-box.

Zally's easy-to-use CLI uses the server in the background so that you can check your API on the spot. It also features an intuitive Web UI that shows implemented rules and lints external files and (with its online editor) API definitions.

Features

  • Support for OpenAPI 3 and (Swagger) OpenAPI 2 specifications
  • RESTful API, CLI and Web interface
  • Rich Check configuration
  • Ignore functionality (
    x-zally-ignore
    extension)
  • Java/Kotlin API for new Checks + helper functions

Quick start guide

Trying out Zally is easy. You can build and run the whole Zally stack (web-ui, server and database) by executing:

./build-and-run.sh

Web UI is accessible on

http://localhost:8080
; Zally server on
http://localhost:8000

Documentation and Manuals

Please consult the following documents for more information:

Integrations

Contributing

Zally welcomes contributions from the open source community. To get started, take a look at our contributing guidelines. Then check our Project Board and Issues Tracker for ideas.

Contact

Feel free to join our Gitter room or contact one of the maintainers directly.

Alternatives

Zally is not the only linter for OpenAPI v2 and v3. There is an article comparing different OpenAPI linters.

So why should you choose Zally? - It supports Zalando's RESTful Guidelines - It can be used in multiple ways: RESTful API, CLI and Web interface - Highly customizable (with Kotlin)

License

MIT license with an exception. See license file.

Publish

Prerequisites

Steps

  1. Create a separate branch with a name
    release-
    .
  2. Update current version in
    server/gradle.properties
    from
    -SNAPSHOT
    to a final version.
  3. Update mime types configuration:
    shell
      ./gradlew -q generate-media-types-config --info
    
  4. Commit the updated file to the repository.
  5. Release Zally server and API using the command
    cd server
    ./gradlew clean build publishAllPublicationsToMavenRepository
    
  6. Commit
    server/gradle.properties
    with the release version
  7. Create a tag
    shell script
    git tag v -m "Version "
    
    8. Bump version in
    server/gradle.properties
    to the next
    -SNAPSHOT
  1. Push
    release
    branch and tag
    shell script
    git push origin
    git push origin 
    
    10. Create a Pull Request with the version update 11. Create and publish a release with a new version in GitHub

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.