Skip to content

Commit

Permalink
Merge branch 'main' into lens_choropleth_chart
Browse files Browse the repository at this point in the history
  • Loading branch information
kibanamachine authored Mar 15, 2022
2 parents e95e457 + a389226 commit 8eb1ceb
Show file tree
Hide file tree
Showing 357 changed files with 5,862 additions and 3,138 deletions.
60 changes: 0 additions & 60 deletions .ci/Jenkinsfile_coverage

This file was deleted.

28 changes: 28 additions & 0 deletions docs/api/cases.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[[cases-api]]
== Cases APIs

You can create, manage, configure, and send cases to external systems with
these APIs:

* {security-guide}/cases-api-add-comment.html[Add comment]
* {security-guide}/cases-api-create.html[Create case]
* {security-guide}/cases-api-delete-case.html[Delete case]
* {security-guide}/cases-api-delete-all-comments.html[Delete all comments]
* {security-guide}/cases-api-delete-comment.html[Delete comment]
* {security-guide}/cases-api-find-alert.html[Find all alerts attached to a case]
* {security-guide}/cases-api-find-cases.html[Find cases]
* {security-guide}/cases-api-find-cases-by-alert.html[Find cases by alert]
* {security-guide}/cases-api-find-connectors.html[Find connectors]
* {security-guide}/cases-api-get-case-activity.html[Get all case activity]
* {security-guide}/cases-api-get-all-case-comments.html[Get all case comments]
* {security-guide}/cases-api-get-case.html[Get case]
* {security-guide}/cases-api-get-comment.html[Get comment]
* {security-guide}/cases-get-connector.html[Get current connector]
* {security-guide}/cases-api-get-reporters.html[Get reporters]
* {security-guide}/cases-api-get-status.html[Get status]
* {security-guide}/cases-api-get-tag.html[Get tags]
* {security-guide}/cases-api-push.html[Push case]
* {security-guide}/assign-connector.html[Set default Elastic Security UI connector]
* {security-guide}/case-api-update-connector.html[Update case configurations]
* {security-guide}/cases-api-update.html[Update case]
* {security-guide}/cases-api-update-comment.html[Update comment]
3 changes: 3 additions & 0 deletions docs/api/saved-objects.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ The following saved objects APIs are available:

* <<saved-objects-api-update, Update object API>> to update the attributes for existing {kib} saved objects

* <<saved-objects-api-bulk-update, Bulk update objects API>> to update the attributes for multiple existing {kib} saved objects

* <<saved-objects-api-delete, Delete object API>> to remove {kib} saved objects

* <<saved-objects-api-export, Export objects API>> to retrieve sets of saved objects that you want to import into {kib}
Expand All @@ -42,6 +44,7 @@ include::saved-objects/find.asciidoc[]
include::saved-objects/create.asciidoc[]
include::saved-objects/bulk_create.asciidoc[]
include::saved-objects/update.asciidoc[]
include::saved-objects/bulk_update.asciidoc[]
include::saved-objects/delete.asciidoc[]
include::saved-objects/export.asciidoc[]
include::saved-objects/import.asciidoc[]
Expand Down
112 changes: 112 additions & 0 deletions docs/api/saved-objects/bulk_update.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
[[saved-objects-api-bulk-update]]
=== Bulk update object API
++++
<titleabbrev>Bulk update objects</titleabbrev>
++++

experimental[] Update the attributes for multiple existing {kib} saved objects.

[[saved-objects-api-bulk-update-request]]
==== Request

`PUT <kibana host>:<port>/api/saved_objects/_bulk_update`

`PUT <kibana host>:<port>/s/<space_id>/api/saved_objects/_bulk_update`

[[saved-objects-api-bulk-update-path-params]]
==== Path parameters

`space_id`::
(Optional, string) An identifier for the space. If `space_id` is not provided in the URL, the default space is used.

[[saved-objects-api-bulk-update-request-body]]
==== Request body

`type`::
(Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`.

`id`::
(Required, string) The object ID to update.

`attributes`::
(Required, object) The data to persist.
+
WARNING: When you update, attributes are not validated, which allows you to pass arbitrary and ill-formed data into the API and break {kib}. Make sure any data that you send to the API is properly formed.

`references`::
(Optional, array) Objects with `name`, `id`, and `type` properties that describe the other saved objects this object references. To refer to the other saved object, use `name` in the attributes, but never the `id`, which automatically updates during migrations or import/export.

`version`::
(Optional, number) Ensures the version matches that of the persisted object.

`namespace`:: (Optional, string) Identifier for the space in which to update this object. If this is defined, it will supersede the space ID that is in the URL.

[[saved-objects-api-bulk-update-codes]]
==== Response code

`200`::
Indicates a successful call. Note, this HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual
objects will be returned in the response body. Refer to the example below for details.

[[saved-objects-api-bulk-update-example]]
==== Example

Update three saved objects, where one of them does not exist:

[source,sh]
--------------------------------------------------
$ curl -X PUT api/saved_objects/_bulk_update
[
{
type: 'visualization',
id: 'not an id',
attributes: {
title: 'An existing visualization',
},
},
{
type: 'dashboard',
id: 'be3733a0-9efe-11e7-acb3-3dab96693fab',
attributes: {
title: 'An existing dashboard',
},
{
type: 'index-pattern',
id: 'logstash-*',
attributes: { title: 'my-logstash-pattern' }
}
]
--------------------------------------------------
// KIBANA

The API returns the following:

[source,sh]
--------------------------------------------------
[
{
"type": "visualization",
"id": "not an id",
"error": {
"statusCode": 404,
"error": "Not Found",
"message": "Saved object [visualization/not an id] not found",
},
},
{
"type": "dashboard",
"id": "be3733a0-9efe-11e7-acb3-3dab96693fab",
"version": 2,
"attributes": {
"title": "An existing dashboard",
},
},
{
"type": "index-pattern",
"id": "logstash-*",
"attributes": {
"title": "my-logstash-pattern",
}
}
]
--------------------------------------------------
5 changes: 5 additions & 0 deletions docs/settings/monitoring-settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,11 @@ Specifies the name of the indices that are shown on the
<<logs-monitor-page,*Logs*>> page in *{stack-monitor-app}*. The default value
is `filebeat-*`.

`monitoring.ui.metricbeat.index`::
deprecated:[8.1.1]
Used as a workaround to avoid querying `metricbeat-*` indices which are now no longer queried. The default value
is `metricbeat-*`.

`monitoring.ui.max_bucket_size`::
Specifies the number of term buckets to return out of the overall terms list when
performing terms aggregations to retrieve index and node metrics. For more
Expand Down
1 change: 1 addition & 0 deletions docs/user/api.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ include::{kib-repo-dir}/api/data-views.asciidoc[]
include::{kib-repo-dir}/api/index-patterns.asciidoc[]
include::{kib-repo-dir}/api/alerting.asciidoc[]
include::{kib-repo-dir}/api/actions-and-connectors.asciidoc[]
include::{kib-repo-dir}/api/cases.asciidoc[]
include::{kib-repo-dir}/api/dashboard-api.asciidoc[]
include::{kib-repo-dir}/api/logstash-configuration-management.asciidoc[]
include::{kib-repo-dir}/api/machine-learning.asciidoc[]
Expand Down
17 changes: 10 additions & 7 deletions examples/partial_results_example/public/plugin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
*/
import React from 'react';
import ReactDOM from 'react-dom';
import type { ExpressionsService, ExpressionsServiceSetup } from 'src/plugins/expressions';
import type { ExpressionsServiceSetup } from 'src/plugins/expressions';
import { ExpressionsServiceFork } from 'src/plugins/expressions/common/service/expressions_fork';
import { AppMountParameters, AppNavLinkStatus, CoreSetup, Plugin } from '../../../src/core/public';
import type { DeveloperExamplesSetup } from '../../developer_examples/public';
import { App, ExpressionsContext } from './app';
Expand All @@ -19,21 +20,23 @@ interface SetupDeps {
}

export class PartialResultsExamplePlugin implements Plugin<void, void, SetupDeps> {
private expressions?: ExpressionsService;
private expressions?: ExpressionsServiceFork;

setup({ application }: CoreSetup, { expressions, developerExamples }: SetupDeps) {
this.expressions = expressions.fork();
this.expressions.registerFunction(countEvent);
this.expressions.registerFunction(getEvents);
this.expressions.registerFunction(pluck);
this.expressions = expressions.fork('test');
const expressionsSetup = this.expressions.setup();
expressionsSetup.registerFunction(countEvent);
expressionsSetup.registerFunction(getEvents);
expressionsSetup.registerFunction(pluck);
const expressionsStart = this.expressions.start();

application.register({
id: 'partialResultsExample',
title: 'Partial Results Example',
navLinkStatus: AppNavLinkStatus.hidden,
mount: async ({ element }: AppMountParameters) => {
ReactDOM.render(
<ExpressionsContext.Provider value={this.expressions}>
<ExpressionsContext.Provider value={expressionsStart}>
<App />
</ExpressionsContext.Provider>,
element
Expand Down
45 changes: 30 additions & 15 deletions src/dev/code_coverage/docs/ingest_code_coverage_readme.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,46 @@

# Massage and Ingest Code Coverage Json Summary and Send to ES

## Currently, we have 4 indexes
## Currently, we have 2 indexes

### 2 for the Code Coverage Job
https://kibana-ci.elastic.co/job/elastic+kibana+code-coverage/
https://buildkite.com/elastic/kibana-code-coverage-main
1. kibana_code_coverage
2. kibana_total_code_coverage

### 2 for the R & D Job
https://kibana-ci.elastic.co/job/elastic+kibana+qa-research/
1. qa_research_code_coverage
2. qa_research_total_code_coverage

## How it works

It starts with this jenkins pipeline file:
It starts with buildkite

At the time of this writing, the code coverage job steps are:
```yaml
env:
CODE_COVERAGE: '1'
NODE_ENV: 'test'
DISABLE_MISSING_TEST_REPORT_ERRORS: 'true'
steps:

# .. MYRIAD STEPS BEFORE CODE COVERAGE BEGINS ..

- command: .buildkite/scripts/steps/code_coverage/ingest.sh
label: 'Merge and Ingest'
agents:
queue: n2-4
depends_on:
- jest
- oss-cigroup
- default-cigroup
timeout_in_minutes: 60
key: ingest

- wait: ~
continue_on_failure: true

.ci/Jenkinsfile_coverage#L60

```
src/dev/code_coverage/shell_scripts/ingest_coverage.sh ${BUILD_NUMBER} ${env.BUILD_URL}
```

The ingestion system is hard coded to look for 3 coverage summary files...all json.

From there, an event stream is created, that massages the data to an output format in json that is ingested.
At the end of `.buildkite/scripts/steps/code_coverage/ingest.sh` is:
`echo "--- Ingest results to Kibana stats cluster"`.
The code that comes after that echo statement starts the process.

## Configuration

Expand Down
Loading

0 comments on commit 8eb1ceb

Please sign in to comment.