[PR #146] [MERGED] feat: add WebHook notifier module #138

Closed
opened 2026-02-26 17:37:29 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Corsinvest/cv4pve-admin/pull/146
Author: @franklupo
Created: 2/16/2026
Status: Merged
Merged: 2/16/2026
Merged by: @franklupo

Base: mainHead: feat/webhook-notifier


📝 Commits (3)

  • 84168ac refactor: rename HttpClient names to generic and improve SSL label
  • 5ef3648 feat: add WebHook notifier module
  • 6478aaa docs: add Notification Hub documentation with WebHook examples

📊 Changes

20 files changed (+617 additions, -7 deletions)

View changed files

📝 docs/user/docs/configuration/admin-area.md (+4 -2)
docs/user/docs/configuration/notifier.md (+186 -0)
📝 docs/user/mkdocs.yml (+1 -0)
📝 src/Corsinvest.ProxmoxVE.Admin.Core/Clients/Pve/PveClientFactory.cs (+2 -2)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/HookExecutor.cs (+121 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/IHookExecutor.cs (+13 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/ServiceCollectionExtensions.cs (+11 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHook.cs (+17 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookAuth.cs (+21 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookAuthType.cs (+13 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookBodyType.cs (+13 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookHttpMethod.cs (+14 -0)
src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookResult.cs (+14 -0)
📝 src/Corsinvest.ProxmoxVE.Admin.Core/ServiceCollectionExtensions.cs (+6 -2)
src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/WebHook/Components/Render.razor (+115 -0)
src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/WebHook/Module.cs (+10 -0)
src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/WebHook/Settings.cs (+53 -0)
📝 src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/_Imports.razor (+1 -0)
📝 src/Corsinvest.ProxmoxVE.Admin.Module.System/Components/ClusterConfig/ClusterSettingsDialog.razor (+1 -1)
📝 src/Corsinvest.ProxmoxVE.Admin/Program.cs (+1 -0)

📄 Description

Summary

  • Add HookExecutor infrastructure in Core (WebHook, auth types, body types, HTTP methods)
  • Add WebHook notifier module with configurable URL, method, body template, auth (Basic/Bearer/ApiKey), timeout and SSL options
  • Rename HttpClient named instances from Proxmox* to generic Http* to support non-PVE HTTP clients
  • Register HookExecutor service and WebHook module in DI and application startup
  • Improve label "Validate Certificate" → "Validate SSL Certificate" for clarity

Test plan

  • Configure a WebHook notifier with POST method and JSON body using %subject% and %body% placeholders
  • Test Basic, Bearer and ApiKey auth types
  • Test with IgnoreSslCertificate enabled
  • Verify existing PVE cluster connections still work after HttpClient rename

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Corsinvest/cv4pve-admin/pull/146 **Author:** [@franklupo](https://github.com/franklupo) **Created:** 2/16/2026 **Status:** ✅ Merged **Merged:** 2/16/2026 **Merged by:** [@franklupo](https://github.com/franklupo) **Base:** `main` ← **Head:** `feat/webhook-notifier` --- ### 📝 Commits (3) - [`84168ac`](https://github.com/Corsinvest/cv4pve-admin/commit/84168acc967ca927ea1c5d0799f9d8a2bfdc2bd5) refactor: rename HttpClient names to generic and improve SSL label - [`5ef3648`](https://github.com/Corsinvest/cv4pve-admin/commit/5ef364860bcca207554cf80fd966acb16c4eb5a4) feat: add WebHook notifier module - [`6478aaa`](https://github.com/Corsinvest/cv4pve-admin/commit/6478aaa1f729332c5dce4a1eddc6df1da09dd209) docs: add Notification Hub documentation with WebHook examples ### 📊 Changes **20 files changed** (+617 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `docs/user/docs/configuration/admin-area.md` (+4 -2) ➕ `docs/user/docs/configuration/notifier.md` (+186 -0) 📝 `docs/user/mkdocs.yml` (+1 -0) 📝 `src/Corsinvest.ProxmoxVE.Admin.Core/Clients/Pve/PveClientFactory.cs` (+2 -2) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/HookExecutor.cs` (+121 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/IHookExecutor.cs` (+13 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/ServiceCollectionExtensions.cs` (+11 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHook.cs` (+17 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookAuth.cs` (+21 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookAuthType.cs` (+13 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookBodyType.cs` (+13 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookHttpMethod.cs` (+14 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Core/Hooks/WebHookResult.cs` (+14 -0) 📝 `src/Corsinvest.ProxmoxVE.Admin.Core/ServiceCollectionExtensions.cs` (+6 -2) ➕ `src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/WebHook/Components/Render.razor` (+115 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/WebHook/Module.cs` (+10 -0) ➕ `src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/WebHook/Settings.cs` (+53 -0) 📝 `src/Corsinvest.ProxmoxVE.Admin.Module.Notifier/_Imports.razor` (+1 -0) 📝 `src/Corsinvest.ProxmoxVE.Admin.Module.System/Components/ClusterConfig/ClusterSettingsDialog.razor` (+1 -1) 📝 `src/Corsinvest.ProxmoxVE.Admin/Program.cs` (+1 -0) </details> ### 📄 Description ## Summary - Add `HookExecutor` infrastructure in Core (WebHook, auth types, body types, HTTP methods) - Add WebHook notifier module with configurable URL, method, body template, auth (Basic/Bearer/ApiKey), timeout and SSL options - Rename HttpClient named instances from `Proxmox*` to generic `Http*` to support non-PVE HTTP clients - Register `HookExecutor` service and WebHook module in DI and application startup - Improve label "Validate Certificate" → "Validate SSL Certificate" for clarity ## Test plan - [ ] Configure a WebHook notifier with POST method and JSON body using `%subject%` and `%body%` placeholders - [ ] Test Basic, Bearer and ApiKey auth types - [ ] Test with `IgnoreSslCertificate` enabled - [ ] Verify existing PVE cluster connections still work after HttpClient rename --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 17:37:29 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cv4pve-admin#138
No description provided.