@@ -10,6 +10,7 @@ import (
1010 "code.gitea.io/gitea/modules/notification/base"
1111 "code.gitea.io/gitea/modules/setting"
1212 api "code.gitea.io/gitea/modules/structs"
13+ "code.gitea.io/gitea/modules/webhook"
1314 webhook_module "code.gitea.io/gitea/modules/webhook"
1415)
1516
@@ -251,6 +252,15 @@ func (m *webhookNotifier) NotifyIssueChangeStatus(doer *models.User, issue *mode
251252}
252253
253254func (m * webhookNotifier ) NotifyNewIssue (issue * models.Issue ) {
255+ if err := issue .LoadRepo (); err != nil {
256+ log .Error ("issue.LoadRepo: %v" , err )
257+ return
258+ }
259+ if err := issue .LoadPoster (); err != nil {
260+ log .Error ("issue.LoadPoster: %v" , err )
261+ return
262+ }
263+
254264 mode , _ := models .AccessLevel (issue .Poster , issue .Repo )
255265 if err := webhook_module .PrepareWebhooks (issue .Repo , models .HookEventIssues , & api.IssuePayload {
256266 Action : api .HookIssueOpened ,
@@ -263,6 +273,32 @@ func (m *webhookNotifier) NotifyNewIssue(issue *models.Issue) {
263273 }
264274}
265275
276+ func (m * webhookNotifier ) NotifyNewPullRequest (pull * models.PullRequest ) {
277+ if err := pull .LoadIssue (); err != nil {
278+ log .Error ("pull.LoadIssue: %v" , err )
279+ return
280+ }
281+ if err := pull .Issue .LoadRepo (); err != nil {
282+ log .Error ("pull.Issue.LoadRepo: %v" , err )
283+ return
284+ }
285+ if err := pull .Issue .LoadPoster (); err != nil {
286+ log .Error ("pull.Issue.LoadPoster: %v" , err )
287+ return
288+ }
289+
290+ mode , _ := models .AccessLevel (pull .Issue .Poster , pull .Issue .Repo )
291+ if err := webhook .PrepareWebhooks (pull .Issue .Repo , models .HookEventPullRequest , & api.PullRequestPayload {
292+ Action : api .HookIssueOpened ,
293+ Index : pull .Issue .Index ,
294+ PullRequest : pull .APIFormat (),
295+ Repository : pull .Issue .Repo .APIFormat (mode ),
296+ Sender : pull .Issue .Poster .APIFormat (),
297+ }); err != nil {
298+ log .Error ("PrepareWebhooks: %v" , err )
299+ }
300+ }
301+
266302func (m * webhookNotifier ) NotifyIssueChangeContent (doer * models.User , issue * models.Issue , oldContent string ) {
267303 mode , _ := models .AccessLevel (issue .Poster , issue .Repo )
268304 var err error
0 commit comments