This creates an APM API endpoint that fetches data for the latency distribution chart in the trace samples tab on the transactions page. Previously, this data was fetched via the custom Kibana search strategies used for APM Correlations which causes issues in load balancing setups.
* Fix package update button + icon
* Adjust order of modal of states based on UX review
* Clarify integration/agent policies in integration UI policy table
* [Snapshot % Restore] Added server side pagination and sorting to get snapshots route, refactored snapshots table to use EuiBasicTable with controlled pagination instead of EuiInMemoryTable
* [Snapshot & Restore] Added server side sorting by shards and failed shards counts
* [Snapshot & Restore] Fixed i18n errors
* [Snapshot & Restore] Added server side sorting by repository
* [Snapshot & Restore] Implemented server side search request for snapshot, repository and policy name
* [Snapshot & Restore] Fixed eslint errors
* [Snapshot & Restore] Removed uncommented code
* [Snapshot & Restore] Fixed pagination/search bug
* [Snapshot & Restore] Fixed pagination/search bug
* [Snapshot & Restore] Fixed text truncate bug
* [Snapshot & Restore] Fixed non existent repository search error
* Update x-pack/plugins/snapshot_restore/public/application/sections/home/snapshot_list/components/snapshot_search_bar.tsx
Co-authored-by: CJ Cenizal <cj@cenizal.com>
* Update x-pack/plugins/snapshot_restore/public/application/sections/home/snapshot_list/components/snapshot_empty_prompt.tsx
Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
* [Snapshot & Restore] Fixed missing i18n and no snapshots callout
* [Snapshot & Restore] Moved "getSnapshotSearchWildcard" to a separate file and added unit tests
* [Snapshot & Restore] Added api integration tests for "get snapshots" endpoint (pagination, sorting, search)
* [Snapshot & Restore] Renamed SnapshotSearchOptions/SnapshotTableOptions to -Params and added the link to the specs issue
* [Snapshot & Restore] Fixed search wildcard to also match string in the middle of the value, not only starting with the string. Also updated the tests following the code review suggestions to make them more readable.
* [Snapshot & Restore] Added incremental search back to snapshots list and a debounce of 500ms
* [Snapshot & Restore] Updated snapshot search debounce value and extracted it into a constant
* [Snapshot & Restore] Renamed debounceValue to cachedListParams and added a comment why debounce is used
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: CJ Cenizal <cj@cenizal.com>
Co-authored-by: James Rodewig <40268737+jrodewig@users.noreply.github.com>
* Upgraded the version of EUI to 38.2.0 from 38.0.1
* Updated the i18n mappings required for EUI v.38.2.0
* Update i18n snapshots and resolve linting error
* Removed html_id_generator mocks.
Current mock was failing due to missing useGeneratedHtmlId export. This is safe to remove because EUI contains a .testenv that contains an mock for html_id_generator. More info at https://github.com/elastic/eui/blob/master/src/services/accessibility/html_id_generator.testenv.ts
* Resolve linting error in i18n mapping file
* Removed html_id_generator mocks.
Current mock was failing due to missing useGeneratedHtmlId export. This is safe to remove because EUI contains a .testenv that contains a mock for html_id_generator. More info at https://github.com/elastic/eui/blob/master/src/services/accessibility/html_id_generator.testenv.ts
* Update plugin snapshots
* Resolve merge conflict in license_checker config.ts file
* Upgrade EUI to version 39.0.0 from the original target (38.2.0) to handle an issue found with a functional test during the original upgrade
* Updated the i18n mapping for EUI v.39.0.0
* Update various snapshots to account for the an i18n translation token addition in EUI v. 39.0.0
* Updated test cases marked as obsolete by CI
* Update src/dev/license_checker/config.ts
Removing TODO comments from src/dev/license_checker/config.ts as they are no longer needed.
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
* Add option auto fit row to content
* Fix tests
* Fix tests
* Add temp fix for correct rendering grid with auto-height when changing data or setting
* Fix lint
* Fix lint and tests
* Adds new dependency for temp fix
Co-authored-by: Brianna Hall <briannajdhall@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Bree Hall <40739624+breehall@users.noreply.github.com>
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
* [Reporting] Revisit handling timeouts for different phases of screenshot capture
* remove translations for changed text
* add wip unit test
* simplify class
* todo more testing
* fix ts
* update snapshots
* simplify open_url
* fixup me
* move setupPage to a method of the ObservableHandler class
* do not pass entire config object to helper functions
* distinguish internal timeouts vs external timeout
* add tests for waitUntil
* checkIsPageOpen test
* restore passing of renderErrors
* updates per feedback
* Update x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts
Co-authored-by: Michael Dokolin <dokmic@gmail.com>
* Update x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts
Co-authored-by: Michael Dokolin <dokmic@gmail.com>
* Update x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts
Co-authored-by: Michael Dokolin <dokmic@gmail.com>
* Update x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts
Co-authored-by: Michael Dokolin <dokmic@gmail.com>
* Update x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts
Co-authored-by: Michael Dokolin <dokmic@gmail.com>
* fix parsing
* apply simplifications consistently
* dont main waitUntil a higher order component
* resolve the timeouts options outside of the service
* comment correction
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Michael Dokolin <dokmic@gmail.com>
## Summary
It was brought to our attention from security solutions that developers found we are missing the iterators and entries and others from TypeScript that are available when you include within `lib` `DOM.iterable`.
For example without it you cannot use `entries` like this:
<img width="985" alt="Screen Shot 2021-10-15 at 9 10 17 AM" src="https://user-images.githubusercontent.com/1151048/137512234-d14dc43c-129a-49d4-bc6c-410baf2d46f7.png">
Until you add it within he base config. Developers are indicating they noticed that workarounds such as lodash or casting is possible but I think this is the wrong direction to go and it's just an oversight that we missed adding the `DOM.iterable` unless someone tells us otherwise. If it is intentional to omit I would like to add docs to the `tsconfig.base.json` about why we omit it for programmers to understand the intention and why we should discourage use or recommend a library such as lodash instead.
* Replacing EuiPopover with EuiComboBox
* The combobox will help alleviate issues when the list of options is very long
* Refactoring the Combobox to listen for change events
* Added an onChange handler
* Renamed the method to render the combobox
* Commented out additional blocks of code before final refactor
* Finished refactoring the Request Selector to use EUI Combobox
* Removed three helper methods for the EUIPopover.
* `togglePopover()`
* `closePopover()`
* `renderRequestDropdownItem()`
* Removed the local state object and interface (no longer needed)
* Renamed the const `options` to `selectedOptions` in `handleSelectd()`
method to better reflect where the options array was coming from.
* Updating tests and translations
* Fixed the inspector functional test to use comboBox service
* Removed two unused translations
* Updating Combobox options to pass data-test-sub string
* Updated two tests for Combobox single option
* Updated the test expectations to the default string
* Both tests were looking for a named string instead of a default
message
* Adding error handling to Inspector combobox
* Checking for the item status code
* Adding a " (failed)" message if the status code returns `2`
* Updating test to look for "Chart_data" instead of "Chartdata"
* Updating two tests to validate single combobox options
* Added helper method to check default text against combobox options
* Added helper method to get the selected combobox option
* Checking two inspector instances using helpers
* Adding a defensive check to helper method.
* Correct a type error in test return
* Adding back translated failLabel
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
* Fix errors and comment code in middleware (pending to fix this)
* Fix endpoint list middleware test
* Fix policy TA layout test
* Fix test returning missing promise
* [Lens] fix filters not being cleaned
* Update lens_slice.ts
* types
* do not reset persistedDoc on load
* [Lens] functional test for query, filters and time range
* snapshot update
* fix flakiness
* fix getting filters from refs
* simplify tests
* confirm modal
* Update persistent_context.ts
* load the file above
* Update persistent_context.ts
* shorten c4
* flaky test
* fix geo_field changing index pattern, remove non used data view
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Fix localizing `os` if the artifact is assigned to multiple OSs
* Test case to validate that multiple OSs are i18n
* updated trusted apps test snapshots
Adds auto and manual performance tests
If "ITERATION_COUNT_ENV" exist in build job:
- Auto Mode: Checks "ITERATION_COUNT_ENV",
- Manual Mode: Waits for user input,
use provided value to run "n" number of performance tests on parallel
- Sends slack notifications when pipeline finished
* 💄 Sync the invalid state on the dimension button
* 🏷️ Fix type issue
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Ui changes and add skeleton when loading policies
* Fix tests
* Changes in context menu for effect scope
* Addjust card header and title
* Adjust marging for operator in critera conditions
* Fix and adds unit tests
* fix multilang key
* Fix ts error
* Addressed pr comments
* Fixes unit tests and changed prop name. Also set max-width to 50% for hover info
* Don't render flexItem if no needed
* Fixes unit test
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* POC
* Before and after saving connector callbacks
* Draft callbacks on SN
* Migrate legacy connectors
* Add deprecated connector
* Fix callbacks types
* Pass isEdit to connector forms
* Get application info hook
* Validate instance on save
* Support both legacy and new app
* Seperate SIR
* Log application version & and throw otherwise
* Deprecated tooltip cases
* Deprecated tooltip alerts
* Improve message
* Improve translation
* Change to elastic table & fix types
* Add callbacks to add modal
* Pass new props to tests
* Change health api url to production
* Better installation message
* Migrate connectors functionality
* Change migration version to 7.16
* Fix bug
* Improve message
* Use feature flag
* Create credentials component
* Add form to migration modal
* Improve installation callout
* Improve deprecated callout
* Improve modal
* Improve application required modal
* Improve SN form
* Support both connectors
* Support correlation attributes
* Use same component for SIR
* Prevent using legacy connectors when creating a case
* Add observables
* Unique observables
* Push only if there are observables
* Change labels to plural
* Pass correlation ID and value
* Show errors on the callout
* Improve alerts tooltip
* Improve cases tooltip
* Warning callout on cases configuration page
* Fix tooltip content
* Add help text
* Change from string to array
* Fix i18n
* Fix spelling
* Update incidents for ITSM
* Update incidents for SIR
* Fix types
* Fix backend tests
* Fix frontend tests
* Add service tests
* Fix i18n
* Fix cypress test
* Improve ServiceNow intergration tests
* Fix cases integration tests
* Fix triggers actions ui end to end test
* Fix tests
* Rename modal
* Show error message on modal
* Create useOldConnector helper
* Show the update incident toggle only on new connectors
* Add observables for old connectors
* Fix error when obs are empty
* Enable SIR for alerts
* Fix types
* Improve combineObservables
* Add test for the sir api
* Add test for the sir service
* Add documentation
* PR feedback
* Improve cases deprecated callouts
* Improve observables format
* Add integration tests for SIR
* Fix doc error
* Add config tests
* Add getIncident tests
* Add util tests
* Add migration tests
* Add tests for connectors and improve callouts
* Add more tests
* Add more UI tests
* update connector modal to flyout
* PR feedback
* Test CI
* restore auth callout
* edit connector form spacing
* Improve integration tests
* Add 8 pixels to the left of the connector icon
* update switch to checkboxes
* case detail ui
* Seperate ServiceNow integration tests
* Remove observables fields
* Add correlation values
* Fix merge
* add deprecated text in the dropdown
* update card icon to the right
* new update connetor test and other tests fixes
* PR feedback
* Remove observables from docs
* Remove unused translations
* Using eui theme for styling
* Content feeback
* Add more unit tests
* Fix i18n
* Fix types
* Fixes
* Fixes
* test properly
* fix duplicated translation
* Simplify tooltip
* Writing feedback
Co-authored-by: Christos Nasikas <christos.nasikas@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Jonathan Buttner <jonathan.buttner@elastic.co>
## Summary
Resolves (a portion of) https://github.com/elastic/kibana/issues/107068 for the `siem-detection-engine-rule-status` type by migrating the `alertId` to be within the `SO references[]`. Based on: https://github.com/elastic/kibana/pull/113577
* Migrates the legacy `siem-detection-engine-rule-status` `alertId` to saved object references array
* Adds an e2e test for `siem-detection-engine-rule-status`
* Breaks out `siem-detection-engine-rule-status` & `security-rule` SO's to their own dedicated files/directories, and cleaned up typings/imports
Before migration you can observe the existing data structure of `siem-detection-engine-rule-status` via Dev tools as follows:
```
GET .kibana/_search
{
"size": 10000,
"query": {
"term": {
"type": {
"value": "siem-detection-engine-rule-status"
}
}
}
}
```
``` JSON
{
"_index" : ".kibana-spong_8.0.0_001",
"_id" : "siem-detection-engine-rule-status:d580f1a0-2afe-11ec-8621-8d6bfcdfd75e",
"_score" : 2.150102,
"_source" : {
"siem-detection-engine-rule-status" : {
"alertId" : "d62d2980-27c4-11ec-92b0-f7b47106bb35", <-- alertId which we want in the references array and removed
"statusDate" : "2021-10-12T01:50:52.898Z",
"status" : "failed",
"lastFailureAt" : "2021-10-12T01:50:52.898Z",
"lastSuccessAt" : "2021-10-12T01:18:29.195Z",
"lastFailureMessage" : "6 minutes (385585ms) were not queried between this rule execution and the last execution, so signals may have been missed. Consider increasing your look behind time or adding more Kibana instances. name: \"I am the Host who Names!\" id: \"d62d2980-27c4-11ec-92b0-f7b47106bb35\" rule id: \"214ccef6-e98e-493a-98c5-5bcc2d497b79\" signals index: \".siem-signals-spong-default\"",
"lastSuccessMessage" : "succeeded",
"gap" : "6 minutes",
"lastLookBackDate" : "2021-10-07T23:43:27.961Z"
},
"type" : "siem-detection-engine-rule-status",
"references" : [ ],
"coreMigrationVersion" : "7.14.0",
"updated_at" : "2021-10-12T01:50:53.404Z"
}
}
```
Post migration the data structure should be updated as follows:
``` JSON
{
"_index": ".kibana-spong_8.0.0_001",
"_id": "siem-detection-engine-rule-status:d580f1a0-2afe-11ec-8621-8d6bfcdfd75e",
"_score": 2.1865466,
"_source": {
"siem-detection-engine-rule-status": {
"statusDate": "2021-10-12T01:50:52.898Z", <-- alertId is no more!
"status": "failed",
"lastFailureAt": "2021-10-12T01:50:52.898Z",
"lastSuccessAt": "2021-10-12T01:18:29.195Z",
"lastFailureMessage": "6 minutes (385585ms) were not queried between this rule execution and the last execution, so signals may have been missed. Consider increasing your look behind time or adding more Kibana instances. name: \"I am the Host who Names!\" id: \"d62d2980-27c4-11ec-92b0-f7b47106bb35\" rule id: \"214ccef6-e98e-493a-98c5-5bcc2d497b79\" signals index: \".siem-signals-spong-default\"",
"lastSuccessMessage": "succeeded",
"gap": "6 minutes",
"lastLookBackDate": "2021-10-07T23:43:27.961Z"
},
"type": "siem-detection-engine-rule-status",
"references": [
{
"id": "d62d2980-27c4-11ec-92b0-f7b47106bb35", <-- previous alertId has been converted to references[]
"type": "alert",
"name": "alert_0"
}
],
"migrationVersion": {
"siem-detection-engine-rule-status": "7.16.0"
},
"coreMigrationVersion": "8.0.0",
"updated_at": "2021-10-12T01:50:53.406Z"
}
},
```
#### Manual testing
---
There are e2e tests but for any manual testing or verification you can do the following:
##### Manual upgrade test
If you have a 7.15.0 system and can migrate it forward that is the most straight forward way to ensure this does migrate correctly. You should see that the `Rule Monitoring` table and Rule Details `Failure History` table continue to function without error.
##### Downgrade via script and test migration on kibana reboot
If you have a migrated `Rule Status SO` and want to test the migration, you can run the below script to downgrade the status SO then restart Kibana and observe the migration on startup.
Note: Since this PR removes the mapping, you would need to [update the SO mapping](https://github.com/elastic/kibana/pull/114585/files#r729386126) to include `alertId` again else you will receive a strict/dynamic mapping error.
```json
# Replace id w/ correct Rule Status SO id of existing migrated object
POST .kibana/_update/siem-detection-engine-rule-status:d580ca91-2afe-11ec-8621-8d6bfcdfd75e
{
"script" : {
"source": """
ctx._source.migrationVersion['siem-detection-engine-rule-status'] = "7.15.0";
ctx._source['siem-detection-engine-rule-status'].alertId = ctx._source.references[0].id;
ctx._source.references.remove(0);
""",
"lang": "painless"
}
}
```
Restart Kibana and now it should be migrated correctly and you shouldn't see any errors in your console. You should also see that the `Rule Monitoring` table and Rule Details `Failure History` table continue to function without error.
### Checklist
Delete any items that are not applicable to this PR.
- [ ] ~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~
- [X] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
### For maintainers
- [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
Co-authored-by: Georgii Gorbachev <georgii.gorbachev@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>