2 using System.Collections.Generic;
5 using System.Threading.Tasks;
6 using Microsoft.AspNet.WebHooks;
7 using Newtonsoft.Json.Linq;
8 using CPE.App.Api.Helpers;
9 using CPE.App.Web.Models;
10 using CPE.App.Web.Elucidat;
12 namespace CPE.App.Api.WebHooks
14 public class GenericJsonWebHookHandler : WebHookHandler
16 public GenericJsonWebHookHandler()
18 this.Receiver = "genericjson";
21 public override Task ExecuteAsync(string generator, WebHookHandlerContext context) {
22 // Get JSON from WebHook - elucidat is sendinf multipart/form not json
23 JObject data = context.GetDataOrDefault<JObject>();
24 //TODO data is either project name & project code -> update tin can settings OR release details ->parse description, add to lookup table
26 ReleaseModel release = data.ToObject<ReleaseModel>();//deserialize data into ReleaseModel object;
27 var releaseCode = release.ReleaseCode;
28 var done = ReleaseDetailHelper.GetReleaseDescriptionDetails(release);
34 // Get the action for this WebHook coming from the action query parameter in the URI
35 string action = context.Actions.FirstOrDefault();
37 return Task.FromResult(done);