Accept review_requested on pull_request webhook events.
Gitea sends review requests as pull_request/review_requested, not only pull_request_review_request. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import { RoutedEvent, PullRequestWebhookPayload } from "../types/events.js";
|
||||
|
||||
const REVIEW_REQUEST_EVENTS = new Set(["pull_request", "pull_request_review_request"]);
|
||||
|
||||
export function routeEvent(input: {
|
||||
eventName: string | undefined;
|
||||
payload: PullRequestWebhookPayload;
|
||||
@@ -12,12 +14,23 @@ export function routeEvent(input: {
|
||||
}
|
||||
|
||||
if (
|
||||
eventName === "pull_request_review_request" &&
|
||||
eventName &&
|
||||
REVIEW_REQUEST_EVENTS.has(eventName) &&
|
||||
payload.action === "review_requested" &&
|
||||
payload.requested_reviewer?.login === botLogin
|
||||
isReviewRequestedForBot(payload, botLogin)
|
||||
) {
|
||||
return { kind: "review_requested", payload };
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function isReviewRequestedForBot(payload: PullRequestWebhookPayload, botLogin: string): boolean {
|
||||
if (payload.requested_reviewer?.login === botLogin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return (payload.pull_request.requested_reviewers ?? []).some(
|
||||
(reviewer) => reviewer.login === botLogin
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user