mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 10:40:07 -04:00
## Summary This PR uses the new script to generate autocomplete definitions for Dev Tools Console from the ES specification repo. #### Definitions changes - New property `availability` is added to filter out endpoints that are not available in Serverless - Some endpoints' query parameters have more details now, for example common query params are now defined in definitions ```json "url_params": { "error_trace": "__flag__", "filter_path": [], "human": "__flag__", "pretty": "__flag__" }, ``` - Url components in few endpoints are removed, but those were added to overrides files in https://github.com/elastic/kibana/pull/163096 - Documentation links contain `{branch}` instead of `master` (fix for that added in https://github.com/elastic/kibana/pull/159241) #### Script changes - The logic for generating `availability` for endpoint has been updated based on the feedback from the Clients team. Details added to the script file. - Added a few "safe guards" to the spots in the script where an unexpected type of data might be coming from the ES specification schema #### Console changes - Fixed the autocomplete request on Serverless (we might need a proper fix for that, details in https://github.com/elastic/kibana/issues/163318) Also updates to readme files both in Console and the new script. I will remove the old script in a separate PR. ## Screenshots "ILM" autocomplete suggestions displayed on stateful <img width="583" alt="Screenshot 2023-08-07 at 17 47 48" src=" |
||
---|---|---|
.. | ||
src | ||
index.ts | ||
jest.config.js | ||
kibana.jsonc | ||
package.json | ||
README.md | ||
tsconfig.json |
Generate console definitions
This package is a script to generate definitions used in Console to display autocomplete suggestions.
The definitions files are generated from the Elasticsearch specification repo.
This script is
a new implementation of an old kbn-spec-to-console
package: The old script used JSON specs in the Elasticsearch repo as the source.
Instructions
- Checkout the Elasticsearch specification repo.
- Run the command
node scripts/generate_console_definitions.js --source <ES_SPECIFICATION_REPO> --emptyDest
This command will use the folder<ES_SPECIFICATION_REPO>
as the source and the constantAUTOCOMPLETE_DEFINITIONS_FOLDER
as the destination. Based on the value of the constant, the autocomplete definitions will be generated in the folder<KIBANA_REPO>/src/plugins/server/lib/spec_definitions/json/generated
. The flag--emptyDest
indicates that all existing files in the destination folder will be removed. - It's possible to generate the definitions into a different folder. For that pass an option to the command
--dest <DEFINITIONS_FOLDER>
and also update the constantAUTOCOMPLETE_DEFINITIONS_FOLDER
so that the Console server will load the definitions from this folder.
Functionality
This script generates definitions for all endpoints defined in the ES specification at once.
The script generates fully functional autocomplete definition files with properties as described in the Console README.md file except data_autocomplete_rules
. Currently, this property needs to be written manually to add autocomplete suggestions for request body parameters.