Skip to content

[ASIM] Add EmailInteraction and type EmailUrls array elements - #15497

Merged
nithil (nithillsethupathi) merged 1 commit into
masterfrom
asim/emailevent-schema-interaction-url-types
Oct 29, 2026
Merged

nithil (nithillsethupathi) merged 1 commit into
masterfrom
asim/emailevent-schema-interaction-url-types

Conversation

@nithillsethupathi

Copy link
Copy Markdown
Contributor

Required items, please complete

Change(s):

  • Append EmailInteraction to the EmailEvent EventType enumeration, preserving EmailDelivery and EmailInspection.
  • Set EmailUrls.ArrayValuesType to string, preserving ColumnType=dynamic and DynamicType=array.
  • Change only these two rows in ASIM/dev/ASimTester/ASimTester.csv. No parsers, sample data, tester implementation, or generated resources are changed.

Reason for Change(s):

Version Updated:

  • Not applicable: this changes shared schema validation metadata, not a detection/analytic-rule template or parser.

Testing Completed:

  • Passed: eight read-only KQL cases using the repository's unchanged ASimDataTester query logic, with only its metadata URL pointed at the immutable candidate commit b2c15c11d6666b9ddf80091663e6c8009058fbcb. This was an inline test query, not a deployed tester change or a claim that the normal master-backed checks already pass.

    Case Expected errors Actual errors
    Existing EmailDelivery with a URL 0 0
    Existing EmailInspection with multiple URLs 0 0
    New EmailInteraction with a URL 0 0
    EmailInteraction with an empty URL array 0 0
    Unknown event type 1 1
    Numeric URL elements 1 1
    Mixed string/numeric URL elements 1 1
    URL object instead of an array 1 1

    Execution command, with the workspace ID and generated inline query supplied through variables:

    & '.\.github\skills\log-analytics-workspace-queryer\scripts\queryLogAnalytics.ps1' -WorkspaceId $WorkspaceId -Query (Get-Content -Raw $queryPath)
  • Passed: CSV parsing; all 1,921 data records have nine columns.

    python -c "import csv,pathlib; p=pathlib.Path(r'ASIM\dev\ASimTester\ASimTester.csv'); rows=list(csv.reader(p.open(encoding='utf-8-sig',newline=''))); assert len(rows[0])==9 and all(len(row)==9 for row in rows); print(f'PASS: {len(rows)-1} records, nine columns each')"
  • Passed: an exact byte comparison against the two expected row replacements; all other content and all 1,922 CRLF line endings are preserved.

  • Passed: whitespace validation and diff scope: one file, two insertions, two deletions.

    git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --check origin/master...HEAD
    git --no-pager diff --numstat origin/master...HEAD
  • Failed, pre-existing limitation: the documented CSV validator expects the obsolete seven-column header and rejects the current nine-column CSV. The same failure was reproduced against unchanged master; the validator was not modified.

    & '.\ASIM\dev\ASimTester\Validate-ASimCsv\Validate-ASimCsv.ps1' -FilesPath (Get-Item '.\ASIM\dev\ASimTester\ASimTester.csv') -WarningAction Stop
  • KQL parser and YAML validation suites were not run because no KQL or YAML files changed. No deployment, ingestion, or persisted workspace changes were performed.

Checked that the validations are passing and have addressed any issues that are present:

  • Scoped read-only behavior checks, CSV structure, exact diff, and whitespace checks passed.
  • The legacy CSV validator's pre-existing format incompatibility is disclosed above and remains outside this two-row change.
  • Hosted PR checks are pending. The existing parser PR remains unchanged.

Add EmailInteraction without removing existing event types and declare string elements for EmailUrls arrays.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 880d7e2b-26c6-46a3-8f1d-adfc0579f59e
@nithillsethupathi
nithil (nithillsethupathi) merged commit d4a5828 into master Oct 29, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants