kibana/docs/dev-tools/console/console.asciidoc
CJ Cenizal dfb110cad2
Add Console docs for Comments and Variables (#137225)
* Update console-settings.png and console.png. Remove settings.png.
* Fix image names and alt tags.
* Remove unnecessary whitespace, backticks, and typo bracket.
2022-07-28 10:52:20 -07:00

200 lines
5.4 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[[console-kibana]]
== Run API requests
Interact with the REST APIs of {es} and {kib} with *Console*. With *Console*, you can:
* Send requests and view the responses
* View API documentation
* Get your request history
To get started, open the main menu, click *Dev Tools*, then click *Console*.
[role="screenshot"]
image::dev-tools/console/images/console.png["Console"]
[float]
[[console-api]]
=== Write requests
*Console* understands commands in a cURL-like syntax.
For example, the following is a `GET` request to the {es} `_search` API.
[source,js]
----------------------------------
GET /_search
{
"query": {
"match_all": {}
}
}
----------------------------------
Here is the equivalent command in cURL:
[source,bash]
----------------------------------
curl -XGET "http://localhost:9200/_search" -d'
{
"query": {
"match_all": {}
}
}'
----------------------------------
Prepend requests to a {kib} API endpoint with `kbn:`
[source,bash]
--------------------------------------------------
GET kbn:/api/index_management/indices
--------------------------------------------------
When you paste the command into *Console*, {kib} automatically converts it
to *Console* syntax. Alternatively, if you want to see *Console* syntax in cURL,
click the action icon (image:dev-tools/console/images/wrench.png[]) and select *Copy as cURL*.
Once copied, the username and password will need to be provided
for the calls to work from external environments.
[float]
[[console-autocomplete]]
==== Autocomplete
When you're typing a command, *Console* makes context-sensitive suggestions.
These suggestions show you the parameters for each API and speed up your typing.
To configure your preferences for autocomplete, go to
<<configuring-console, Settings>>.
[float]
[[console-comments]]
==== Comments
You can write comments or temporarily disable parts of a request by using double forward slashes
or pound signs to create single-line comments.
[source,js]
----------------------------------
# This request searches all of your indices.
GET /_search
{
// The query parameter indicates query context.
"query": {
"match_all": {} // Matches all documents.
}
}
----------------------------------
You can also use a forward slash followed by an asterisk to mark the beginning of multi-line
comments. An asterisk followed by a forward slash marks the end.
[source,js]
----------------------------------
GET /_search
{
"query": {
/*"match_all": {
"boost": 1.2
}*/
"match_none": {}
}
}
----------------------------------
[float]
[[console-variables]]
==== Variables
Click *Variables* to create, edit, and delete variables.
[role="screenshot"]
image::dev-tools/console/images/variables.png["Variables", width=60%]
You can refer to these variables in the paths and bodies of your requests.
Each variable can be referenced multiple times.
[source,js]
----------------------------------
GET ${pathVariable}
{
"query": {
"match": {
"${bodyNameVariable}": "${bodyValueVariable}"
}
}
}
----------------------------------
[float]
[[auto-formatting]]
==== Auto-formatting
The auto-formatting
capability can help you format requests. Select one or more requests that you
want to format, click the action icon (image:dev-tools/console/images/wrench.png[]),
and then select *Auto indent*.
For example, you might have a request formatted like this:
[role="screenshot"]
image::dev-tools/console/images/unformatted-request.png["Unformatted request", width=75%]
*Console* adjusts the JSON body of the request to apply the indents.
[role="screenshot"]
image::dev-tools/console/images/formatted-request.png["Formatted request", width=75%]
If you select *Auto indent* on a request that is already well formatted,
*Console* collapses the request body to a single line per document.
This is helpful when working with the {es} {ref}/docs-bulk.html[bulk APIs].
[float]
[[console-request]]
=== Submit requests
When you're ready to submit the request to {es}, click the green triangle.
You can select multiple requests and submit them together.
*Console* sends the requests to {es} one by one and shows the output
in the response pane. Submitting multiple requests is helpful
when you're debugging an issue or trying query
combinations in multiple scenarios.
[float]
[[console-view-api]]
=== View API docs
To view the documentation for an API endpoint, click
the action icon (image:dev-tools/console/images/wrench.png[]) and select
*Open documentation*.
[float]
[[console-history]]
=== Get your request history
*Console* maintains a list of the last 500 requests that {es} successfully executed.
To view your most recent requests, click *History*. If you select a request
and click *Apply*, {kib} adds it to the editor at the current cursor position.
[float]
[[configuring-console]]
=== Configure Console settings
You can configure the *Console* font size, JSON syntax,
and autocomplete suggestions in *Settings*.
[role="screenshot"]
image::dev-tools/console/images/console-settings.png["Console Settings", width=60%]
[float]
[[keyboard-shortcuts]]
=== Get keyboard shortcuts
For a list of available keyboard
shortcuts, click *Help*.
[float]
[[console-settings]]
=== Disable Console
If you dont want to use *Console*, you can disable it by setting `console.ui.enabled`
to `false` in your `kibana.yml` configuration file. Changing this setting
causes the server to regenerate assets on the next startup,
which might cause a delay before pages start being served.