Commit graph

28868 commits

Author SHA1 Message Date
Eli Perelman 09c2b8eccd
[skip-ci] Update migration guide to add rendering service example (#54744) (#55466)
* Update migration guide to add rendering service example

* Address review nits

* Address nits

* Add chromeless apps to TOC
2020-01-21 15:22:53 -06:00
Nick Partridge 2fcac071b5
De-angularize vis tooltips (#54954) (#55432)
* Remove angular dependencey from vis/tooltip
* Move tooltip logic into vislib
* Remove and fix all ngMock refs in vislib tests
* Add numeral to renovate config
* Add vis_type_vislib to codeowners
* Move vis_legend into vislib and fix errors
* vis_type_vislib/public imports to be only top-level
2020-01-21 15:03:34 -06:00
Aleh Zasypkin 0c62eba3b7
[7.x] Re-enable Kerberos + anonymous access test. (#55407) 2020-01-21 21:26:59 +01:00
Kaarina Tungseth cc452ed4bb
[DOCS] Updates to heat map page (#55097) (#55461) 2020-01-21 14:11:49 -06:00
patrykkopycinski ce349622f3
[SIEM] Fix Detections page breadcrumbs (#55173) (#55448) 2020-01-21 20:48:12 +01:00
James Gowdy 3abcab9cc7
[ML] Fixing categorization wizard example results (#54924) (#55437)
* [ML] Fixing categorization wizard example results

* moving validation results to class

* cleaning up category analyzer types

* small tweaks

* removing commented out code

* fixing string ids

* small refactor

* improving validation messages

* fixing types

* updating message text

* fixing typo

* adding privileges error

* updating privilege message

* changes based on review

* removing old warning message

* fixing translations

* renaming enum
2020-01-21 19:13:01 +00:00
James Gowdy cc1bde9cb7
[ML] Adding missing job groups to recognizer wizard (#55392) (#55411) 2020-01-21 19:12:39 +00:00
Joe Portner e107aae433
Update Monitoring plugin's Elasticsearch configuration (#55119) (#55435)
* Fix Monitoring plugin Elasticsearch SSL config

Plugin now allows "keystore" and "truststore" values in its
config schema as the documentation currently states.
Plugin also now reads PEM and PKCS12 files off of the filesystem
before attempting to create an Elasticsearch client.

* Add missing Elasticsearch config deprecations

Several Elasticsearch config deprecations were overlooked for
monitoring-specific Elasticsearch settings.
2020-01-21 14:11:59 -05:00
Liza Katz 0be6024fe4
Clean up search service (#53766) (#55434)
* deprecate msearch

* Missing export

* adjust tests, revert loading method of esaggs/boot

* getInjectedMetadata

* Fix jest tests

* update default strategy abort test

* notice update

* Allow running discover errors test independently

* Remove batchSearches

* Detect painless script error

* don't show notifications for aborted requests

* Fix jest tests

* Restore loader indicator

* Decreace loading count on error

* update search test

* Trigger digest after fetching fresh index patterns

* Revert isEqual

* accurate revert

* Return full error details to client from search endpoint

* Re-throw AbortError from http when user aborts request.

* fix typo

* typo

* Adjust routes jest test

* Restore msearch using a separate es connection

* typescript fixes

* set http service mock

* Move es client to dat aplugin, for follow up PR

* Add karma mock

* krma mock

* fix tests

* ts

* Pass in version dynamically

* add headers to esClient host

* Restored fetch soon test
Use tap for loadingCount side effects

* Cleanup search params

* Cleanup search params test

* Revert "Cleanup search params"

This reverts commit ca9dea01d5.

* Revert "Cleanup search params test"

This reverts commit 30b9478612.

* Revert code to use old es client until  #44302 is resolved

* Revert changes to getPainlessError

* Fix jest test

* Refactor esClient to trigger loadingIndicator

* fixing tests

* use esClient from searchService

* git remove comment

* fix jest

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 20:58:56 +02:00
Justin Kambic 6654461e6f
[Uptime] Fix flaky uptime overview page test (#54767) (#55417)
* Fix flaky uptime overview page test.

* Increase timeout for url checks.

* Prefer standard `retry.try` to custom retry implementation.

* Remove unneeded symbol.

* Remove unnecessary type annotation.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 13:33:19 -05:00
Dima Arnautov b115f2f5ef
[ML] Formatting for additional timing and model size stats (#55062) (#55414)
* [ML] formatting for additional timing and model size stats

* [ML] roundToDecimalPlace only average search time

* [ML] adjust functional tests

* [ML] remove debug tag, fix assert value

* [ML] check for no decimal place

* [ML] fix functional tests

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 19:06:05 +01:00
Tim Sullivan 1cb96c2136
[7.x] [Reporting] Define shims of legacy dependencies (#54082) (#55134)
* [Reporting] Define shims of legacy dependencies (#54082)

* simplify serverfacade definition

* simplify requestfacade definition

* use the shim

* makeRequestFacade

* requestFacade

* import sorting

* originalServer

* reduce loc change

* remove consolelog

* hacks to fix tests

* ServerFacade in index

* Cosmetic

* remove field from serverfacade

* add raw to the request

* fix types

* add fieldFormatServiceFactory to legacy

* Pass the complete request object to sec plugin

* Fix test

* fix test 2

* getUser takes a legacy request

* add unit test for new lib

* add getRawRequest to pass to saved objects method

* update test snapshot

* leave a TODO comment for type import

* variable rename for legacy id

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* update legacy to fix ts errors

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 11:04:02 -07:00
Lisa Cawley a8ac40b191
[DOCS] Removes coming tag (#55420) 2020-01-21 08:31:39 -08:00
Kaarina Tungseth c556ceeb8c
[DOCS] Added to Add a field column definition (#55116) (#55236) 2020-01-21 10:06:10 -06:00
Joe Reuter f1a148c538
Migration: Separate legacy and index entrypoint (#54124) (#55391) 2020-01-21 16:26:50 +01:00
Nathan Reese 3b3009b426
[Maps] fix warning about missing key in react element (#55372) (#55394) 2020-01-21 10:25:53 -05:00
patrykkopycinski 4fd777a8d7
[SIEM] Update ml_conditional_links cypress tests (#55373) (#55383) 2020-01-21 15:36:39 +01:00
Aleh Zasypkin d57c7b7bbb
[7.x] Migrate Management views to Kibana Platform plugin (#55382) 2020-01-21 15:23:11 +01:00
Mikhail Shustov 9272e43701
Expose fatalErrors API from the Start contract (#55300) (#55374)
* Expose FatalErrors from the Start contract.

This API is intended to be used for runtime as well.

* update docs

* update data plugin snapshot to fix tests

* address comments

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 14:23:05 +01:00
Sébastien Loix 5122ac32e5
[Mappings editor] Add missing max_shingle_size parameter to search_as_you_type (#55161) (#55366) 2020-01-21 16:25:07 +05:30
Liza Katz 3070f0bb7c
[BUG] Data fetching twice on discover timefilter change (#55279) (#55368)
* Fix bug #54887
 - Filters are not only fetch once on timefilter change
 - Make sure that discover doesn't fetch data when a disabled filter is changed
 - Support compareFilters on an array of filters.
 - Added tests to compare filters
 - Exctracted sortFilters and added tests to it.

* code review + FilterCompareOptions

* Remove sort by

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 12:25:45 +02:00
Alejandro Fernández 8d8d3a009f
[Logs UI] Fix z-index of logs page toolbar (#54469) (#55346)
* Fix z-index of logs page toolbar

* Extract `FixedDatePicker` from log setup page, and use it in the stream page

* Clean unused import

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 10:50:17 +01:00
Gidi Meir Morris 1f1a0da400
removes CTA from Task Manager info message (#55334) (#55343)
removes CTA from Task Manager info message
2020-01-20 22:39:34 +00:00
James Gowdy 732d76e974
[ML] Fixing missing job_type in job messages search (#55330) (#55335) 2020-01-20 17:41:39 +00:00
Shahzad 6f249ea4db
update local (#55177) (#55318) 2020-01-20 18:32:09 +01:00
Shahzad d31dea3215
fix commonly used ranges uptime (#54930) (#55320) 2020-01-20 18:31:44 +01:00
Walter Rafelsberger 6c87958eb2
[ML] Correctly pass on severity value to anomaly explorer charts. (#55207) (#55328)
- Fixes passing on the severity value correctly to anomaly explorer charts. The wrong value of undefined being passed down caused anomaly markers not showing up.
- This bug surfaced that the severity value was never applied to filter multi-bucket anomalies which is now also fixed by this PR.
- Adds a check if topInfluencers is an array.
2020-01-20 17:04:50 +01:00
Walter Rafelsberger 7e365acbf9
[ML] Single Metric Viewer: Fix job check. (#55191) (#55325)
Fixes switching via navigation to Single Metric Viewer from Anomaly Explorer for a job which isn't supported in the Single Metric Viewer.
2020-01-20 17:00:32 +01:00
Pierre Gayvallet ac386b313c
Show error page when accessing unavailable app (#54656) (#55317)
* display not found page instead of throwing an error when accessible unavailable app

* move types to public folder

* fix types import

* remove updater from start app

* remove unnecessary await
2020-01-20 16:19:11 +01:00
Mike Côté 285a20112b
Re-enable mute all test now that API is no longer flaky (#55172) (#55239)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-20 09:53:22 -05:00
James Gowdy 64f6670128
[ML] Improving job wizards with datafeed aggregations (#55180) (#55313)
* [ML] Improving job wizards with datafeed aggregations

* picking all agg keys for fields

* function move and rename
2020-01-20 14:46:24 +00:00
Mikhail Shustov 0d10f0e956
remove flaly assetion. a license presence tested anyway (#55289) (#55307) 2020-01-20 15:03:07 +01:00
Marcin Tojek 493f60f1c3
Add Kibana tutorial for IBM MQ metrics (#54900) (#55293)
* Add Kibana tutorial for IBM MQ metrics

* Change IBM MQ logo

* Logo minified

* Add screenshot

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-20 14:37:07 +01:00
patrykkopycinski 3e6c1e063f
[SIEM] Use proper icons on Detections view (#55215) (#55297) 2020-01-20 14:01:44 +01:00
Anton Dosov f6c882eb23
[State Management] Remove AppState from edit_index_pattern page (#54104) (#55294)
Replaces AppState in edit_index_pattern with state containers and state syncing utils.
In addition makes tab navigation on edit_index_pattern work with browser's undo history
2020-01-20 13:49:47 +01:00
Marcin Tojek 3f93f48532
Fix: invalid translation referenced (#54901) (#55296) 2020-01-20 13:22:48 +01:00
Pierre Gayvallet 8fba124795
Implements getStartServices on server-side (#55156) (#55290)
* implements server-side getStartServices

* add unit test

* add integration test

* update generated doc

* improve test
2020-01-20 13:13:56 +01:00
Daniil Suleiman c4d088f58e
Move vis_vega_type/data_model tests to jest (#55186) (#55286)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-20 12:31:41 +03:00
Daniil Suleiman 0cb281ada4
Convert tests to jest in vis_type_timeseries/public & common folders (#55023) (#55182)
* Convert tests to jest in vis_type_timeseries/public & common folders

* Remove unused translation
2020-01-19 17:01:49 +03:00
Devin W. Hurley 50d919e430
[SIEM] [Detection Engine] Update status on rule details page (#55201) (#55276)
* adds logic for returning / updating status when a rule is switched from enabled to disabled and vice versa.

* update response for find rules statuses to include current status and failures

* update status on demand and on enable/disable

* adds ternary to allow removal of 'let'

* adds savedObjectsClient to the add and upate prepackaged rules and import rules route.

* fix bug where convertToSnakeCase would throw error 'cannot convert null or undefined to object' if passed null

* genericize snake_case converter and updates isAuthorized to snake_case (different situation)

* renaming to 'going to run' instead of executing because when task manager exits because of api key error it won't write the error status so the actual status is 'going to run' on the next interval. This is more accurate than being stuck on 'executing' because of an error we don't control and can't write a status for.

* fix missed merge conflict

Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>

Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
2020-01-18 14:05:16 -05:00
Tim Roes 921c969d0a
Fix KQL value suggestions for nested fields (#54820) (#55271)
* Revert "Flag nested fields as non-aggregatable (#51774)"

This reverts commit c7046a08

* Filter out nested fields at the agg param level

* Forbid nested fields in TSVB

* Revert "Forbid nested fields in TSVB"

This reverts commit afcaa348

Co-authored-by: Tim Roes <mail@timroes.de>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Matt Bargar <mbargar@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-18 19:16:37 +01:00
Xavier Mouligneau be1c35f4d4
[SIEM] Detection engine cleanup for rule details/creation/edit page (#55069) (#55269)
* update extra action on rule detail to match design

* remove experimental label

* allow pre-package to be deleted + do not allow wrong user to create pre-packages rules

* Additional look back minimum value to 1

* fix flow with edit rule

* add success toaster when rule is created or updated

* Fix Timeline selector loading

* review ben doc + change detectin engine to detection even in url

* Succeeded text size consistency in rule details page

* fix description of threats

* fix test

* fix type

* fix internatinalization

* Update x-pack/legacy/plugins/siem/public/pages/detection_engine/rules/create/translations.ts

Co-Authored-By: Garrett Spong <spong@users.noreply.github.com>

* Update x-pack/legacy/plugins/siem/public/pages/detection_engine/rules/edit/translations.ts

Co-Authored-By: Garrett Spong <spong@users.noreply.github.com>

* Update x-pack/legacy/plugins/siem/public/pages/detection_engine/rules/components/step_schedule_rule/schema.tsx

Co-Authored-By: Garrett Spong <spong@users.noreply.github.com>

* review I

* fix type

Co-authored-by: Garrett Spong <spong@users.noreply.github.com>

Co-authored-by: Garrett Spong <spong@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-18 11:17:51 -05:00
Mikhail Shustov 666eda060b
Enforce camelCase format for a plugin id (#53759) (#55270)
* add isCamelCase  function

* add a warning if id is not in camelCase

* document pluginId expected in camelCase

* regen docs

* add a test for logging

* update tests. warn can be called several times for different reasons

* pluginPath falls back to plugin id in snake_case

* update tests

* update docs

* add example with id & configPath different formats

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-18 15:44:32 +01:00
Garrett Spong d70a4251bc [SIEM] [Detection Engine] Fixes duplicate rule action (#55252) (#55260)
## Summary

This PR fixes the duplication of rules. The DE backend was updated to not allow `immutable` when creating a rule, so this broke the `Duplicate Rule` action as we were creating a new rule with `immutable: false`.

This PR also switches rule duplication over to use the bulk `create` API introduced in https://github.com/elastic/kibana/pull/53543, so now we can duplicate multiple rules.

And lastly, this PR removes the limitation of not being able to delete immutable rules. So long as you have the appropriate `write` permissions the delete action is now always available.

![duplicate_batch](https://user-images.githubusercontent.com/2946766/72652638-cee69a00-3944-11ea-9e15-cce3f2b8cefe.gif)


### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

- [ ] ~This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~
- [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)
- [ ] ~[Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~
- [ ] ~[Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios~
- [ ] ~This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~

### For maintainers

- [ ] ~This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
- [ ] ~This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
2020-01-18 07:54:40 -05:00
Tim Roes c4553588ca
Remove nested root from index pattern (#54978) (#55266)
* Revert "Add label and icon to nested fields in the doc table (#54199)"

This reverts commit f77b3620

* Apply label and icon to nested fields in the doc table

* Add nested type to field_icon

* Improve nested test and add comment

* Fix tests

* Always pass the field type

Co-authored-by: Matt Bargar <mbargar@gmail.com>
2020-01-18 13:28:17 +01:00
Alexey Antonov 1a3d74f9e0
[Data Plugin] combine autocomplete provider and suggestions provider (#54451) (#55224)
* [Data Plugin] combine autocomplete provider and suggestions provider

Closes: #52843

* [Data Plugin] combine autocomplete provider and suggestions provider - add skeleton for SuggestionsProvider

* autocomplete_provider -> autocomplete

* value_suggestions.ts - change getSuggestions method

* remove suggestions_provider folder

* fix PR comments

* fix PR comments

* fix CI

* fix CI

* getFieldSuggestions -> getValueSuggestions

* update Jest snaphots

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-18 10:51:39 +03:00
Matthew Kime 587f64fa99
Management API - redirect on disabled app path (#55136) (#55258)
* redirect on disabled management app path
2020-01-17 22:32:02 -06:00
Xavier Mouligneau c62349689e
[SIEM] Detections add alert & signal tab (#55127) (#55263)
* add alert on detections

* review I + fix unit test

* review II

* review III

* review IV + bug fixes found during review

* review VI
2020-01-17 22:12:41 -05:00
Ryland Herrick f411d2f65e
[SIEM] Fix mocks for kibana context (#54996) (#55246)
* Use our internal uiSettings mock in all context mocks

We were previously only using our internal uiSettings mock (which
returns real values) in our TestProviders component, as
all tests either needed:

* specific mocks, in which case we'd call jest.mock() ourselves
* broad mocks, for which platform's kibana_react mocks were usually
sufficient

However, a recent addition in the Timeline component added a usage of
uiSettings that could not use the default mock.

With this change, one can either jest.mock('lib/kibana') or use the
TestProviders wrapper to get real values for UI settings in test.

* Remove production code guarding against tests

This coalescence was due to the service not being properly mocked in
test, which is now fixed.
2020-01-17 19:39:24 -06:00
Frank Hassanabad 0b2a9e7fc0
[SIEM][Detection Engine] Fixes critical regression on the backend with immutable and tags (#55256)
## Summary

Fixes regression with immutable caused from:
https://github.com/elastic/kibana/pull/55004

* Updated types of Prepackaged 
* Updated unit tests
* Fixed unit test for it

Testing:

```
./post_rule.sh 
{
  "created_at": "2020-01-17T19:11:31.813Z",
  "updated_at": "2020-01-17T19:11:31.813Z",
  "created_by": "elastic_kibana",
  "description": "Query with a rule_id that acts like an external id",
  "enabled": true,
  "false_positives": [],
  "from": "now-6m",
  "id": "41ef6309-ef98-4c9f-8d2d-90a070361fb7",
  "immutable": false,
  "interval": "5m",
  "rule_id": "query-rule-id",
  "language": "kuery",
  "output_index": ".siem-signals-frank-hassanabad-default",
  "max_signals": 100,
  "risk_score": 1,
  "name": "Query with a rule id",
  "query": "user.name: root or user.name: admin",
  "references": [],
  "severity": "high",
  "updated_by": "elastic_kibana",
  "tags": [],
  "to": "now",
  "type": "query",
  "threats": [],
  "version": 1
}
```

Then get the saved object using whatever the id is comes back from above. In this example it is 41ef6309-ef98-4c9f-8d2d-90a070361fb7, yours will be different

```
./get_saved_objects.sh alert 41ef6309-ef98-4c9f-8d2d-90a070361fb7
{
  "id": "41ef6309-ef98-4c9f-8d2d-90a070361fb7",
  "type": "alert",
  "updated_at": "2020-01-17T19:11:32.844Z",
  "version": "WzY5NTQsMV0=",
  "attributes": {
    "name": "Query with a rule id",
    "tags": [
      "__internal_rule_id:query-rule-id",
      "__internal_immutable:false"
    ],
    "alertTypeId": "siem.signals",
    "consumer": "siem",
    "params": {
      "createdAt": "2020-01-17T19:11:31.813Z",
      "description": "Query with a rule_id that acts like an external id",
      "ruleId": "query-rule-id",
      "index": null,
      "falsePositives": [],
      "from": "now-6m",
      "immutable": false,
      "query": "user.name: root or user.name: admin",
      "language": "kuery",
      "outputIndex": ".siem-signals-frank-hassanabad-default",
      "savedId": null,
      "timelineId": null,
      "timelineTitle": null,
      "meta": null,
      "filters": null,
      "maxSignals": 100,
      "riskScore": 1,
      "severity": "high",
      "threats": [],
      "to": "now",
      "type": "query",
      "updatedAt": "2020-01-17T19:11:31.813Z",
      "references": [],
      "version": 1
    },
    "schedule": {
      "interval": "5m"
    },
    "enabled": true,
    "actions": [],
    "throttle": null,
    "apiKeyOwner": "elastic_kibana",
    "createdBy": "elastic_kibana",
    "updatedBy": "elastic_kibana",
    "createdAt": "2020-01-17T19:11:32.245Z",
    "muteAll": false,
    "mutedInstanceIds": [],
    "scheduledTaskId": "2c5cc340-395d-11ea-9276-d3c1c264ca9a"
  },
  "references": []
}
```

Ensure you have the internal immutable of "__internal_immutable:false" In your tags


Next test is to do a find filter of non-packaged rules:

```
./find_rule_by_filter.sh "alert.attributes.tags:%20%22__internal_immutable:false%22"
```

You should get back the above rule any others you created.

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~

~~- [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)~~

~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~

- [x] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios

~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~

### For maintainers

~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~

- [x] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)
2020-01-17 18:17:50 -07:00