Add Exceptions action steps page for Workflows - #8340
Draft
nastasha-solomon wants to merge 1 commit into
Draft
nastasha-solomon wants to merge 1 commit into
nastasha-solomon wants to merge 1 commit into
Conversation
Document the two exception steps that are GA in 9.6 and serverless: - security.createRuleException adds an item to a rule's own default exception list, creating that list if the rule has none. - security.createExceptionListItem adds an item to an existing list, identified by list_id. Both are documented on a new steps/exceptions.md family page, matching the layout of steps/detection-rules.md, and covering the flat verb-based entry operators, the value-list mixing restriction, expire_time, and idempotency via item_id and overwrite. Also updates the security.md hub, the action-steps.md overview, the step-types.md index, and the explore-analyze TOC. Closes #7819 Closes #7820 Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Elastic Docs AI PR menuCheck the box to run an AI review for this pull request.
Powered by GitHub Agentic Workflows and docs-actions. For more information, reach out to the docs team. |
Contributor
Contributor
Elastic Docs Style Checker (Vale)Summary: 4 warnings, 1 suggestion found
|
| File | Line | Rule | Message |
|---|---|---|---|
| explore-analyze/workflows/reference/step-types.md | 92 | Elastic.Spelling | 'idempotency' is a possible misspelling. |
| explore-analyze/workflows/reference/step-types.md | 93 | Elastic.Spelling | 'idempotency' is a possible misspelling. |
| explore-analyze/workflows/steps/exceptions.md | 99 | Elastic.Spelling | 'idempotency' is a possible misspelling. |
| explore-analyze/workflows/steps/exceptions.md | 171 | Elastic.Spelling | 'idempotency' is a possible misspelling. |
💡 Suggestions (1): Optional style improvements. Apply when helpful.
| File | Line | Rule | Message |
|---|---|---|---|
| explore-analyze/workflows/steps/exceptions.md | 266 | Elastic.WordChoice | Consider using 'deactivate, deselect, hide, turn off' instead of 'disable', unless the term is in the UI. |
The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documents the two exception action steps that are GA in 9.6 and serverless:
security.createRuleExceptionadds an item to a detection rule's own default exception list, creating that list if the rule doesn't have one. Affects only that rule.security.createExceptionListItemadds an item to an existing exception list identified bylist_id. Affects every rule linked to that list.Both live on a new family page,
explore-analyze/workflows/steps/exceptions.md, mirroring the layout of the existingsteps/detection-rules.md. The issues asked for an inline "Exceptions" group onsteps/security.md, but that page is now a hub that links out to family pages, so a new family page matches the current IA.security.mdgets an Exceptions section pointing to it.The page covers the shared conventions both steps use: the flat verb-based entry operators, the value-list mixing restriction,
entriesas a logical AND, the lack of nested-condition support,expire_time, and idempotency viaitem_id/overwrite.Closes #7819
Closes #7820
Files
explore-analyze/workflows/steps/exceptions.mdexplore-analyze/workflows/steps/security.mdexplore-analyze/workflows/steps/action-steps.mdexplore-analyze/workflows/reference/step-types.mdexplore-analyze/toc.ymlReviewer notes
%comment must be removed before merge. In the "Detection rules have two identifiers" convention, I left a question: is there a supported UI path for finding a rule'sid(the UUID) that we should link? Readers who only know a rule by name or by itsrule_idfield currently have no documented way to get the UUID. I couldn't verify a path without UI access, so I flagged it rather than guessing.Verified against kibana#277802 at
HEAD, not against the issue text. Parameter names, types, defaults, required-ness, the operator enum, theoverwrite-requires-item_idrefinement, the cross-listitem_idconflict behavior, and the output shape all come from the step schemas, server handlers, and their unit tests. One discrepancy worth noting: issue #7820 says the editor icon islist_add, butHEADuseslist_check. Icons aren't documented, so nothing in the page depends on it.Reader-tested three times. The third pass caught a real bug in my own example: I had written a scheduled workflow with a top-level
inputs:block usingtype: choicewithitems:. AtHEAD,inputsbelongs to the manual trigger on 9.5+, andchoicetakesoptions:and yields a single string, not an array. The complete example now usesconsts, which matchesauthoring-techniques/anatomy.md.Local build passes.
docs-buildercompletes, the page renders, theschema-location-legendinclude expands, all section anchors emit, and all 15 outbound links resolve. Vale reports 0 errors on the new page. (The build also throws pre-existing unrelated errors on thelogstashOpenAPI generator and four changelog bundles; those fire on a cleanmaintoo.)Deliberately left out: whether a new exception suppresses already-generated alerts or only affects future rule runs. Two reader tests asked for it. I found nothing authoritative in the source or existing docs, so I'd rather a SME answer it than guess. Happy to add it if someone can confirm.
Scoped out of this PR, can add on request: the one-sentence pointer from
solutions/security/detect-and-alert/rule-exceptions.md, plus entries inreference/cheat-sheet.md,authoring-techniques/choose-the-right-step.md, anduse-cases/security/manage-detection-rules.md. Separately,choose-the-right-step.mdis currently missingsecurity.enableRule/security.disableRuleentirely — a pre-existing gap I didn't want to half-fix here.Generative AI disclosure
Tool(s) and model(s) used: Cursor (Claude Opus 5). All technical claims were verified by the author against the implementation PR at
HEADand the local docs build.