MCPcopy Index your code
hub / github.com/bytebase/bytebase / CreateEvent

Method CreateEvent

backend/component/webhook/manager.go:34–61  ·  view source on GitHub ↗
(ctx context.Context, e *Event)

Source from the content-addressed store, hash-verified

32}
33
34func (m *Manager) CreateEvent(ctx context.Context, e *Event) {
35 webhookList, err := m.store.ListProjectWebhooks(ctx, &store.FindProjectWebhookMessage{
36 ProjectID: &e.Project.ResourceID,
37 EventType: &e.Type,
38 })
39 if err != nil {
40 slog.Warn("failed to find project webhook",
41 slog.String("project", e.Project.ResourceID),
42 slog.String("event_type", e.Type.String()),
43 log.BBError(err))
44 return
45 }
46
47 if len(webhookList) == 0 {
48 return
49 }
50
51 webhookCtx, err := m.getWebhookContextFromEvent(ctx, e, e.Type)
52 if err != nil {
53 slog.Warn("failed to get webhook context",
54 slog.String("project", e.Project.ResourceID),
55 slog.String("event_type", e.Type.String()),
56 log.BBError(err))
57 return
58 }
59 // Call external webhook endpoint in Go routine to avoid blocking web serving thread.
60 go m.postWebhookList(ctx, webhookCtx, webhookList, e.Project.Workspace)
61}
62
63func (m *Manager) getWebhookContextFromEvent(ctx context.Context, e *Event, eventType storepb.Activity_Type) (*webhook.Context, error) {
64 var webhookCtx webhook.Context

Callers 7

NotifyApprovalRequestedFunction · 0.80
NotifyIssueApprovedFunction · 0.80
failTaskRunsForHAMethod · 0.80
checkPlanCompletionMethod · 0.80
runTaskRunOnceMethod · 0.80
postCreateIssueFunction · 0.80
RejectIssueMethod · 0.80

Calls 5

postWebhookListMethod · 0.95
BBErrorFunction · 0.92
ListProjectWebhooksMethod · 0.80
StringMethod · 0.65

Tested by

no test coverage detected