schedule.TriggerUser = user_model.NewActionsUser()
} else {
schedule.TriggerUser = users[schedule.TriggerUserID]
+ if schedule.TriggerUser == nil {
+ schedule.TriggerUser = user_model.NewGhostUser()
+ }
}
}
return nil
}
// We need a notifyInput to call handleSchedules
- // Here we use the commit author as the Doer of the notifyInput
- commitUser, err := user_model.GetUserByEmail(ctx, commit.Author.Email)
- if err != nil {
- return fmt.Errorf("get user by email: %w", err)
- }
- notifyInput := newNotifyInput(repo, commitUser, webhook_module.HookEventSchedule)
+ // if repo is a mirror, commit author maybe an external user,
+ // so we use action user as the Doer of the notifyInput
+ notifyInput := newNotifyInput(repo, user_model.NewActionsUser(), webhook_module.HookEventSchedule)
return handleSchedules(ctx, scheduleWorkflows, commit, notifyInput, repo.DefaultBranch)
}