[OpenAPI] Add redocly lint configuration (#199360)

This commit is contained in:
Lisa Cawley 2024-11-08 12:07:55 -08:00 committed by GitHub
parent bcfe9bf48b
commit 907d19b7b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 59 additions and 12 deletions

View file

@ -45,8 +45,7 @@ Besides the scripts in the `oas_docs/scripts` folder, there is an `oas_docs/make
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `api-docs` | Builds ESS Kibana OpenAPI bundle |
| `api-docs-serverless` | Builds Serverless Kibana OpenAPI bundle |
| `api-docs-lint` | Lints built result bundles |
| `api-docs-lint-errs` | Lints built result bundles for errors |
| `api-docs-lint` | Lints built result bundles |
| `api-docs-preview` | Generates (ESS + Serverless) Kibana OpenAPI bundles preview |
| `api-docs-overlay` | Applies [overlays](https://docs.bump.sh/help/specification-support/overlays/) from `overlays` folder to the Kibana OpenAPI bundles and generate `*.new.yaml` files. Overlays help to fine tune the result bundles. |
| `api-docs-overlay-preview` | Generates a preview for bundles produced by `api-docs-overlay` |

View file

@ -0,0 +1,52 @@
extends:
- recommended
rules:
# Built-in rules
# Descriptions
parameter-description: warn
tag-description: warn
operation-description: off
# Document info
info-contact: warn
info-license: warn
# Examples
no-invalid-media-type-examples:
severity: warn
allowAdditionalProperties: false
no-invalid-schema-examples:
severity: warn
allowAdditionalProperties: false
# Operations
operation-operationId: error
operation-operationId-unique: error
operation-operationId-url-safe: warn
operation-summary: warn
# Parameters
path-parameters-defined: warn
# Paths
no-ambiguous-paths: warn
no-identical-paths: error
path-excludes-patterns:
severity: error
patterns:
- ^\/internal
# Responses
operation-4xx-response: off
operation-2xx-response: off
# Schema
spec: off
spec-strict-refs: off
# Tags
operation-tag-defined: off
tags-alphabetical: off
operation-singular-tag: off
# Custom rules
rule/operation-summary-length:
subject:
type: Operation
property: summary
message: Operation summary must have a minimum of 5 and maximum of 45 characters
severity: warn
assertions:
maxLength: 45
minLength: 5

View file

@ -27,20 +27,16 @@ api-docs-serverless: ## Generate only kibana.serverless.yaml
@node scripts/merge_serverless_oas.js
.PHONY: api-docs-lint
api-docs-lint: ## Run spectral API docs linter
@npx @stoplight/spectral-cli lint "output/*.yaml" --ruleset ".spectral.yaml"
.PHONY: api-docs-lint-errs
api-docs-lint-errs: ## Run spectral API docs linter and return only errors
@npx @stoplight/spectral-cli lint "output/*.yaml" --ruleset ".spectral.yaml" -D
api-docs-lint: ## Run redocly API docs linter
@npx @redocly/cli lint "output/*.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500
.PHONY: api-docs-lint-stateful
api-docs-lint-stateful: ## Run spectral API docs linter on kibana.yaml
@npx @stoplight/spectral-cli lint "output/kibana.yaml" --ruleset ".spectral.yaml"
api-docs-lint-stateful: ## Run redocly API docs linter on kibana.yaml
@npx @redocly/cli lint "output/kibana.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500
.PHONY: api-docs-lint-serverless
api-docs-lint-serverless: ## Run spectral API docs linter on kibana.serverless.yaml
@npx @stoplight/spectral-cli lint "output/kibana.serverless.yaml" --ruleset ".spectral.yaml"
api-docs-lint-serverless: ## Run redocly API docs linter on kibana.serverless.yaml
@npx @redocly/cli lint "output/kibana.serverless.yaml" --config "linters/redocly.yaml" --format stylish --max-problems 500
.PHONY: api-docs-overlay
api-docs-overlay: ## Run spectral API docs linter on kibana.serverless.yaml