Skip to content

feat(wp-activity-log): add WP Activity Log integration - #246

Open
RishadAlam wants to merge 8 commits into
mainfrom
feat/wp-activity-log
Open

RishadAlam wants to merge 8 commits into
mainfrom
feat/wp-activity-log

Conversation

@RishadAlam

@RishadAlam RishadAlam commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Description

Adds the WP Activity Log (WSAL) integration to Bit Integrations Free: the action backend, the action screens and the registration of the Pro trigger and actions. Free fires one bit_integrations_wp_activity_log_* hook per action; Bit Integrations Pro does the work.

Motivation & Context

WP Activity Log users want to react to audit-log events (logins, content changes, WooCommerce, plugin and setting changes) and to manage the log and its monitoring exclusions from a flow. The integration is ported from Bit Flows (bit-pi PR #886) to the Bit Integrations Free + Pro shape.

Related Links: (if applicable)

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • 📚 Documentation update
  • ⚡ Improvement
  • 🔄 Code refactor

Key Changes

Backend

  • Added Actions/WpActivityLog/WpActivityLogController.php: plugin check, execute, and refresh routes for events, event data fields, users, objects and event types. The event list skips events that WSAL 5.x marks as deprecated.
  • Added RecordApiHelper.php: one switch case per action, each passing only the arguments the Pro handler reads, plus LogHandler::save on every path.
  • Added Routes.php and the WpActivityLog entry in AllTriggersName.php (Pro).

Frontend

  • Added AllIntegrations/WpActivityLog/ (authorization, layout, field map, utilities, edit screen, static data).
  • Added 20 Pro actions: Log Event, Delete Event, Delete Events by Filter, Delete Events Older Than, Enable Event, Disable Event, and exclude / remove exclusion for users, roles, IP addresses, post types, post statuses, post meta fields and user meta fields.
  • Added an event selector for Log Event that loads the event's placeholder fields, a time-unit selector for Delete Events Older Than, and delete warnings.
  • Added registration in NewInteg, EditInteg, IntegInfo, SelectAction and the custom form trigger list, plus the logo and the doc link.
  • Fixed the action card and header labels so they show "WP Activity Log", not the raw key.
  • Fixed the field map so the add-field button shows only when the action has optional fields.

Testing

  • Every one of the 45 trigger tasks was built as a flow in the UI and fetched from real site activity (content, users, plugins, themes, WooCommerce, ACF, Yoast, bbPress, Rank Math, Redirection, TablePress, WPForms, Paid Memberships Pro, WP 2FA, database, generic).
  • All 20 actions were built as flows in the UI and fired by a real tag creation. All 20 returned success in the flow log. The Delete Event failure in the final run is expected: a newer Delete Events by Filter flow removed the same row first.
  • An offline harness covered 35 checks across every action and the error paths. The re-entrancy guard stops events that a flow action logs from starting the flow again.

Checklist

  • Code follows project style guidelines
  • Self-review completed
  • Tests added/updated
  • Documentation updated if needed
  • README updated if needed

Changelog

  • New Triggers
  • WP Activity Log: 45 new events added (Pro).
  • New Actions
  • WP Activity Log: 20 new events added (Pro).

🤖 Generated with Claude Code

Adds the controller, record helper and routes for the WP Activity Log
action. RecordApiHelper fires one Pro hook per action and saves a task log
on every path. The routes feed the event, event data field, user, object
and event type dropdowns. Event data fields are the placeholders of the
selected event's message, metadata and links.
Adds the setup wizard, edit screen, field map and utilities for the 20 Pro
actions. Log Event loads its field map from the selected event. Delete
Events by Filter takes its event, user, severity, object and event type
filters from Utilities. Both delete-in-bulk actions show a warning that
deleted events cannot be restored.
Lists WP Activity Log in the trigger list (custom form submission type) and
the action list, wires the new, edit and info screens, and adds the logo.
The action list card and the new-integration header showed the raw type key WpActivityLog.
…ds exist

Actions with only required fields offered an add button that opened an empty field picker.
Copilot AI balanced review requested due to automatic review settings October 27, 2026 13:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

@github-actions

Copy link
Copy Markdown

✅ WordPress Plugin Check Report

✅ Status: Passed

📊 Report

All checks passed! No errors or warnings found.


🤖 Generated by WordPress Plugin Check Action • Learn more about Plugin Check

- One validator checks the action, event, time unit, required fields and
  delete filters on the new and edit screens, so a flow that cannot run
  is not saved.
- Ignore event field responses that arrive after the user picked another
  event.
- Actions on stored rows say "log entry"; "event" means an event type.
  Meta key labels, toasts and notes use active voice.
Copilot AI balanced review requested due to automatic review settings October 27, 2026 14:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

Match the wording that Charitable and the other action controllers use.
Copilot AI balanced review requested due to automatic review settings October 28, 2026 04:42

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

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.

2 participants