fix: handle Forgejo pull_request_comment payload missing pull_request field

Forgejo's pull_request_comment event uses an issue_comment-like payload
with issue.number instead of pull_request.number. Add fallback to
extract entity number from issue field when pull_request is absent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Vlad MocanuandClaude Opus 4.6 committed 2026-02-26 20:31:40 +02:00
1 parent 01c9c503c3
commit 2e1165ed90
1 file changed
+11 -1
+11 -1
View File
@@ -236,11 +236,21 @@ export function parseGitHubContext(): GitHubContext {
} }
case "pull_request_review_comment": { case "pull_request_review_comment": {
const payload = context.payload as PullRequestReviewCommentEvent; const payload = context.payload as PullRequestReviewCommentEvent;
// Forgejo's pull_request_comment event uses issue_comment-like payload
// with issue.number instead of pull_request.number
const anyPayload = context.payload as Record<string, unknown>;
const issue = anyPayload.issue as { number?: number } | undefined;
const entityNumber = payload.pull_request?.number ?? issue?.number;
if (!entityNumber) {
throw new Error(
"Could not determine entity number from pull_request_review_comment event payload",
);
}
return { return {
...commonFields, ...commonFields,
eventName: "pull_request_review_comment", eventName: "pull_request_review_comment",
payload, payload,
entityNumber: payload.pull_request.number, entityNumber,
isPR: true, isPR: true,
}; };
} }