Skip to content

Commit

Permalink
more github webhook event
Browse files Browse the repository at this point in the history
  • Loading branch information
azhe403 committed Jun 13, 2024
1 parent 73d08a7 commit e44dd41
Showing 1 changed file with 39 additions and 11 deletions.
50 changes: 39 additions & 11 deletions backend/ZiziBot.Application/Services/WebhookService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,34 +58,38 @@ public async Task<WebhookResponseBase<bool>> ParseGitHub(WebhookHeader header, s

case WebhookEventType.Star:
var watcherCount = repository.WatchersCount;
var watchEvent = payload.Deserialize<StarEvent>();

htmlMessage
.Bold(action == StarAction.Created ? "⭐️ Starred " : "🌟 Unstarred ")
.Url(repository.HtmlUrl, repository.FullName).Br()
.Bold("Total: ").Code(watcherCount.ToString()).Br();
.Bold(action == StarAction.Created ? "⭐️ Starred " : "🌟 Unstarred ").Code(watcherCount.ToString()).Br();
break;

case WebhookEventType.Status:
var statusEvent = payload.Deserialize<StatusEvent>();

htmlMessage
.Bold("Creator: ").TextBr(sender.Login)
.Bold("Status: ").Url(statusEvent.TargetUrl, statusEvent.State.StringValue);
break;

case WebhookEventType.DeploymentStatus:
var deploymentStatusEvent = payload.Deserialize<DeploymentStatusEvent>();
var deploymentStatus = deploymentStatusEvent!.DeploymentStatus;

htmlMessage
.Bold("Creator: ").TextBr(deploymentStatusEvent.Deployment.Creator.Login)
.Bold("Environment: ").TextBr(deploymentStatusEvent.DeploymentStatus.Environment).Br()
.Bold("Status: ").TextBr(deploymentStatusEvent.DeploymentStatus.State.StringValue);
.Bold("Creator: ").TextBr(deploymentStatus.Creator.Login)
.Bold("Environment: ").TextBr(deploymentStatus.Environment).Br()
.Bold("Status: ").TextBr(deploymentStatus.State.StringValue);
break;

case WebhookEventType.Deployment:
var deploymentEvent = payload.Deserialize<DeploymentEvent>();
var deployment = deploymentEvent!.Deployment;

htmlMessage
.Bold("Creator: ").TextBr(deploymentEvent.Deployment.Creator.Login)
.Bold("Environment: ").TextBr(deploymentEvent.Deployment.Environment).Br()
.Bold("Status: ").TextBr(deploymentEvent.Deployment.Task);
.Bold("Creator: ").TextBr(deployment.Creator.Login)
.Bold("Environment: ").TextBr(deployment.Environment).Br()
.Bold("Status: ").TextBr(deployment.Task);
break;

case WebhookEventType.WorkflowRun:
Expand All @@ -100,7 +104,7 @@ public async Task<WebhookResponseBase<bool>> ParseGitHub(WebhookHeader header, s

case WebhookEventType.CheckSuite:
var checkSuiteEvent = payload.Deserialize<CheckSuiteEvent>();
var checkSuite = checkSuiteEvent.CheckSuite;
var checkSuite = checkSuiteEvent!.CheckSuite;

htmlMessage
.Bold("Name: ").TextBr(checkSuite.App.Name)
Expand All @@ -110,14 +114,38 @@ public async Task<WebhookResponseBase<bool>> ParseGitHub(WebhookHeader header, s

case WebhookEventType.CheckRun:
var checkRunEvent = payload.Deserialize<CheckRunEvent>();
var checkRun = checkRunEvent.CheckRun;
var checkRun = checkRunEvent!.CheckRun;

htmlMessage
.Bold("Name: ").TextBr(checkRun.App.Name)
.Bold("Status: ").TextBr(checkRun.Status.StringValue)
.Bold("Conclusion: ").TextBr(checkRun.Conclusion.StringValue);
break;

case WebhookEventType.DependabotAlert:
var dependabotAlertEvent = payload.Deserialize<DependabotAlertEvent>();
var dependabotAlert = dependabotAlertEvent!.Alert;

htmlMessage
.Bold("Status: ").CodeBr(dependabotAlert.State.StringValue)
.Bold("CVE ID: ").CodeBr(dependabotAlert.SecurityAdvisory.CveId)
.Bold("Summary: ").CodeBr(dependabotAlert.SecurityAdvisory.Summary)
.Bold("Severity: ").CodeBr(dependabotAlert.SecurityAdvisory.Severity.StringValue)
.Url(dependabotAlert.HtmlUrl, "Open details");
break;

case WebhookEventType.RepositoryVulnerabilityAlert:
var repositoryVulnerabilityAlertEvent = payload.Deserialize<RepositoryVulnerabilityAlertEvent>();
var repositoryVulnerabilityAlert = repositoryVulnerabilityAlertEvent!.Alert;

htmlMessage
.Bold("CVE ID: ").CodeBr(repositoryVulnerabilityAlert.ExternalIdentifier)
.Bold("Package Name: ").CodeBr(repositoryVulnerabilityAlert.AffectedPackageName)
.Bold("Affected Range: ").CodeBr(repositoryVulnerabilityAlert.AffectedRange)
.Bold("Fixed In: ").CodeBr(repositoryVulnerabilityAlert.FixedIn)
.Url(repositoryVulnerabilityAlert.ExternalReference, "Open details");
break;

default:
break;
}
Expand Down

0 comments on commit e44dd41

Please sign in to comment.