Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Alerting] Fix validation support for nested IErrorObjects #62833

Merged
merged 4 commits into from
Apr 8, 2020

Conversation

Zacqary
Copy link
Contributor

@Zacqary Zacqary commented Apr 7, 2020

Summary

Fixes #62831

Modifies the AlertAdd component so that it can successfully validate alert types that use several nested IErrorObjects for validation. For example, metric alerts contain an arbitrary number of expressions and validate them like this:

{
  0: { 
   aggField: [],
   timeSizeUnit: [],
   timeWindowSize: [],
   threshold0: ['Threshold is required'],
   threshold1: [],
  },
  1: { 
   aggField: [],
   timeSizeUnit: [],
   timeWindowSize: [],
   threshold0: [],
   threshold1: [],
  },
  ...rest
}

This PR allows these expressions to be validated successfully. Previously invalid expressions would not disable the Save button.

@Zacqary Zacqary added Feature:Alerting Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services release_note:skip Skip the PR/issue when compiling release notes v7.7.0 Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) labels Apr 7, 2020
@Zacqary Zacqary requested a review from a team as a code owner April 7, 2020 17:20
@elasticmachine
Copy link
Contributor

Pinging @elastic/logs-metrics-ui (Team:logs-metrics-ui)

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-alerting-services (Team:Alerting Services)

Copy link
Contributor

@YulNaumenko YulNaumenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@Zacqary Zacqary merged commit 941a487 into elastic:master Apr 8, 2020
@Zacqary Zacqary deleted the 62831-recursive-alert-errors branch April 8, 2020 17:40
Zacqary added a commit to Zacqary/kibana that referenced this pull request Apr 8, 2020
…2833)

* [Alerting] Add validation support for nested IErrorObjects

* Typecheck fix

* Fix recursion crash when errors are strings

* Typecheck fix
Zacqary added a commit to Zacqary/kibana that referenced this pull request Apr 8, 2020
…2833)

* [Alerting] Add validation support for nested IErrorObjects

* Typecheck fix

* Fix recursion crash when errors are strings

* Typecheck fix
Zacqary added a commit that referenced this pull request Apr 9, 2020
…62994)

* [Alerting] Add validation support for nested IErrorObjects

* Typecheck fix

* Fix recursion crash when errors are strings

* Typecheck fix
Zacqary added a commit that referenced this pull request Apr 9, 2020
…62995)

* [Alerting] Add validation support for nested IErrorObjects

* Typecheck fix

* Fix recursion crash when errors are strings

* Typecheck fix
jloleysens added a commit to jloleysens/kibana that referenced this pull request Apr 9, 2020
…chore/put-all-xjson-together

* 'master' of github.com:elastic/kibana: (35 commits)
  [SIEM] [Detection Engine] Fixes bug when notification doesn't… (elastic#63013)
  [SIEM][Detection Engine] Fix rule notification critical bugs
  Add Error Exception Type Column (elastic#59596)
  [APM] Agent remote configuration: changes in Java property descriptions (elastic#62282)
  [Alerting] Displays warning when a permanent encryption key is missing and hides alerting UI appropriately (elastic#62772)
  FTR: add chromium-based Edge browser support (elastic#61684)
  [Ingest] Data source configuration validation UI (elastic#61180)
  restore empty_kibana after saved objects test (elastic#62951)
  Index pattern management plugin - src/legacy/core_plugins/management => new platform plugin (elastic#62594)
  Add basic StatusService (elastic#60335)
  [kbn/optimizer] link to kibanaReact/kibanaUtils plugins (elastic#62720)
  [APM] Service map - fixes layout issues for maps with no rum services (elastic#62887)
  Exclude disabled datasources and streams from agent config (elastic#62869)
  [Alerting] Fix validation support for nested IErrorObjects (elastic#62833)
  [Metrics UI] Invalidate non-count alerts which have no metrics (elastic#62837)
  Add --filter option to API docs script (elastic#62888)
  [Maps] fix attribution overflow with exit full screen button (elastic#62699)
  [Uptime]Alerting UI text in case filter is selected (elastic#62570)
  [Maps] Show create filter button for top-term tooltip property (elastic#62461)
  skip flaky suite (elastic#59030)
  ...

# Conflicts:
#	src/plugins/es_ui_shared/public/index.ts
gmmorris added a commit to gmmorris/kibana that referenced this pull request Apr 9, 2020
* master: (40 commits)
  [ML] Functional transform tests - stabilize source selection (elastic#63087)
  add embed flag to saved object url as well (elastic#62926)
  [SIEM] [Detection Engine] Fixes bug when notification doesn't… (elastic#63013)
  [SIEM][Detection Engine] Fix rule notification critical bugs
  Add Error Exception Type Column (elastic#59596)
  [APM] Agent remote configuration: changes in Java property descriptions (elastic#62282)
  [Alerting] Displays warning when a permanent encryption key is missing and hides alerting UI appropriately (elastic#62772)
  FTR: add chromium-based Edge browser support (elastic#61684)
  [Ingest] Data source configuration validation UI (elastic#61180)
  restore empty_kibana after saved objects test (elastic#62951)
  Index pattern management plugin - src/legacy/core_plugins/management => new platform plugin (elastic#62594)
  Add basic StatusService (elastic#60335)
  [kbn/optimizer] link to kibanaReact/kibanaUtils plugins (elastic#62720)
  [APM] Service map - fixes layout issues for maps with no rum services (elastic#62887)
  Exclude disabled datasources and streams from agent config (elastic#62869)
  [Alerting] Fix validation support for nested IErrorObjects (elastic#62833)
  [Metrics UI] Invalidate non-count alerts which have no metrics (elastic#62837)
  Add --filter option to API docs script (elastic#62888)
  [Maps] fix attribution overflow with exit full screen button (elastic#62699)
  [Uptime]Alerting UI text in case filter is selected (elastic#62570)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Alerting release_note:skip Skip the PR/issue when compiling release notes Team:Infra Monitoring UI - DEPRECATED DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) v7.7.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Metrics Alerts] Alert should not be saveable when expression is invalid
4 participants