/** * GitHub CI/CD Integration * * Syncs Jira tickets based on GitHub events (PRs, pushes, deployments). * Part of Phase 14: CI Integration */ import type { JiraConfig } from "../types"; /** * GitHub Pull Request Event */ export interface PullRequestEvent { action: "opened" | "closed" | "reopened" | "synchronize" | "ready_for_review"; pull_request: { number: number; title: string; body?: string; head: { ref: string; sha: string; }; base: { ref: string; }; html_url: string; merged?: boolean; merged_at?: string; }; repository: { full_name: string; html_url: string; }; } /** * GitHub Push Event */ export interface PushEvent { ref: string; commits: Array<{ id: string; message: string; url: string; }>; repository: { full_name: string; html_url: string; }; } /** * GitHub Workflow Dispatch Event */ export interface WorkflowDispatchEvent { inputs?: Record; ref: string; repository: { full_name: string; html_url: string; }; } /** * Sync Jira from GitHub PR event */ export declare function syncFromPullRequest(event: PullRequestEvent, config?: JiraConfig): Promise<{ synced: string[]; errors: Array<{ key: string; error: string; }>; }>; /** * Sync Jira from GitHub push event */ export declare function syncFromPush(event: PushEvent, config?: JiraConfig): Promise<{ synced: string[]; errors: Array<{ key: string; error: string; }>; }>; /** * Main entry point for CI sync * Reads GitHub event from environment and processes it */ export declare function syncFromGitHubEvent(config?: JiraConfig): Promise<{ success: boolean; synced: string[]; errors: Array<{ key: string; error: string; }>; }>; //# sourceMappingURL=github-sync.d.ts.map