mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-22 22:44:13 +08:00
feat: add repository_dispatch event support (#546)
* feat: add repository_dispatch event support Add support for repository_dispatch events in GitHub context parsing system. This enables the action to handle custom API-triggered events properly. Changes: - Add RepositoryDispatchEvent type definition - Include repository_dispatch in automation event names - Update context parsing to handle repository_dispatch events - Update documentation to reflect repository_dispatch availability 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * style: format code with prettier 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * test: add comprehensive repository_dispatch event test coverage - Add mockRepositoryDispatchContext with realistic payload structure - Add repository_dispatch mode detection tests in registry.test.ts - Add repository_dispatch trigger tests in agent.test.ts - Ensure repository_dispatch events are properly handled as automation events - Verify agent mode trigger behavior with and without prompts - All 394 tests passing with new coverage 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * style: format test files with prettier 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import type {
|
||||
ParsedGitHubContext,
|
||||
AutomationContext,
|
||||
RepositoryDispatchEvent,
|
||||
} from "../src/github/context";
|
||||
import type {
|
||||
IssuesEvent,
|
||||
@@ -81,6 +82,33 @@ export const createMockAutomationContext = (
|
||||
return { ...baseContext, ...overrides, inputs: mergedInputs };
|
||||
};
|
||||
|
||||
export const mockRepositoryDispatchContext: AutomationContext = {
|
||||
runId: "1234567890",
|
||||
eventName: "repository_dispatch",
|
||||
eventAction: undefined,
|
||||
repository: defaultRepository,
|
||||
actor: "automation-user",
|
||||
payload: {
|
||||
action: "trigger-analysis",
|
||||
client_payload: {
|
||||
source: "issue-detective",
|
||||
issue_number: 42,
|
||||
repository_name: "test-owner/test-repo",
|
||||
analysis_type: "bug-report",
|
||||
},
|
||||
repository: {
|
||||
name: "test-repo",
|
||||
owner: {
|
||||
login: "test-owner",
|
||||
},
|
||||
},
|
||||
sender: {
|
||||
login: "automation-user",
|
||||
},
|
||||
} as RepositoryDispatchEvent,
|
||||
inputs: defaultInputs,
|
||||
};
|
||||
|
||||
export const mockIssueOpenedContext: ParsedGitHubContext = {
|
||||
runId: "1234567890",
|
||||
eventName: "issues",
|
||||
|
||||
Reference in New Issue
Block a user