From 35d2fa744aae5782dcced573aa08ee9ff62c8e36 Mon Sep 17 00:00:00 2001 From: zeripath Date: Tue, 21 Feb 2023 00:15:49 +0000 Subject: Fix intermittent panic in notify issue change content (#23019) Ensure that issue pullrequests are loaded before trying to set the self-reference. Signed-off-by: Andrew Thornton Co-authored-by: delvh Co-authored-by: techknowlogick --- services/webhook/notifier.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'services') diff --git a/services/webhook/notifier.go b/services/webhook/notifier.go index ba6d968dbd..b023717cd2 100644 --- a/services/webhook/notifier.go +++ b/services/webhook/notifier.go @@ -150,7 +150,6 @@ func (m *webhookNotifier) NotifyIssueChangeAssignee(ctx context.Context, doer *u log.Error("LoadPullRequest failed: %v", err) return } - issue.PullRequest.Issue = issue apiPullRequest := &api.PullRequestPayload{ Index: issue.Index, PullRequest: convert.ToAPIPullRequest(ctx, issue.PullRequest, nil), @@ -196,7 +195,6 @@ func (m *webhookNotifier) NotifyIssueChangeTitle(ctx context.Context, doer *user log.Error("LoadPullRequest failed: %v", err) return } - issue.PullRequest.Issue = issue err = PrepareWebhooks(ctx, EventSource{Repository: issue.Repo}, webhook_module.HookEventPullRequest, &api.PullRequestPayload{ Action: api.HookIssueEdited, Index: issue.Index, @@ -328,7 +326,10 @@ func (m *webhookNotifier) NotifyIssueChangeContent(ctx context.Context, doer *us mode, _ := access_model.AccessLevel(ctx, issue.Poster, issue.Repo) var err error if issue.IsPull { - issue.PullRequest.Issue = issue + if err := issue.LoadPullRequest(ctx); err != nil { + log.Error("LoadPullRequest: %v", err) + return + } err = PrepareWebhooks(ctx, EventSource{Repository: issue.Repo}, webhook_module.HookEventPullRequest, &api.PullRequestPayload{ Action: api.HookIssueEdited, Index: issue.Index, -- cgit v1.2.3