{"id":29427544,"url":"https://github.com/fderuiter/openapi-generator","last_synced_at":"2025-07-12T13:09:26.320Z","repository":{"id":303846864,"uuid":"1016865607","full_name":"fderuiter/openAPI-Generator","owner":"fderuiter","description":"Generate Documentation and Code from OpenAPI Spec. ","archived":false,"fork":false,"pushed_at":"2025-07-10T20:11:54.000Z","size":1681,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-10T22:54:15.208Z","etag":null,"topics":["api-docs","api-specification","automation","ci-cd","client-sdk","client-sdk-generator","github-actions","openapi","openapi-codegen","openapi-documentation","openapi-generator","openapi3","redoc","rest-api","swagger","template"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fderuiter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-09T16:39:04.000Z","updated_at":"2025-07-10T20:11:10.000Z","dependencies_parsed_at":"2025-07-10T22:54:24.185Z","dependency_job_id":null,"html_url":"https://github.com/fderuiter/openAPI-Generator","commit_stats":null,"previous_names":["fderuiter/redesigned-spork","fderuiter/openapi-generator"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/fderuiter/openAPI-Generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fderuiter%2FopenAPI-Generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fderuiter%2FopenAPI-Generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fderuiter%2FopenAPI-Generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fderuiter%2FopenAPI-Generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fderuiter","download_url":"https://codeload.github.com/fderuiter/openAPI-Generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fderuiter%2FopenAPI-Generator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264995818,"owners_count":23695049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-docs","api-specification","automation","ci-cd","client-sdk","client-sdk-generator","github-actions","openapi","openapi-codegen","openapi-documentation","openapi-generator","openapi3","redoc","rest-api","swagger","template"],"created_at":"2025-07-12T13:09:24.893Z","updated_at":"2025-07-12T13:09:26.305Z","avatar_url":"https://github.com/fderuiter.png","language":null,"readme":"# OpenAPI Template Repository\n\nThis repository demonstrates how to host an OpenAPI specification and automate\nvalidation, documentation and client generation using GitHub Actions. The\n`spec/openapi.yaml` file contains an example API definition that can be\nreplaced with your own.\n\n## Repository structure\n\n- `spec/openapi.yaml` – example OpenAPI 3.1 specification\n- `.github/workflows/` – GitHub Actions for validating the spec and generating\n  artifacts\n\nFork or use this repository as a template when starting a new API project. After\nreplacing the sample spec with your own, the provided workflows will validate\nand publish your API documentation and optional client libraries.\n\n## GitHub Actions overview\n\nThe project includes several workflows that run on different branches or after\nsuccessful validation. They are intended to show a full pipeline from authoring\na spec to publishing docs.\n\n### `openapi-staging-autofix.yml`\n\n* **Trigger:** Pushes to the `staging` branch or manual invocation.\n* **Purpose:** Validates the YAML syntax and automatically adds missing `title`\n  fields to schemas. The workflow checks out the `staging` branch, scans the\n  spec for schemas without titles (including inline schemas) and writes the\n  titles back. If changes are made they are committed directly to the same\n  branch. This keeps the specification tidy before merging it into `main`.\n\n### `validate-openapi.yml`\n\n* **Trigger:** Pushes to the `main` branch or manual invocation.\n* **Purpose:** Runs the OpenAPI Generator CLI in validation mode to ensure the\n  specification is syntactically correct. This job acts as the gate for other\n  workflows. When it completes successfully it triggers documentation and client\n  generation jobs via the `workflow_run` event.\n\n### `generate-clients.yml`\n\n* **Trigger:** After a successful `validate-openapi.yml` run or manual\n  invocation.\n* **Purpose:** Uses `openapitools/openapi-generator` to generate API clients for\n  several languages (Java, JavaScript, Python, Ruby, R, Rust, Go, C# and C). The\n  resulting client code for each language is pushed to a dedicated branch named\n  `generated-\u003clanguage\u003e-client`. You can adjust the language matrix to suit your\n  needs.\n\n### `build-docs.yml`\n\n* **Trigger:** After a successful `validate-openapi.yml` run or manual\n  invocation.\n* **Purpose:** Bundles static HTML documentation using ReDoc and pushes the\n  result to the `generated-docs` branch. The workflow also uploads the site as a\n  Pages artifact and deploys it using `actions/deploy-pages` so the API docs are\n  published with GitHub Pages.\n\n### `deploy-api-docs.yml`\n\n* **Trigger:** Pushes to `main`, after validation succeeds, or manual invocation.\n* **Purpose:** Generates ReDoc HTML and deploys it to GitHub Pages, similar to\n  `build-docs.yml`, but includes additional setup for the Pages environment and\n  concurrency controls. The generated documentation is also kept on the\n  `generated-docs` branch. Use this workflow if you want an all-in-one build and\n  deploy job on the `main` branch.\n\n## Branch workflow\n\n1. Work on your OpenAPI specification in a feature branch or the `staging`\n   branch. When pushing to `staging`, the auto‑fix workflow may commit missing\n   titles back for you.\n2. Create a pull request targeting `main`. Once merged, the\n   `validate-openapi.yml` workflow verifies the spec.\n3. After successful validation the documentation and client generation workflows\n   run automatically and publish their results.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffderuiter%2Fopenapi-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffderuiter%2Fopenapi-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffderuiter%2Fopenapi-generator/lists"}