public async Task <List <ActionResult> > Execute(DeploymentTaskExecutionParams execParams) { var managedCert = ManagedCertificate.GetManagedCertificate(execParams.Subject); try { var webhookConfig = new Shared.Utils.Webhook.WebhookConfig { Url = execParams.Settings.Parameters.FirstOrDefault(p => p.Key == "url")?.Value, Method = execParams.Settings.Parameters.FirstOrDefault(p => p.Key == "method")?.Value, ContentType = execParams.Settings.Parameters.FirstOrDefault(p => p.Key == "contenttype")?.Value, ContentBody = execParams.Settings.Parameters.FirstOrDefault(p => p.Key == "contentbody")?.Value }; if (!execParams.IsPreviewOnly) { var webHookResult = await Certify.Shared.Utils.Webhook.SendRequest(webhookConfig, managedCert, managedCert.LastRenewalStatus != RequestState.Error); var msg = $"Webhook invoked: Url: {webhookConfig.Url}, Success: {webHookResult.Success}, StatusCode: {webHookResult.StatusCode}"; execParams.Log.Information(msg); return(new List <ActionResult> { new ActionResult(msg, true) }); } else { return(await Validate(execParams)); } } catch (Exception exp) { return(new List <ActionResult> { new ActionResult("Webhook call failed: " + exp.ToString(), false) }); } }
public async Task <List <ActionResult> > Execute(ILog log, object subject, DeploymentTaskConfig settings, Dictionary <string, string> credentials, bool isPreviewOnly, DeploymentProviderDefinition definition) { var managedCert = ManagedCertificate.GetManagedCertificate(subject); try { var webhookConfig = new Shared.Utils.Webhook.WebhookConfig { Url = settings.Parameters.FirstOrDefault(p => p.Key == "url")?.Value, Method = settings.Parameters.FirstOrDefault(p => p.Key == "method")?.Value, ContentType = settings.Parameters.FirstOrDefault(p => p.Key == "contenttype")?.Value, ContentBody = settings.Parameters.FirstOrDefault(p => p.Key == "contentbody")?.Value }; if (!isPreviewOnly) { var webHookResult = await Certify.Shared.Utils.Webhook.SendRequest(webhookConfig, managedCert, managedCert.LastRenewalStatus != RequestState.Error); var msg = $"Webhook invoked: Url: {webhookConfig.Url}, Success: {webHookResult.Success}, StatusCode: {webHookResult.StatusCode}"; log.Information(msg); return(new List <ActionResult> { new ActionResult(msg, true) }); } else { return(await Validate(managedCert, settings, credentials, definition)); } } catch (Exception exp) { return(new List <ActionResult> { new ActionResult("Webhook call failed: " + exp.ToString(), false) }); } }