export interface IJiraApiItem { field: string; toString: string; } export interface IJiraApiHistory { id: string; items: Array; created: string; } export interface IJiraApiChangeLog { total: number; histories: Array; } export interface IJiraApiIssue { key: string; fields: any; changelog: IJiraApiChangeLog; } export interface IJiraApiIssueList { issues: Array; total: number; } export interface IJiraApiWorkflowStatuses { self: string; description: string; name: string; id: string; statusCategory: any; } export interface IJiraApiWorkflow { id: string; name: string; subtask: boolean; statuses: Array; } export interface IJiraApiError { errorMessages: Array; errors: any; } export interface IWorkflow { [val: string]: Array; } export interface IAttributes { [val: string]: string; } export interface IFeatureFlags { [val: string]: boolean; } export interface IAuth { username?: string; password?: string; oauth?: { consumer_key: string; private_key: string; token: string; token_secret: string; signature_method: string; }; } export interface IJiraExtractorConfig { connection?: { url?: string; auth?: IAuth; }; projects?: Array; issueTypes?: Array; filters?: Array; startDate?: Date; endDate?: Date; customJql?: string; workflow?: IWorkflow; attributes?: IAttributes; featureFlags?: IFeatureFlags; batchSize?: number; }