Skip to content

Commit 5949341

Browse files
authored
Feat: structured logging with source repo context (#2165)
* Fix: structured logging with resource repo context Signed-off-by: Shubham Bhardwaj <[email protected]>
1 parent 52d6a16 commit 5949341

File tree

2 files changed

+39
-4
lines changed

2 files changed

+39
-4
lines changed

pkg/adapter/sinker.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,23 @@ func (s *sinker) processEventPayload(ctx context.Context, request *http.Request)
3333
return err
3434
}
3535

36-
// set logger with sha and event type
37-
s.logger = s.logger.With("event-sha", s.event.SHA, "event-type", s.event.EventType)
36+
// Enhanced structured logging with source repository context for operators
37+
logFields := []interface{}{
38+
"event-sha", s.event.SHA,
39+
"event-type", s.event.EventType,
40+
"source-repo-url", s.event.URL,
41+
}
42+
43+
// Add branch information if available
44+
if s.event.BaseBranch != "" {
45+
logFields = append(logFields, "target-branch", s.event.BaseBranch)
46+
}
47+
// For PRs, also include source branch if different
48+
if s.event.HeadBranch != "" && s.event.HeadBranch != s.event.BaseBranch {
49+
logFields = append(logFields, "source-branch", s.event.HeadBranch)
50+
}
51+
52+
s.logger = s.logger.With(logFields...)
3853
s.vcx.SetLogger(s.logger)
3954

4055
s.event.Request = &info.Request{

pkg/reconciler/reconciler.go

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,30 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, pr *tektonv1.PipelineRun
125125

126126
ctx = info.StoreCurrentControllerName(ctx, r.run.Info.Controller.Name)
127127

128-
logger = logger.With(
128+
logFields := []interface{}{
129129
"pipeline-run", pr.GetName(),
130130
"event-sha", pr.GetAnnotations()[keys.SHA],
131-
)
131+
}
132+
133+
// Add source repository URL if available
134+
if repoURL := pr.GetAnnotations()[keys.RepoURL]; repoURL != "" {
135+
logFields = append(logFields, "source-repo-url", repoURL)
136+
}
137+
138+
// Add branch information if available
139+
if targetBranch := pr.GetAnnotations()[keys.Branch]; targetBranch != "" {
140+
logFields = append(logFields, "target-branch", targetBranch)
141+
if sourceBranch := pr.GetAnnotations()[keys.SourceBranch]; sourceBranch != "" && sourceBranch != targetBranch {
142+
logFields = append(logFields, "source-branch", sourceBranch)
143+
}
144+
}
145+
146+
// Add event type information if available
147+
if eventType := pr.GetAnnotations()[keys.EventType]; eventType != "" {
148+
logFields = append(logFields, "event-type", eventType)
149+
}
150+
151+
logger = logger.With(logFields...)
132152
logger.Infof("pipelineRun %v/%v is done, reconciling to report status! ", pr.GetNamespace(), pr.GetName())
133153
r.eventEmitter.SetLogger(logger)
134154

0 commit comments

Comments
 (0)