[zoom] Add support for the activity data stream#19481
Conversation
Elastic Docs Style Checker (Vale)Summary: 2 warnings, 1 suggestion found
|
| File | Line | Rule | Message |
|---|---|---|---|
| packages/zoom/_dev/build/docs/README.md | 5 | Elastic.EndPuntuaction | Don't end headings with punctuation. |
| packages/zoom/manifest.yml | 76 | Elastic.DontUse | Don't use 'Please'. |
💡 Suggestions (1): Optional style improvements. Apply when helpful.
| File | Line | Rule | Message |
|---|---|---|---|
| packages/zoom/_dev/build/docs/README.md | 47 | Elastic.Versions | Use 'or later' instead of 'or higher' when referring to versions. |
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.
🚀 Benchmarks reportPackage
|
| Data stream | Previous EPS | New EPS | Diff (%) | Result |
|---|---|---|---|---|
webhook |
3105.59 | 2057.61 | -1047.98 (-33.74%) | 💔 |
To see the full report comment with /test benchmark fullreport
…tempts logs in reports api
|
Pinging @elastic/security-service-integrations (Team:Security-Service Integrations) |
| value: sign-out | ||
| if: ctx.zoom?.activity?.type == 'Sign out' | ||
| - set: | ||
| field: event.category |
There was a problem hiding this comment.
Severity: 🟡 Medium confidence: medium path: packages/zoom/data_stream/activity/elasticsearch/ingest_pipeline/default.yml:78
Use append with allow_duplicates: false (not set) for the ECS array fields event.category and event.type, so the pipeline composes with any prior/@custom categorization instead of clobbering it.
Details
event.category and event.type are ECS array fields. The pipeline populates them with set processors that assign the whole list value. The documented convention for new data streams is to build these arrays with append (using allow_duplicates: false), which is idempotent and preserves any values a prior or @custom pipeline may have already added. Functionally the current set produces correct output for the values in scope here, so this is a standards/composability improvement rather than a broken behavior; the same applies to the two event.type processors (set_event_type_start, set_event_type_end).
Recommendation:
Replace the set processors for event.category / event.type with append:
- append:
field: event.category
tag: append_event_category_auth_session
value:
- authentication
- session
allow_duplicates: false
if: ctx.zoom?.activity?.type == 'Sign in' || ctx.zoom?.activity?.type == 'Sign out'
- append:
field: event.type
tag: append_event_type_start
value: start
allow_duplicates: false
if: ctx.zoom?.activity?.type == 'Sign in'
- append:
field: event.type
tag: append_event_type_end
value: end
allow_duplicates: false
if: ctx.zoom?.activity?.type == 'Sign out'🤖 AI-Generated Review | Vera Review Bot | 📚 Knowledge base: integration-skills
⚠️ Automated review — verify suggestions before applying.
|
Tick the box to add this pull request to the merge queue (same as
|
| if: ctx.source?.ip != null | ||
|
|
||
| # cleanup | ||
| - remove: |
There was a problem hiding this comment.
Severity: 🟠 High confidence: high path: packages/zoom/data_stream/activity/elasticsearch/ingest_pipeline/default.yml:174
The pipeline never removes event.original when preserve_original_event is disabled, so the manifest's preserve_original_event toggle (default false) is a no-op and the full raw event is always stored; add a conditional remove of event.original.
Details
The pipeline renames message to event.original (tag rename_message_to_event_original) and never removes it. The data stream manifest declares a preserve_original_event variable defaulting to false, and the CEL template only appends the preserve_original_event tag when that variable is true. Because no processor removes event.original when the tag is absent, event.original is retained on every document regardless of the setting. Result: the documented preserve_original_event: false default has no effect and the full raw JSON of every activity record is stored unconditionally (storage bloat and behavior contradicting the exposed option). The standard Elastic pattern removes event.original unless the preserve_original_event tag is present.
Recommendation:
Add a conditional remove of event.original in the cleanup section (keeping it only when the preserve_original_event tag is set):
- remove:
field: event.original
tag: remove_original_event
if: ctx.tags == null || !(ctx.tags.contains('preserve_original_event'))
ignore_missing: true🤖 AI-Generated Review | Vera Review Bot | 📚 Knowledge base: integration-skills
⚠️ Automated review — verify suggestions before applying.
Review summaryIssues found across the latest commits [7c20fef](https://github.com/elastic/integrations/commit/7c20fefc634ee4f86654b6b327b266a53f542cc6) — 1 high
Issues found across earlier commits [6b66ef7](https://github.com/elastic/integrations/commit/6b66ef738a60e7221d27b456a4512a34ba0ae7ca) — 1 medium
🤖 AI-Generated Review | Vera Review Bot | 📚 Knowledge base: integration-skills
|
|
✅ All changelog entries have the correct PR link. |
💚 Build Succeeded
History
|
|
Package zoom - 1.24.0 containing this change is available at https://epr.elastic.co/package/zoom/1.24.0/ |
Proposed commit message
Note
To Reviewers:
Checklist
changelog.ymlfile.How to test this PR locally
Related issues
Screenshots