* First pass
* First pass
* Add new routes
* Getting closer
* Remove legacy server code, and other fixes
* Register the plugin with xpack
* Pass a legacy client to telemetry
* Suport callWithInternalUser
* Remove this
* More NP work
* Fix some tests
* Fix broken test
* Move over new telemetry changes, and fix other issues
* Fix TODO item
* Reuse the same schema as elasticsearch module
* Use a singular config definition here
* Disable this for now
* Use the right method
* Use custom config again
* Tweak the config to make this optional
* Remove these
* Remove these unnecessary files
* Fix jest test
* Fix some linting issues
* Fix type issue
* Fix localization issues
* Use the elasticsearch config
* Remove todos
* Fix this check
* Move kibana alerting over
* PR feedback
* Use new metrics core service
* Change config for xpack_api_polling_frequency_millis
* Make sure this is disabled for now
* Disable both
* Update this to the new function
* Tighten up legacy api needs
* Check for existence
* Fix jest tests
* Cleaning up the plugin definition
* Create custom type in our plugin
* Revert this change
* Fix CI issues
* Add these tests back
* Just use a different collector type
* Handle errors better
* Use custom type
* PR feedback
* Fix type issues
* PR feedback
Enables the FT that tests the View inApp functionality.
It addresses an issue that causes a race condition on CI where the ViewInApp button was thought to be enabled when it was, in fact, still disabled.
This meant that the click on the button didn't trigger the handler which, in turn, made the test fail.
* Define minimum license required for each action type (#58668)
* Add minimum required license
* Require at least gold license as a minimum license required on third party action types
* Use strings for license references
* Ensure license type is valid
* Fix some tests
* Add servicenow to gold
* Add tests
* Set license requirements on other built in action types
* Use jest.Mocked<ActionType> instead
* Change servicenow to platinum
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Make actions config mock and license state mock use factory pattern and jest mocks (#59370)
* Add license checks to action HTTP APIs (#59153)
* Initial work
* Handle errors in update action API
* Add unit tests for APIs
* Make action executor throw when action type isn't enabled
* Add test suite for basic license
* Fix ESLint errors
* Fix failing tests
* Attempt 1 to fix CI
* ESLint fixes
* Create sendResponse function on ActionTypeDisabledError
* Make disabled action types by config return 403
* Remove switch case
* Fix ESLint
* Add license checks within alerting / actions framework (#59699)
* Initial work
* Handle errors in update action API
* Add unit tests for APIs
* Verify action type before scheduling action task
* Make actions plugin.execute throw error if action type is disabled
* Bug fixes
* Make action executor throw when action type isn't enabled
* Add test suite for basic license
* Fix ESLint errors
* Stop action task from re-running when license check fails
* Fix failing tests
* Attempt 1 to fix CI
* ESLint fixes
* Create sendResponse function on ActionTypeDisabledError
* Make disabled action types by config return 403
* Remove switch case
* Fix ESLint
* Fix confusing assertion
* Add comment explaining double mock
* Log warning when alert action isn't scheduled
* Disable action types in UI when license doesn't support it (#59819)
* Initial work
* Handle errors in update action API
* Add unit tests for APIs
* Verify action type before scheduling action task
* Make actions plugin.execute throw error if action type is disabled
* Bug fixes
* Make action executor throw when action type isn't enabled
* Add test suite for basic license
* Fix ESLint errors
* Stop action task from re-running when license check fails
* Fix failing tests
* Attempt 1 to fix CI
* ESLint fixes
* Return enabledInConfig and enabledInLicense from actions get types API
* Disable cards that have invalid license in create connector flyout
* Create sendResponse function on ActionTypeDisabledError
* Make disabled action types by config return 403
* Remove switch case
* Fix ESLint
* Disable when creating alert action
* Return minimumLicenseRequired in /types API
* Disable row in connectors when action type is disabled
* Fix failing jest test
* Some refactoring
* Card in edit alert flyout
* Sort action types by name
* Add tooltips to create connector action type selector
* Add tooltips to alert flyout action type selector
* Add get more actions link in alert flyout
* Add callout when creating a connector
* Typos
* remove float right and use flexgroup
* replace pixels with eui variables
* turn on sass lint for triggers_actions_ui dir
* trying to add padding around cards
* Add callout in edit alert screen when some actions are disabled
* improve card selection for Add Connector flyout
* Fix cards for create connector
* Add tests
* ESLint issue
* Cleanup
* Cleanup pt2
* Fix type check errors
* moving to 3-columns cards for connector selection
* Change re-enable to enable terminology
* Revert "Change re-enable to enable terminology"
This reverts commit b497dfd6b6.
* Add re-enable comment
* Remove unecessary fragment
* Add type to actionTypeNodes
* Fix EuiLink to not have opacity of 0.7 when not hovered
* design cleanup in progress
* updating classNames
* using EuiIconTip
* Remove label on icon tip
* Fix failing jest test
Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
* Add index to .index action type test
* PR feedback
* Add isErrorThatHandlesItsOwnResponse
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
* Implemented ability to clear and properly validate alert interval
* Fixed due to comments
* Fixed additional request for the last field
* Fixed failing test
Also move the hook use_ui_ace_keyboard_mode.tsx into es_ui_shared
This was defined (and used) in both Console and SearchProfiler.
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
- Fixes regression caused by elastic/elasticsearch#53572.
- Adjusts the TS mappings and code to reflect the newly returned API response.
- Re-enables functional tests.
* WIP trying things.
Add new alert type for Uptime.
Add defensive checks to alert executor.
Move status check code to dedicated adapter function.
Clean up code.
* Port adapter function to dedicated file.
* WIP.
* Working on parameter selection.
* Selector expressions working.
* Working on actions.
* Change anchor prop for popovers.
* Reference migrated alerting plugin.
* Clean up code for draft.
* Add button to expose flyout. Clean up some client code.
* Add test for requests function, add support for filters.
* Reorganize and clean up files.
* Add location and filter support to monitor status request function.
* Add tests for monitor status request function.
* Specify default action group id in alert registration.
* Extract repeated string value to a constant.
* Move test file to server in NP plugin.
* Update imports after NP migration.
* Fix UI bug that caused incorrect location selections in alert creation.
* Change alert expression language to clarify meaning.
* Add ability for user to select timerange units.
* Add code that fixes active item highlighting.
* Add better default value for active index selection.
* Introduce dedicated field number component.
* Add message to status check alert.
* Add tests for context message.
* Formalize alert action group definitions.
* Extract monitor id squashing from context message generator.
* Write test for monitor ID uniqueness function.
* Add alert state creator function and tests.
* Update action group id value.
* Add tests for alert factory and executor function.
* Rename alert context props to be more domain-specific.
* Clean up unnecessary type markup.
* Clean up alert ui controls file.
* Better organize new registration code.
* Simplify some logic code.
* Clean up bootstrap code.
* Add unit tests for alert type.
* Delete temporary test code from triggers_actions_ui.
* Rename a test file.
* Add some comments to annotate a file.
* Add io-ts type checking to alert create validation and alert executor.
* Add translation of plaintext content string.
* Further simplify monitor status alert validation.
* Add io-ts type checking to alert params.
* Update a comment.
* Prefer inline snapshots to more error-prone assertions.
* Clean up and comment request function.
* Rename a symbol.
* Fix broken types in reducer file and add a test.
* Fix a validation logic error and add tests.
* Delete unused import.
* Delete obsolete dependency.
* Fix function call to have correct parameters.
* Fixing some import weirdness.
* Reintroduce accidentally-deleted code.
* Delete unneeded require from legacy entry file.
* Remove unneeded connected component.
* Update flyout controls for new interface and delete connected components.
* Remove unneeded require from app index file.
* Introduce data-test-subj attributes to various components to assist with functional tests.
* Introduce functional test helpers for alert flyout.
* Add functional test arch and a test for alerting UI to ES SSL test suite.
* Add explicit exports to module index.
* Reorganize file to keep interfaces closer to their implementations.
* Move create alert button to better position.
* Clean up a file.
* Update a functional test attribute, clean up a file, rename a selector, add tests.
* Add a comment.
* Make better default alert message, translate messages, add/update tests.
* Fix broken type.
* Update obsolete snapshot.
* Introduce mock provider to tests and update snapshots.
* Reduce a strange type to `any`.
* Add alert flyout button connected component.
* Add alert flyout wrapper connected component.
* Create connected component for alert monitor status alert.
* Clean up index files.
* Update i18nrc file to cover translation in server plugin code.
* Fix broken imports.
* Update test snapshots.
* Prefer more descriptive type.
* Prefer more descriptive type.
* Prefer built-in React propType to custom.
* Prefer simpler validation.
* Add whitespace to clean up file.
* Extract function and write tests.
* Simplify validation function.
* Add navigate to alerting button.
* Move context item inside the items list.
* Clean up alert creation component.
* Update type check parsing and error messaging, and update snapshot/test assertions.
* Update broken snapshot.
* Update README for running functional tests.
* Update functional test service to reflect improved UX.
* Fix broken type that resulted from a mistake during a merge resolution.
* Add spacer between alert title and kuery bar.
* Update the id and name of our alert type because it was never changed from placeholder value.
* Rename alert keys.
* Fix broken unit tests.
* Add aria-labels to alert UI.
* Implement design feedback.
* Fix broken test snapshots.
* Add missing props to unit tests to staisfy updated types.
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Clean up use of ace in autocomplete in public
Remove ace from lib/autocomplete.ts and set up hooking up of ace
in legacy_core_editor. Also remove use of ace mocks in tests.
* Added TODO in lib/kb (console public)
* Server-side cleanup
Refactored the loading of spec into a new SpecDefinitionsService.
In this way, state can be contained inside of the service as much
as possible. Also converted all JS spec to TS and updated the
Console plugin contract so that processors (which alter loaded
spec) happen at plugin "start" phase.
* Fix types
* Small refactor
- Updated naming of argument variable in registerAutocompleter
- Refactored the SpecDefinitionsService to handle binding of
it's own functions
Adds Navigation APIs to Alerting.
Parts to this PR:
Adds a client side (Public) plugin to Alerting, including two APIs: registerNavigation & registerDefaultNavigation. These allow a plugin to register navigation handlers for any alerts which it is the consumer of- one for specific AlertTypes and one for a default handler for all AlertTypes created by the plugin.
The Alert Details page now uses these navigation handlers for the View In App button. If there's an AlertType specific handler it uses that, otherwise it uses a default one and if the consumer has not registered a handler - it remains disabled.
A generic Alerting Example plugin that demonstrates usage of these APIs including two AlertTypes - one that always fires, and another that checks how many people are in Outer Space and allows you to trigger based on that. 😉 To enable the plugin run yarn start --ssl --run-examples
* Add async search strategy
* Add async search
* Fix async strategy and add tests
* Move types to separate file
* Revert changes to demo search
* Update demo search strategy to use async
* Add async es search strategy
* Return response as rawResponse
* Poll after initial request
* Add cancellation to search strategies
* Add tests
* Simplify async search strategy
* Move loadingCount to search strategy
* Update abort controller library
* Bootstrap
* Abort when the request is aborted
* Add utility and update value suggestions route
* Fix bad merge conflict
* Update tests
* Move to data_enhanced plugin
* Remove bad merge
* Revert switching abort controller libraries
* Revert package.json in lib
* Move to previous abort controller
* Add support for frozen indices
* Fix test to use fake timers to run debounced handlers
* Revert changes to example plugin
* Fix loading bar not going away when cancelling
* Call getSearchStrategy instead of passing directly
* Add async demo search strategy
* Fix error with setting state
* Update how aborting works
* Fix type checks
* Add test for loading count
* Attempt to fix broken example test
* Revert changes to test
* Fix test
* Update name to camelCase
* Fix failing test
* Don't require data_enhanced in example plugin
* Actually send DELETE request
* Use waitForCompletion parameter
* Use default search params
* Add support for rollups
* Only make changes needed for frozen indices/rollups
* Only make changes needed for frozen indices/rollups
* Add back in async functionality
* Fix tests/types
* Fix issue with sending empty body in GET
* Don't include skipped in loaded/total
* Don't wait before polling the next time
* Add search interceptor for bulk managing searches
* Simplify search logic
* Fix merge error
* Review feedback
* Add service for running beyond timeout
* Refactor abort utils
* Remove unneeded changes
* Add tests
* cleanup mocks
* Update src/legacy/core_plugins/kibana/public/dashboard/np_ready/dashboard_app.html
Co-Authored-By: Lukas Olson <olson.lukas@gmail.com>
Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This PR adds basic functional tests for the file data visualizer, covering a file import and error messages for non-log files. It also moves the file input path handling to a common location in order to avoid code duplication.
* Initial Commit
Update to ESDocs datasource per team feedback
* Updates
Updates per Ryan's mockups
* Updates II
Updates per Poff's review
* Updates III
Update to some of the verbiage and card sizes - working on re-ordering and adding a link to the lucen query syntax
* design tweaks
* Adding lucene hyperlink
update to add hyperlink help for Lucene query syntax
* Consollidating datasources to sort
Consolidating the ESDocs datasource with the rest, so that we can order them
* updates for i18n
updates for i18n
* Updates
Updates from Gail for verbiage and integrating Ryan's change for style
* Update ui.ts
Updates for i18n
* Updates for datasource order
moving the esdocs datasource to live with the rest of the UI datasources, and sorting them accordingly.
* Update datasource_component.js
removing console log, whoops
* Update ui.ts
Update to fix i18n essql issue
* Update ui.ts
Updates to fix i18n references for the esdocs datasource move
* Update to Timelion URL
I noticed that the Timelion datasource showed "Lucene query syntax" which wasn't relevant, so I updated it to "Timelion", along with a tutorial, as the link for current Timelion docs does not provide any syntax tutorial.
* Update ui.ts
update for i18n
* Update ui.ts
update for i18n
* Update ui.ts
Update to removed unused value - the i18n check gave me latent errors, sorry for the repost
* i18n updates
Updating nomenclature to get past i18n errors
* Updates
Code review updates to remove extraneous code
* Update timelion.js
update to remove extraneous comment per code review
* More i18n updates
translation updates to accommodate the esdocs datasource move
* Update datasource_component.js
Update to toggle datasource icon in selected element mode
* Update ui.ts
hopefully last i18n fix
Co-authored-by: Ryan Keairns <contactryank@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* refactor `use_details_uri` hook and introduce `useAgentConfigLink`
* Refactor structure for datasources view
* Sync up table columns
* Added row actions to Datasources list
* Datasources table filters
* Support deleting datasource action
* Added PackageIcon to datasources list
* Fixed default message for index threshold includes both threshold values even if not used
* fixed due to review comments
* Fixed validation errors with ability to clear input
* Support yaml var type:
* Change stream config model to save type and value, instead of just value
* Add code editor for configuring yaml vars
* Adjust tests
* Account for empty yaml value
* Better account for invalid yaml parsing
* Apply action types to fields
* Add information to each field
* Do not create or update comments when actionType is set to nothing
* Improve helpers tests
* Improve tests
* Refactor: Use transformers and pipes
* Better types
* Refactor tests to new changes
* Better error messages
* Improve field formatting and display
* Improve integration tests
* Make username mandatory field
* Translate transformers
* Refactor schema
* Translate appendInformationToField helper
* Improve intergration tests
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>