Author SHA1 Message Date
JimKarvo 4882221530 test: trigger webhook notification test 2026-06-29 20:44:36 +00:00
3 changed files with 18 additions and 23 deletions
+4
View File
@@ -0,0 +1,4 @@
# Test Webhook Notification
This file exists only to trigger a test webhook notification.
Delete after testing.
+1 -1
View File
@@ -58,4 +58,4 @@ if [ -n "$MANUAL_USER_MAPPINGS" ]; then
done done
fi fi
exec ./gitea-notification-hub -config /app/config/config.yaml -debug exec ./gitea-notification-hub -config /app/config/config.yaml
+6 -15
View File
@@ -114,20 +114,15 @@ func (p *Processor) HandlePullRequest(e *webhook.PullRequestEvent) {
case "review_requested": case "review_requested":
event.Type = TypePRReviewRequested event.Type = TypePRReviewRequested
if len(event.Reviewers) > 0 { // Notify newly requested reviewers (array)
for _, u := range event.Reviewers { if len(e.RequestedReviewers) > 0 {
p.logger.Debug().Str("requested_reviewer", u.GiteaUsername).Msg("review_requested event") for _, reviewer := range e.RequestedReviewers {
p.logger.Debug().Str("requested_reviewer", reviewer.Login).Msg("review_requested event")
usersToNotify = append(usersToNotify, struct { usersToNotify = append(usersToNotify, struct {
user User user User
reason NotificationReason reason NotificationReason
}{u, ReasonReviewer}) }{giteaUserToUser(reviewer), ReasonReviewer})
} }
} else if e.RequestedReviewer != nil {
p.logger.Debug().Str("requested_reviewer", e.RequestedReviewer.Login).Msg("review_requested event")
usersToNotify = append(usersToNotify, struct {
user User
reason NotificationReason
}{giteaUserToUser(*e.RequestedReviewer), ReasonReviewer})
} else { } else {
p.logger.Debug().Msg("review_requested event but no RequestedReviewers field") p.logger.Debug().Msg("review_requested event but no RequestedReviewers field")
} }
@@ -175,10 +170,7 @@ func (p *Processor) HandlePullRequest(e *webhook.PullRequestEvent) {
} }
} }
// Remove the actor from notifications (don't notify yourself) - but SKIP for review_requested because CI automation may request as same user // Remove the actor from notifications (don't notify yourself)
if e.Action == "review_requested" {
p.logger.Debug().Str("actor", event.Actor.GiteaUsername).Msg("skipping actor filter for review_requested (CI automation)")
} else {
beforeFilter := len(usersToNotify) beforeFilter := len(usersToNotify)
usersToNotify = p.filterOutActor(usersToNotify, event.Actor) usersToNotify = p.filterOutActor(usersToNotify, event.Actor)
p.logger.Debug(). p.logger.Debug().
@@ -186,7 +178,6 @@ func (p *Processor) HandlePullRequest(e *webhook.PullRequestEvent) {
Int("after_filter", len(usersToNotify)). Int("after_filter", len(usersToNotify)).
Str("actor_filtered", event.Actor.GiteaUsername). Str("actor_filtered", event.Actor.GiteaUsername).
Msg("filtered out actor from notifications") Msg("filtered out actor from notifications")
}
// Send notifications // Send notifications
p.sendNotifications(ctx, event, usersToNotify) p.sendNotifications(ctx, event, usersToNotify)