Skip to content

Commit 9dc692e

Browse files
authored
Fix nil pointer exception in handleIssueCommentEvent when GitHub App … (#2192)
* Fix nil pointer exception in handleIssueCommentEvent when GitHub App installation is missing.
1 parent 691bd34 commit 9dc692e

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

backend/controllers/github_comment.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ func handleIssueCommentEvent(gh utils.GithubClientProvider, payload *github.Issu
4040
repoFullName := *payload.Repo.FullName
4141
cloneURL := *payload.Repo.CloneURL
4242
issueNumber := *payload.Issue.Number
43+
44+
if payload.Installation == nil {
45+
slog.Error("Installation is nil in payload", "issueNumber", issueNumber)
46+
return fmt.Errorf("installation is missing from payload")
47+
}
48+
49+
installationId = *payload.Installation.ID
50+
repoName = *payload.Repo.Name
51+
repoOwner = *payload.Repo.Owner.Login
52+
repoFullName = *payload.Repo.FullName
53+
cloneURL = *payload.Repo.CloneURL
54+
issueNumber = *payload.Issue.Number
4355
isDraft := payload.Issue.GetDraft()
4456
userCommentId := *payload.GetComment().ID
4557
actor := *payload.Sender.Login
@@ -81,8 +93,9 @@ func handleIssueCommentEvent(gh utils.GithubClientProvider, payload *github.Issu
8193
if link == nil {
8294
slog.Error("GitHub app installation link not found",
8395
"installationId", installationId,
96+
"issueNumber", issueNumber,
8497
)
85-
return fmt.Errorf("github app installation link not found")
98+
return fmt.Errorf("GitHub App installation not found for installation ID %d. Please ensure the GitHub App is properly installed on the repository and the installation process completed successfully", installationId)
8699
}
87100
orgId := link.OrganisationId
88101

@@ -108,6 +121,7 @@ func handleIssueCommentEvent(gh utils.GithubClientProvider, payload *github.Issu
108121
slog.Error("Error getting GitHub service",
109122
"installationId", installationId,
110123
"repoFullName", repoFullName,
124+
"issueNumber", issueNumber,
111125
"error", ghServiceErr,
112126
)
113127
return fmt.Errorf("error getting ghService to post error comment")

0 commit comments

Comments
 (0)