GitHub Action
Generate Client Library w/ the OpenAPITools Generator
Generate a client library from an OpenAPI document using the OpenAPITools Generator
The generator you wish to use (i.e. the language you want to generate a client library for). See the official list of supported languages/generators and the openapi-generator repo for more info.
The path to the config file to be used with openapi-generator
. Paths that do not start with /
are assumed to be relative to the root of the repository.
For information on what can be configured, see the page on customization in the repo.
The path to the OpenAPI document (both JSON and YAML are supported). Defaults to "openapi.json" (i.e. a file in the current directory called openapi.json). Paths that do not start with /
are assumed to be relative to the root of the repository.
The URL to load the OpenAPI document from. If set, openapi-file
will be ignored.
The Docker repository uses as source for docker-image
. Defaults to docker.io
.
The Docker image used by the generator. Defaults to openapitools/openapi-generator-cli
.
The Docker tag of the openapitools/openapi-generator-cli image to use. See the DockerHub repo for available tags.
The path to the folder containing the template files. Paths that do not start with /
are assumed to be relative to the root of the repository.
See user-defined templates via options.
Additional arguments to pass through to the generate command.
No outputs are returned. The generated client is placed in the current directory. The name of the package (unless configured differently) will be generator-name-client
where "generator-name" is (unsurprisingly) the name of the generator used to generate the client.
jobs:
generate-angular-client:
runs-on: ubuntu-latest
name: Example
steps:
# Checkout your code
- name: Checkout
uses: actions/checkout@v2
# Generate your OpenAPI document (if you don't write it manually)
# Use the action to generate a client package
# This uses the default path for the openapi document and thus assumes there is an openapi.json in the current workspace.
- name: Generate Angular Client
uses: openapi-generators/openapitools-generator-action@v1
with:
generator: typescript-angular
config-file: angular-generator-config.yml
# Do something with the generated client (likely publishing it somewhere)
- name: Do something with the client
run: |
cd typescript-angular-client
jobs:
generate-angular-client:
runs-on: ubuntu-latest
name: Example
steps:
# Checkout your code
- name: Checkout
uses: actions/checkout@v2
# Generate your OpenAPI document (if you don't write it manually)
# Use the action to generate a client package
# This uses the default path for the openapi document and thus assumes there is an openapi.json in the current workspace.
- name: Generate Angular Client
uses: openapi-generators/openapitools-generator-action@v1
with:
generator: typescript-angular
config-file: angular-generator-config.yml
template-dir: templates/typescript-angular
# Do something with the generated client (likely publishing it somewhere)
- name: Do something with the client
run: |
cd typescript-angular-client