Zally: A minimalistic, simple-to-use OpenAPI 2 and 3 linter
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.
- Support for OpenAPI 3 and (Swagger) OpenAPI 2 specifications
- RESTful API, CLI and Web interface
- Rich Check configuration
- Ignore functionality (
- 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:
Web UI is accessible on
http://localhost:8080; Zally server on
Documentation and Manuals
Please consult the following documents for more information:
- Zally Concepts
- How to operate Zally tools
- How to use Zally
- How to develop new Rules
- Building Under Windows Subsystem for Linux
For Zally version 1.5, we're focusing on:
- Improve extensibility of Zally
- Plugin mechanism for Rules (Sets)
- Utilities and helper functions for Check development
- Improve quality by introducing a better testing approach for integration tests
- Make the usage of Zally easier by providing high-quality documentation for
- End users
- Check developers
- Operators and administrators
If you have ideas for these items, please let us know.
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)
MIT license with an exception. See license file.
- Signing plugin configured
OSSRH_JIRA_PASSWORDenvironment variables to access Maven Central Repo are configured
Create a separate branch with a name
Update current version in
-SNAPSHOTto a final version.
Release Zally server and API using the command
cd server ./gradlew clean build publishAllPublicationsToMavenRepository
server/gradle.propertieswith the release version
Create a tag
git tag v<release-version> -m "Version <release-version>"
Bump version in
server/gradle.propertiesto the next
releasebranch and tag
git push origin git push origin <tag-name>
Create a Pull Request with the version update
Create and publish a release with a new version in GitHub