2025-04-01 10:38:02 +09:00

33 lines
1.6 KiB
Markdown

This folder contains a rendered OpenAPI file for each group/version. The “real” OpenAPI is generated by the running server, but the files here are used to build static frontend clients.
## Generating RTK API Clients
The RTK API clients are generated from processed OpenAPI files using the `scripts/process-specs.ts` script. The source files are in `pkg/tests/apis/openapi_snapshots`, and the processed files are stored in the `data/openapi` directory. Spec processing happens as part of `yarn generate-apis` task, but can also be triggered separately (see below).
To generate or update the RTK API clients:
1. _If generating or updating an RTK client for the first time_, update `scripts/generate-rtk-apis.js` so `schemaFile` points to the processed spec files, for example:
```typescript
'../public/app/features/dashboards/api/endpoints.gen.ts': {
schemaFile: '../data/openapi/dashboard.grafana.app-v0alpha1.json',
},
```
2. Generate or update the OpenAPI spec files by running:
```bash
go test pkg/tests/apis/openapi_test.go
```
_If generating an RTK client for a new API_, also add a new group/version of the API to the `groups` slice. If the API is behind a feature toggle, add the toggle to `EnableFeatureToggles` in `pkg/tests/apis/openapi_test.go`.
3. Run:
```bash
yarn generate-apis
```
This command generates (or updates) the spec files in the `data/openapi` directory and generates the RTK API clients.
If you want to process the OpenAPI files without generating the RTK API clients (for example, if you have a separate `generate-rtk-apis` file), run:
```bash
yarn process-specs
```