Skip to content

Conversation

@gonzaarancibia
Copy link
Member

@gonzaarancibia gonzaarancibia commented Oct 20, 2025

Description

When a user logs into the Wazuh dashboard, we add preconfigured integration channels for Slack, PagerDuty, Jira, and Shuffle on the Notifications plugin. This makes it easier for the user to configure them.

Issues Resolved

#7814

Evidence

Logs from dashboard server when creating default channels

aaaaa

Default channels created

nnnnn pagerduty

Testing PagerDuty test sending message

pd1 pd2 pd3

Jira test sending message

jira1 jira2 jira3

Shuffle test sending message

shuffle1 shuffle2

Slack test sending message

slack1 slack2

Running test

Screenshot 2025-10-22 at 5 58 58 AM

Important

Before starting to run the tests, you should apply this patch to resolve permission issues.
See this comment: #7814 (comment)

Test

🟢 Test Legend

Symbol Meaning
The test hasn't started yet.
🟢 All checks passed.
🟡 There is at least one expected fail or skipped test and no failures.
🔴 There is at least one failed check.
Doesn't apply.
🔧 Request changes.
Needs more information.

UI

Test Chrome Firefox Safari
Verify that default channels are created successfully on dashboard initialization (check dashboard server logs).
Verify that all default channels render correctly in the Notification → Channels section.
Test Jira channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description.
Test PagerDuty channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description.
Test the rest of the channels directly using the “Send Test Message” button in the Channels section.
Run the tests by attaching a console to the container and running: npm run test:jest notification-default-channels/
⚫ Verify that default channels are created successfully on dashboard initialization (check dashboard server logs). * Open the Wazuh Dashboard and restart the server. * Check the dashboard server logs and confirm that default channels are created without errors. * Verify the log entries contain proper information for each created channel. Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Verify that all default channels render correctly in the Notification → Channels section. * Go to Notification → Channels. * Check that all default channels (e.g., Slack, Jira, PagerDuty, Shuffle, Email, etc.) are displayed correctly. * Verify name, description, and configuration type are rendered as expected. Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Test Jira channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description. * Create a custom monitor and add an action for the Jira channel. * Use the payload example from the channel description. * Confirm that the event is successfully received in Jira and check for any errors in logs. Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Test PagerDuty channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description. * Create a custom monitor and add an action for the PagerDuty channel. * Use the provided example payload from the channel description. * Confirm that PagerDuty receives the event successfully. Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Test the rest of the channels directly using the “Send Test Message” button in the Channels section. * Go to Notification → Channels. * Use the “Send Test Message” button for channels like Slack, Email, and Shuffle. * Confirm that each test message is successfully delivered and reflected in the logs. Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Run the tests by running: yarn test:jest:runner notification-default-channels/ (Before apply the patch)
diff --git a/plugins/main/package.json b/plugins/main/package.json
index 1e0567a2e..bcfc978bb 100644
--- a/plugins/main/package.json
+++ b/plugins/main/package.json
@@ -3,7 +3,7 @@
   "version": "5.0.0",
   "revision": "00",
   "pluginPlatform": {
-    "version": "3.2.0"
+    "version": "3.1.0"
   },
   "description": "Wazuh dashboard",
   "keywords": [

Check List

  • All tests pass
    • yarn test:jest
  • New functionality includes testing.
  • New functionality has been documented.
  • Update CHANGELOG.md
  • Commits are signed per the DCO using --signoff

…ess to add default channels

Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
@gonzaarancibia gonzaarancibia self-assigned this Oct 20, 2025
@gonzaarancibia gonzaarancibia linked an issue Oct 20, 2025 that may be closed by this pull request
2 tasks
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
@gonzaarancibia gonzaarancibia marked this pull request as ready for review October 21, 2025 13:39
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
@guidomodarelli
Copy link
Member

guidomodarelli commented Oct 23, 2025

Test

🟢 Test Legend

Symbol Meaning
The test hasn't started yet.
🟢 All checks passed.
🟡 There is at least one expected fail or skipped test and no failures.
🔴 There is at least one failed check.
Doesn't apply.
🔧 Request changes.
Needs more information.

UI

Test Chrome
Verify that default channels are created successfully on dashboard initialization (check dashboard server logs). 🟢
Verify that all default channels render correctly in the Notification → Channels section. 🟢
Test Jira channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description. 🟢
Test PagerDuty channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description. 🟢
Test the rest of the channels directly using the “Send Test Message” button in the Channels section. 🟢
Run the tests by attaching a console to the container and running: npm run test:jest notification-default-channels/ 🟢

🟢 Verify that default channels are created successfully on dashboard initialization (check dashboard server logs).
  • Open the Wazuh Dashboard and restart the server.
  • Check the dashboard server logs and confirm that default channels are created without errors.
  • Verify the log entries contain proper information for each created channel.
image

🟢 Verify that all default channels render correctly in the Notification → Channels section.
  • Go to Notification → Channels.
  • Check that all default channels (e.g., Slack, Jira, PagerDuty, Shuffle, Email, etc.) are displayed correctly.
  • Verify name, description, and configuration type are rendered as expected.
2025-10-23_11-53 2025-10-23_11-55 2025-10-23_11-56 2025-10-23_11-56_1 2025-10-23_11-56_2

🟢 Test Jira channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description.
  • Create a custom monitor and add an action for the Jira channel.
  • Use the payload example from the channel description.
  • Confirm that the event is successfully received in Jira and check for any errors in logs.
image

🟢 Test PagerDuty channel by going to Alerting → Monitors → Custom Monitor → Action and sending an event following the example shown in the channel description.
  • Create a custom monitor and add an action for the PagerDuty channel.
  • Use the provided example payload from the channel description.
  • Confirm that PagerDuty receives the event successfully.
image image

🟢 Test the rest of the channels directly using the “Send Test Message” button in the Channels section.
  • Go to Notification → Channels.
  • Use the “Send Test Message” button for channels like Slack, Email, and Shuffle.
  • Confirm that each test message is successfully delivered and reflected in the logs.

Slack 🟢
image

Shuffler 🟢
image


🟢 Run the tests by attaching a console to the container and running: `npm run test:jest notification-default-channels/`
  • See example of evidence
image

gonzaarancibia and others added 4 commits October 23, 2025 14:07
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
…ss test

Signed-off-by: gonzaarancibia <gonzaloarancibia48@gmail.com>
ensure notification health check only runs if both indexer and dashboard plugins are available

add detection for plugin availability and log when skipping registration

update plugin setup types to reflect optional dashboard notifications contract
add reminder to implement validation ensuring the notifications plugin
is installed and enabled before registering the default notification channel

helps prevent potential errors from registering notification channels
when dependencies are missing
provide a link to a relevant discussion for future context
and easier code maintenance
ensure notification health check only runs if both indexer and dashboard plugins are available

add detection for plugin availability and log when skipping registration

update plugin setup types to reflect optional dashboard notifications contract
@github-actions
Copy link
Contributor

Wazuh Core plugin code coverage (Jest) test % values
Statements 46.12% ( 381 / 826 )
Branches 44.01% ( 169 / 384 )
Functions 40.44% ( 110 / 272 )
Lines 46.26% ( 378 / 817 )

@github-actions
Copy link
Contributor

Wazuh Check Updates plugin code coverage (Jest) test % values
Statements 78.72% ( 185 / 235 )
Branches 62.72% ( 69 / 110 )
Functions 61.7% ( 29 / 47 )
Lines 78.72% ( 185 / 235 )

Copy link
Member

@guidomodarelli guidomodarelli left a comment

Choose a reason for hiding this comment

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

LGTM! 🟢

@github-actions
Copy link
Contributor

Main plugin code coverage (Jest) test % values
Statements 19.33% ( 5730 / 29643 )
Branches 13.68% ( 2510 / 18337 )
Functions 20.03% ( 1462 / 7297 )
Lines 19.56% ( 5579 / 28517 )

@felipegonzalezmv felipegonzalezmv self-requested a review October 24, 2025 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create channels for Slack, PagerDuty, Jira, and Shuffle integrations

3 participants