feat: read comment ID from GITHUB_EVENT_PATH for eyes reaction

This commit is contained in:
2026-05-31 19:08:59 -05:00
parent 6c03caa8ea
commit 628a3692ff
+20 -3
View File
@@ -1,3 +1,4 @@
import { readFileSync } from "node:fs";
import * as core from "@actions/core";
import { agents } from "./agents/index.ts";
import type { PayloadEvent } from "./external.ts";
@@ -53,6 +54,16 @@ function parseRepoContext(): { owner: string; name: string } {
* from Gitea Actions environment variables (GITHUB_EVENT_NAME, GITEA_PR_NUMBER).
* Returns null when the env vars aren't set (e.g. local dev run).
*/
function readEventPayload(): Record<string, unknown> {
try {
const eventPath = process.env.GITHUB_EVENT_PATH;
if (!eventPath) return {};
return JSON.parse(readFileSync(eventPath, "utf-8"));
} catch {
return {};
}
}
function resolveEventFromEnv(): PayloadEvent | null {
const eventName = process.env.GITHUB_EVENT_NAME;
const prNumberRaw = process.env.GITEA_PR_NUMBER;
@@ -69,16 +80,22 @@ function resolveEventFromEnv(): PayloadEvent | null {
};
}
if (eventName === "issue_comment" && !Number.isNaN(prNumber)) {
if (eventName === "issue_comment") {
const event = readEventPayload();
const issueNumber = (event.issue as Record<string, unknown> | undefined)?.number as number | undefined;
const commentId = (event.comment as Record<string, unknown> | undefined)?.id as number | undefined;
const resolvedPrNumber = !Number.isNaN(prNumber) ? prNumber : issueNumber;
if (resolvedPrNumber) {
return {
trigger: "issue_comment_created",
issue_number: prNumber,
issue_number: resolvedPrNumber,
is_pr: true,
comment_id: 0,
comment_id: commentId ?? 0,
comment_type: "issue",
body: null,
};
}
}
return null;
}