public static WebhookTrigger MapToWebhookTrigger(WebhookTriggerModel model) { var trigger = WebhookTrigger.Create(model.Name); if (model.Inactive) { trigger.Deactivate(); } foreach (var action in model.Actions ?? Enumerable.Empty <string>()) { trigger.AddAction(action); } foreach (var requester in model.Requesters ?? Enumerable.Empty <string>()) { trigger.AddRequester(requester); } foreach (var rule in model.Rules ?? new Dictionary <string, IDictionary <string, RuleModel> >()) { trigger.Rules[rule.Key] = rule.Value.ToDictionary(x => x.Key, x => new Rule { Comparison = (Comparison)Enum.Parse(typeof(Comparison), x.Value.Comparison, true), Value = x.Value.Value }); } foreach (var ruleActions in model.RulesActions ?? new Dictionary <string, IEnumerable <string> >()) { trigger.RulesActions[ruleActions.Key] = ruleActions.Value; } return(trigger); }
private void UpdateWebhook(string youtubeLink, string fileName, string standardOutput) { string eventName = ConfigurationManager.AppSettings["event"]; string secretKey = ConfigurationManager.AppSettings["writeKey"]; if (string.IsNullOrWhiteSpace(eventName) || string.IsNullOrWhiteSpace(secretKey)) { return; } var pcName = Environment.MachineName; var values = new Dictionary <string, string> { { "value1", pcName + " " + standardOutput.Substring(6) }, { "value2", fileName }, { "value3", youtubeLink } }; WebhookTrigger.SendRequestAsync(values, eventName, secretKey); }