fix: allow issue triggers without prepared branch

This commit is contained in:
Mark Wylde
2025-09-30 18:14:03 +01:00
parent ebd4882b3e
commit 225a4e6f3a
2 changed files with 22 additions and 17 deletions

View File

@@ -277,8 +277,6 @@ export function prepareContext(
throw new Error(
"ISSUE_NUMBER is required for issue_comment event for issues",
);
} else if (!claudeBranch) {
throw new Error("CLAUDE_BRANCH is required for issue_comment event");
}
eventData = {
@@ -288,7 +286,7 @@ export function prepareContext(
baseBranch,
issueNumber,
commentBody,
claudeBranch,
...(claudeBranch && { claudeBranch }),
};
break;
@@ -305,10 +303,6 @@ export function prepareContext(
if (!baseBranch) {
throw new Error("BASE_BRANCH is required for issues event");
}
if (!claudeBranch) {
throw new Error("CLAUDE_BRANCH is required for issues event");
}
if (eventAction === "assigned") {
if (!assigneeTrigger && !directPrompt) {
throw new Error(
@@ -322,7 +316,7 @@ export function prepareContext(
issueNumber,
baseBranch,
...(assigneeTrigger && { assigneeTrigger }),
claudeBranch,
...(claudeBranch && { claudeBranch }),
};
} else if (eventAction === "labeled") {
if (!labelTrigger) {
@@ -334,7 +328,7 @@ export function prepareContext(
isPR: false,
issueNumber,
baseBranch,
claudeBranch,
...(claudeBranch && { claudeBranch }),
labelTrigger,
};
} else if (eventAction === "opened") {

View File

@@ -69,10 +69,19 @@ describe("parseEnvVarsWithContext", () => {
}
});
test("should throw error when CLAUDE_BRANCH is missing", () => {
expect(() =>
prepareContext(mockIssueCommentContext, "12345", "main"),
).toThrow("CLAUDE_BRANCH is required for issue_comment event");
test("should allow missing CLAUDE_BRANCH and omit it from event data", () => {
const result = prepareContext(
mockIssueCommentContext,
"12345",
"main",
);
if (
result.eventData.eventName === "issue_comment" &&
!result.eventData.isPR
) {
expect(result.eventData.claudeBranch).toBeUndefined();
}
});
test("should throw error when BASE_BRANCH is missing", () => {
@@ -203,10 +212,12 @@ describe("parseEnvVarsWithContext", () => {
}
});
test("should throw error when CLAUDE_BRANCH is missing for issues", () => {
expect(() =>
prepareContext(mockIssueOpenedContext, "12345", "main"),
).toThrow("CLAUDE_BRANCH is required for issues event");
test("should allow issues event without CLAUDE_BRANCH", () => {
const result = prepareContext(mockIssueOpenedContext, "12345", "main");
if (result.eventData.eventName === "issues") {
expect(result.eventData.claudeBranch).toBeUndefined();
}
});
test("should throw error when BASE_BRANCH is missing for issues", () => {