Alerting: Add support for "normal" as state filter in rule search (#62630)

This commit is contained in:
Gilles De Mey 2023-02-01 13:32:06 +01:00 committed by GitHub
parent 53945afedf
commit faa920437c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 1 deletions

View File

@ -35,6 +35,7 @@ describe('Alert rules searchParser', () => {
it.each([
{ query: 'state:firing', expectedFilter: PromAlertingRuleState.Firing },
{ query: 'state:inactive', expectedFilter: PromAlertingRuleState.Inactive },
{ query: 'state:normal', expectedFilter: PromAlertingRuleState.Inactive },
{ query: 'state:pending', expectedFilter: PromAlertingRuleState.Pending },
])('should parse $expectedFilter rule state filter from "$query" query', ({ query, expectedFilter }) => {
const filter = getSearchFilterFromQuery(query);

View File

@ -50,7 +50,7 @@ export function getSearchFilterFromQuery(query: string): RulesFilter {
[terms.GroupToken]: (value) => (filter.groupName = value),
[terms.RuleToken]: (value) => (filter.ruleName = value),
[terms.LabelToken]: (value) => filter.labels.push(value),
[terms.StateToken]: (value) => (isPromAlertingRuleState(value) ? (filter.ruleState = value) : undefined),
[terms.StateToken]: (value) => (filter.ruleState = parseStateToken(value)),
[terms.TypeToken]: (value) => (isPromRuleType(value) ? (filter.ruleType = value) : undefined),
[terms.HealthToken]: (value) => (filter.ruleHealth = getRuleHealth(value)),
[terms.FreeFormExpression]: (value) => filter.freeFormWords.push(value),
@ -98,3 +98,15 @@ export function applySearchFilterToQuery(query: string, filter: RulesFilter): st
return applyFiltersToQuery(query, filterSupportedTerms, filterStateArray);
}
function parseStateToken(value: string): PromAlertingRuleState | undefined {
if (value === 'normal') {
return PromAlertingRuleState.Inactive;
}
if (isPromAlertingRuleState(value)) {
return value;
}
return;
}