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:
1 parent
01c9c503c3
commit
2e1165ed90
1 file changed
+11
-1
+11
-1
@@ -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,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user