-
Notifications
You must be signed in to change notification settings - Fork 1.2k
webhook: fixes, filter enhancement #12023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Adds filter functionality for webhooks. Currently, event type filter is supported - Assorted fixes Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #12023 +/- ##
============================================
+ Coverage 17.56% 17.72% +0.15%
- Complexity 15539 15730 +191
============================================
Files 5911 5919 +8
Lines 529359 529844 +485
Branches 64655 64737 +82
============================================
+ Hits 92979 93906 +927
+ Misses 425922 425408 -514
- Partials 10458 10530 +72
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15699 |
|
@shwstppr , I understand you need it for your work, but shall we separate out the upgrade code to another PR? |
|
@DaanHoogland yes, I just added a direct 4220to4230 path here for testing but we may need 4220to4221 and 4221to4230 upgrade paths. Will discuss and create a separate PR for upgrade paths |
|
@blueorangutan test |
|
@shwstppr a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-14809)
|
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch. |
|
@blueorangutan package |
|
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15743 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds webhook filter functionality to allow filtering webhook deliveries by event types, along with various fixes and enhancements. The implementation includes both UI and backend components with comprehensive test coverage.
Key Changes:
- Added webhook filter functionality with Include/Exclude modes and multiple match types (Exact, Prefix, Suffix, Contains)
- Implemented caching for webhooks and filters to improve performance
- Added comprehensive unit tests for DAO and service layers
- Fixed Python integration test and various API command issues
Reviewed Changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ui/src/config/section/tools.js | Added filters tab to webhook configuration |
| ui/src/components/view/WebhookFiltersTab.vue | New Vue component for managing webhook filters |
| ui/src/components/view/ListView.vue | Added webhook filter support to list view |
| ui/public/locales/en.json | Added localization strings for filter feature |
| engine/schema/src/main/resources/META-INF/db/schema-42200to42300.sql | Created webhook_filter table schema |
| plugins/event-bus/webhook/src/main/java/.../WebhookFilter.java | Filter interface with conflict detection logic |
| plugins/event-bus/webhook/src/main/java/.../WebhookFilterVO.java | Filter value object implementation |
| plugins/event-bus/webhook/src/main/java/.../dao/WebhookFilterDao*.java | DAO for webhook filter operations |
| plugins/event-bus/webhook/src/main/java/.../WebhookServiceImpl.java | Added filter matching logic and cache |
| plugins/event-bus/webhook/src/main/java/.../WebhookApiServiceImpl.java | API service implementation for filters |
| plugins/event-bus/webhook/src/main/java/.../api/command/user/*.java | Added filter command classes |
| plugins/event-bus/webhook/src/test/java/.../*Test.java | Comprehensive unit tests for all components |
| test/integration/smoke/test_webhook_lifecycle.py | Fixed integration test response handling |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
--tnx @shwstppr , let’s merge the upgrade path first/separately (lgtm so far)— ignore, totally confusing PRs. |
Description
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
Added filters and checked if delivery for certain events is skipped
Filters:
Logs:
How did you try to break this feature and the system with this change?