Skip to content

fix(14364): Created common component for Tactics tags - #27398

Open
zeeklop wants to merge 5 commits into
masterfrom
fix/14364-tactics-techniques-missing-details
Open

zeeklop wants to merge 5 commits into
masterfrom
fix/14364-tactics-techniques-missing-details

Conversation

@zeeklop

@zeeklop zeeklop commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Description

Extracts a shared TacticsTechniquesDetailRow component that looks up the Security app's tactics/techniques row via usePluginEntities('events.components.tacticsTechniquesDetailRow') and renders it when a plugin registers it. ExpandedSection now renders this shared component instead of leaving the tactics/techniques field unhandled.

/nocl

Motivation and Context

Tactics/Techniques defined on an event definition were not shown in the right-hand sidebar (Replay Search) or in the Events Overview Widget's event details modal, because there was no shared place for a plugin to contribute this row to ExpandedSection.

This PR provides the shared component; graylog-plugin-enterprise registers the actual row implementation against it (see linked PR below).

Closes: Graylog2/graylog-plugin-enterprise#14364

/prd https://github.com/Graylog2/graylog-plugin-enterprise/pull/15647

How Has This Been Tested?

Added unit tests for TacticsTechniquesDetailRow covering the plugin-present/absent and enabled/disabled cases.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Refactoring (non-breaking change)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have requested a documentation update.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.

@zeeklop zeeklop self-assigned this Sep 15, 2026
@zeeklop
zeeklop requested review from a team and a lite review from Copilot September 15, 2026 20:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

One or more issues must be addressed before approval.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Extracts a reusable plugin-backed tactics/techniques detail row and integrates it into event details.

Changes:

  • Adds plugin lookup and feature gating.
  • Adds unit tests for plugin states.
  • Replaces the local implementation in ExpandedSection.
File summaries
File Description
graylog2-web-interface/src/components/events/TacticsTechniquesDetailRow.tsx Updated as part of this pull request.
graylog2-web-interface/src/components/events/TacticsTechniquesDetailRow.test.tsx Updated as part of this pull request.
graylog2-web-interface/src/components/events/ExpandedSection.tsx Updated as part of this pull request.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

) : null}
<TagsDetailRow tags={event.tags} />
<TacticsTechniquesPluginRow event={event} />
<TacticsTechniquesDetailRow entity={event} />
) : null}
<TagsDetailRow tags={event.tags} />
<TacticsTechniquesPluginRow event={event} />
<TacticsTechniquesDetailRow entity={event} />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants