/spotify-web-api

Tools for fixing and improving the official Spotify OpenAPI definition.

Primary LanguageJavaMIT LicenseMIT

Spotify Web API Tools

Build Update OpenAPI definition Validate Open API Maven Central GitHub

This monorepo contains tools for fixing and improving the official Spotify OpenAPI definition. The fixed OpenAPI definition can be found in the fixed-spotify-open-api.yml file.

Modules

Module Description
json-utils Utility classes for JSON/YAML
spotify-web-api-open-api Apply the fixes and improvements to the official OpenAPI definition

Versioning

Unfortunately Spotify does not provide any version information with their Web API reference documentation. Therefore, I do not follow semantic versioning when releasing new versions. Version do follow a schema based on the release date: <year>.<month>.<day> (e.g. a version released on 30th March 2021 will get the version number 2021.3.30).

Disclaimer

Because the documentation are only based on the Spotify Web API Reference, there might be difference to the actual behaviour of the Spotify Web API. Also, neither do I have any connections to Spotify nor am I an employee at Spotify.

How to release a new version

Just start the Release workflow in GitHub Actions or perform the following steps manually

  1. Update the version number with ./mvnw versions:set -DnewVersion="<version>" -DgenerateBackupPoms=false
  2. Run OpenApiGenerator to update the openapi definition with new version
  3. Commit and push changes to GitHub
  4. Wait till CI is green
  5. Tag and push the commit created in step 1. A GitHub actions workflow will automatically deploy the artifacts to Maven Central.