Fix issue-label and pr-rework webhook handlers
Publish Image / publish (push) Successful in 22s

- issue-label: Accept action "created" from Gitea (in addition to
  "labeled" and "label_updated") — Gitea sends "created" for new labels
- pr-rework: Guard against missing review object to prevent TypeError
  crash when Gitea sends review webhook without review data

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Daniel Samson
2026-04-12 16:12:04 +01:00
co-authored by Claude Opus 4.6
parent d19798dfea
commit f495ea391f
2 changed files with 5 additions and 1 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ export function issueLabel(config: Config, queue: TaskQueue) {
console.log(`[issue-label] action="${event.action}" issue=#${event.issue.number} labels=[${event.issue.labels.map((l) => l.name).join(", ")}]`); console.log(`[issue-label] action="${event.action}" issue=#${event.issue.number} labels=[${event.issue.labels.map((l) => l.name).join(", ")}]`);
if (event.action !== "label_updated" && event.action !== "labeled") { if (!["labeled", "label_updated", "created"].includes(event.action)) {
return c.text("ignored: not a label event", 200); return c.text("ignored: not a label event", 200);
} }
+4
View File
@@ -16,6 +16,10 @@ export function prRework(config: Config, queue: TaskQueue) {
return c.text("ignored: not a reviewed event", 200); return c.text("ignored: not a reviewed event", 200);
} }
if (!event.review) {
return c.text("ignored: no review data", 200);
}
const [org, repo] = event.repository.full_name.split("/"); const [org, repo] = event.repository.full_name.split("/");
const prNumber = event.pull_request.number; const prNumber = event.pull_request.number;
const reviewState = event.review.state.toLowerCase(); const reviewState = event.review.state.toLowerCase();