From 2e1165ed90f275b89bb9a19b543ceab8d546ee69 Mon Sep 17 00:00:00 2001 From: Vlad Mocanu Date: Thu, 26 Feb 2026 20:31:40 +0200 Subject: [PATCH] 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 --- src/github/context.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/github/context.ts b/src/github/context.ts index 4ea84f9..714a73c 100644 --- a/src/github/context.ts +++ b/src/github/context.ts @@ -236,11 +236,21 @@ export function parseGitHubContext(): GitHubContext { } case "pull_request_review_comment": { 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; + 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 { ...commonFields, eventName: "pull_request_review_comment", payload, - entityNumber: payload.pull_request.number, + entityNumber, isPR: true, }; }