1 using Microsoft.AspNet.WebHooks;
2 using Newtonsoft.Json.Linq;
4 using System.Threading.Tasks;
5 using CPE.App.Api.Helpers;
6 using CPE.App.Web.Models;
7 using CPE.App.Web.Elucidat;
9 using System.Net.Http.Formatting;
10 using Newtonsoft.Json.Serialization;
12 namespace CPE.App.Api.WebHooks
15 public class ElucidatWebHookHandler : WebHookHandler
18 public ElucidatWebHookHandler()
20 this.Receiver = "elucidat";
23 public override Task ExecuteAsync(string receiver, WebHookHandlerContext context)
27 // Get JSON from WebHook
28 JObject data = context.GetDataOrDefault<JObject>();
29 //TODO data is either project name & project code -> update tin can settings OR release details ->parse description, add to lookup table
31 ReleaseModel release =data.ToObject<ReleaseModel>();//deserialize data into ReleaseModel object;
32 var releaseCode = release.ReleaseCode;
33 var done = ReleaseDetailHelper.GetReleaseDescriptionDetails(release);
36 //send email to cpe that a bad releae was made
39 // Get the action for this WebHook coming from the action query parameter in the URI
40 string action = context.Actions.FirstOrDefault();
42 return Task.FromResult(done);