private void HandleRetrievedPushEvent(DataContext ctx, EventObj eventObj, JObject payload) { //var xHeadHash = payload["head"].ToString(); //var xBuild = new BuildObj(); //xBuild.Identifier = Guid.NewGuid(); //xBuild.RelatedEventId = eventObj.Identifier; //xBuild.EnqueueTime = DateTime.UtcNow; //xBuild.SourceVersionSha1 = xHeadHash; //xBuild.State = BuildStateEnum.Queued; //ctx.Builds.Add(xBuild); //Console.Write(""); // }
private async Task RetrieveAndParseGithubEvents() { using (var xCtx = new DataContext()) { var xGithub = ConnectToGithub(); var xPreviousETag = xCtx.TryGetConfigStr(GithubPollingETagConfigName); var xResult = await xGithub.GetEventsForRepositoryAsync(GithubOrganisation, GithubRepository, xPreviousETag); Console.WriteLine("Returned {0} items", xResult.Item1.Count); foreach (var xItem in xResult.Item1) { var xEvent = xCtx.Events.SingleOrDefault(i => i.EventId == xItem.id); if (xEvent != null) { continue; } xEvent = new EventObj(); xEvent.Identifier = Guid.NewGuid(); xEvent.Actor = xItem.actor.url; xEvent.Organisation = xItem.org.url; xEvent.Repository = xItem.repo.url; xEvent.EventId = xItem.id; xEvent.Type = xItem.type; xEvent.CreatedAt = xItem.created_at; xEvent.Payload = JsonConvert.SerializeObject(xItem.payload); xCtx.Events.Add(xEvent); xCtx.SaveChanges(); } xCtx.SetConfigStr(GithubPollingETagConfigName, xResult.Item2); xCtx.SaveChanges(); } }
private void HandleRetrievedPullRequestEvent(DataContext ctx, EventObj eventObj, JObject payload) { //var xAction = payload["action"]; }