diff --git a/src/create-prompt/index.ts b/src/create-prompt/index.ts index 82d1f41..cd55de2 100644 --- a/src/create-prompt/index.ts +++ b/src/create-prompt/index.ts @@ -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") { diff --git a/test/prepare-context.test.ts b/test/prepare-context.test.ts index fb2e9d0..c205eb4 100644 --- a/test/prepare-context.test.ts +++ b/test/prepare-context.test.ts @@ -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", () => {