diff --git a/src/Umbraco.Core/Webhooks/Events/HealthCheck/HealthCheckCompletedWebhookEvent.cs b/src/Umbraco.Core/Webhooks/Events/HealthCheck/HealthCheckCompletedWebhookEvent.cs new file mode 100644 index 0000000000..0e5fddbf39 --- /dev/null +++ b/src/Umbraco.Core/Webhooks/Events/HealthCheck/HealthCheckCompletedWebhookEvent.cs @@ -0,0 +1,19 @@ +using Microsoft.Extensions.Options; +using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.Notifications; +using Umbraco.Cms.Core.Services; +using Umbraco.Cms.Core.Sync; + +namespace Umbraco.Cms.Core.Webhooks.Events.HealthCheck; + +[WebhookEvent("Health Check Completed")] +public class HealthCheckCompletedWebhookEvent : WebhookEventBase +{ + public HealthCheckCompletedWebhookEvent(IWebhookFiringService webhookFiringService, IWebhookService webhookService, IOptionsMonitor webhookSettings, IServerRoleAccessor serverRoleAccessor) : base(webhookFiringService, webhookService, webhookSettings, serverRoleAccessor) + { + } + + public override string Alias => "healthCheckCompleted"; + + public override object? ConvertNotificationToRequestPayload(HealthCheckCompletedNotification notification) => notification.HealthCheckResults; +} diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs index ba30984ee3..69ffddd252 100644 --- a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderCmsExtensions.cs @@ -1,5 +1,6 @@ using Umbraco.Cms.Core.Webhooks; using Umbraco.Cms.Core.Webhooks.Events; +using Umbraco.Cms.Core.Webhooks.Events.HealthCheck; using static Umbraco.Cms.Core.DependencyInjection.WebhookEventCollectionBuilderExtensions; namespace Umbraco.Cms.Core.DependencyInjection; @@ -313,6 +314,17 @@ public static class WebhookEventCollectionBuilderCmsExtensions return builder; } + /// + /// Adds the healthcheck webhook events. + /// + /// The builder. + /// + /// The builder. + /// + public static WebhookEventCollectionBuilder AddHealthCheck(this WebhookEventCollectionBuilder builder) + => builder + .Append(); + /// /// Adds all available user (including password, login and user group) webhook events. /// diff --git a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs index 4205ce8e3b..f5fa205832 100644 --- a/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs +++ b/src/Umbraco.Core/Webhooks/WebhookEventCollectionBuilderExtensions.cs @@ -38,7 +38,8 @@ public static class WebhookEventCollectionBuilderExtensions .AddPublicAccess() .AddRelation() .AddRelationType() - .AddUser(); + .AddUser() + .AddHealthCheck(); } });