public void Handle(PullRequestInfoModel pullRequestInfoModel) { if (!IsPullRequestClosedByMerge(pullRequestInfoModel)) { return; } var headBranchName = pullRequestInfoModel.GetHeadBranchName(); if (IsAutomergeBotTempBranch(headBranchName)) { _logger.LogInformation("Removing temporary branch {branchName} merged by pull request {pullRequestNumber}", headBranchName, pullRequestInfoModel.Number); RemoveBranch(headBranchName); } }
private void HandlePullRequestEvent(HttpContext context, string payloadJson) { var pullrequestPayload = JsonConvert.DeserializeObject <JObject>(payloadJson); var pullRequestHandler = context.RequestServices.GetRequiredService <TempBranchesRemoving.ITempBranchesRemoverPullRequestHandler>(); var pullRequestInfoModel = PullRequestInfoModel.CreateFromPayload(pullrequestPayload); _logger.LogInformation("Started processing pull_request notification {@payloadModel}", pullRequestInfoModel); try { pullRequestHandler.Handle(pullRequestInfoModel); } finally { _logger.LogInformation("Finished processing pull_request notification"); } }
private static bool IsPullRequestClosedByMerge(PullRequestInfoModel pullRequestInfoModel) { return(pullRequestInfoModel.IsClosedAction && pullRequestInfoModel.Merged); }