Integrating with CI/CD

Learn how to automate the update of your OpenAPI specification in GitBook

GitBook can work with any CI/CD pipeline you already have for managing your OpenAPI specification. By using the GitBook CLI, you can automate updates to your API reference.

Upload a specification file

If your OpenAPI spec is generated during your CI process, you can upload it directly from your build environment:

# Set your GitBook API token as an environment variable
export GITBOOK_TOKEN=<api-token>

gitbook openapi publish \
  --spec spec_name \
  --organization organization_id \
  example.openapi.yaml

Set a new source URL or trigger a refresh

If your OpenAPI specification is hosted at a URL, GitBook automatically checks for updates. To force an update (for example, after a release), run:

# Set your GitBook API token as an environment variable
export GITBOOK_TOKEN=<api-token>

gitbook openapi publish \
  --spec spec_name \
  --organization organization_id \
  https://api.example.com/openapi.yaml

Update your spec with GitHub Actions

If you’re setting up a workflow to publish your OpenAPI spec, complete these steps in your repository:

  1. In your repo, go to “Settings → Secrets and variables → Actions”.

  2. Add a secret: GITBOOK_TOKEN (your GitBook API token).

  3. Add variables (or hardcode them in the workflow):

    • GITBOOK_SPEC_NAME → your spec’s name in GitBook

    • GITBOOK_ORGANIZATION_ID → your GitBook organization ID

  4. Save the workflow file as .github/workflows/gitbook-openapi-publish.yml.

  5. Push changes to “main” (or run the workflow manually).

You can then use this action to update your spec:

Last updated

Was this helpful?