Skip to content

aensley/semantic-release-openapi

Repository files navigation

semantic-release-openapi

npm npm types license JavaScript Style Guide code style: prettier

ci Maintainability Test Coverage npm downloads

A Semantic Release plugin to update versions in OpenAPI specifications.

Installation

This module is distributed via npm and should be installed as one of your project's devDependencies:

npm install --save-dev @aensley/semantic-release-openapi

Usage

Plugin Config

This plugin has one configuration option which must be supplied.

  • apiSpecFiles: An array of OpenAPI specification file paths. Glob patterns (e.g. '*.yaml') are supported.

    All matching files must have a .json, .yaml, or .yml extension.

Committing Changes

IMPORTANT: Semantic Release will not commit changes to your OpenAPI spec files unless you add the same files in assets for the @semantic-release/git plugin! See the example below.

Example

{
  "release": {
    "plugins": [
      [
        "@aensley/semantic-release-openapi",
        {
          "apiSpecFiles": ["openapi.yaml", "src/swagger-*.json"]
        }
      ],
      [
        "@semantic-release/git",
        {
          "assets": ["package.json", "openapi.yaml", "src/swagger-*.json"]
        }
      ]
    ]
  }
}

About

A Semantic Release plugin to update versions in OpenAPI specifications

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published