import { AtlassianDocumentFormat } from './adf'; import { PartialAttachment, PartialProject, PartialProjectCategory } from "./shared-types"; import { User } from "./user"; interface IssueType { readonly self: string; readonly id: string; readonly description: string; readonly iconUrl: string; readonly name: string; readonly subtask: boolean; readonly avatarId: number; readonly entityId?: string; readonly hierarchyLevel?: number; } interface IssueProjectCategory extends PartialProjectCategory { readonly id: string; } interface IssueProject extends PartialProject { readonly id: string; readonly projectCategory?: IssueProjectCategory; } interface IssueVersion { readonly self: string; readonly id: string; readonly description: string; readonly name: string; readonly archived: boolean; readonly released: boolean; } interface IssueResolution { readonly self: string; readonly id: string; readonly description: string; readonly name: string; } interface IssueWatches { readonly self: string; readonly watchCount: number; readonly isWatching: boolean; } interface IssuePriority { readonly self: string; readonly iconUrl: string; readonly id: string; readonly name: string; } interface IssueLinkType { readonly id: string; readonly name: string; readonly inward: string; readonly outward: string; readonly self: string; } interface LinkedIssuePriority { readonly self: string; readonly iconUrl: string; readonly id: string; readonly name: string; readonly description: string; readonly statusColor: string; } interface IssueStatusCategory { readonly self: string; readonly key: string; readonly id: number; readonly name: string; readonly colorName: string; } interface IssueStatusDetails { readonly self: string; readonly iconUrl: string; readonly id: string; readonly name: string; readonly description: string; readonly statusCategory: IssueStatusCategory; } interface LinkedIssueTimeTrackingDetails { readonly originalEstimate: string; readonly remainingEstimate: string; readonly timeSpent: string; readonly originalEstimateSeconds: number; readonly remainingEstimateSeconds: number; readonly timeSpentSeconds: number; } interface LinkedIssueScope { readonly type: string; readonly project: IssueProject; } interface LinkedIssueTypeDetails { readonly self: string; readonly id: string; readonly description: string; readonly iconUrl: string; readonly name: string; readonly subtask: boolean; readonly avatarId: number; readonly entityId: string; readonly scope: LinkedIssueScope; } interface LinkedIssueFields { readonly summary: string; readonly status: IssueStatusDetails; readonly priority: LinkedIssuePriority; readonly assignee: User; readonly timetracking: LinkedIssueTimeTrackingDetails; readonly issuetype: LinkedIssueTypeDetails; readonly issueType: LinkedIssueTypeDetails; } interface LinkedIssue { readonly self: string; readonly id: string; readonly key: string; readonly fields: LinkedIssueFields; } interface IssueLink { readonly self: string; readonly id: string; readonly type: IssueLinkType; readonly inwardIssue?: LinkedIssue; readonly outwardIssue?: LinkedIssue; } interface IssueComponent { readonly self: string; readonly id: string; readonly name: string; } interface IssueTimeTracking { readonly originalEstimate?: string; readonly remainingEstimate?: string; readonly timeSpent?: string; readonly originalEstimateSeconds?: number; readonly remainingEstimateSeconds?: number; readonly timeSpentSeconds?: number; } interface IssueAttachment extends PartialAttachment { readonly id: number; } interface IssueProgress { readonly progress: number; readonly total: number; } interface IssueVotes { readonly self: string; readonly votes: number; readonly hasVoted: boolean; } interface IssueFields { readonly statuscategorychangedate?: string; readonly issuetype?: IssueType; readonly timespent?: string | null; readonly project?: IssueProject; readonly fixVersions?: IssueVersion[]; readonly aggregatetimespent?: string | null; readonly resolution?: IssueResolution | null; readonly resolutiondate?: string | null; readonly workratio?: number; readonly watches?: IssueWatches; readonly issuerestrictions?: any; readonly lastViewed?: string | null; readonly created?: string; readonly priority?: IssuePriority; readonly aggregatetimeoriginalestimate?: string | null; readonly timeestimate?: string | null; readonly versions?: IssueVersion[]; readonly issuelinks?: IssueLink[]; readonly assignee?: User | null; readonly updated?: string | null; readonly status?: IssueStatusDetails; readonly components?: IssueComponent[]; readonly timeoriginalestimate?: string | null; readonly description?: AtlassianDocumentFormat | string | null; readonly timetracking?: IssueTimeTracking; readonly security?: any; readonly attachment?: IssueAttachment[]; readonly aggregatetimeestimate?: string | null; readonly summary?: string; readonly creator?: User; readonly subtasks?: IssueLink[]; readonly reporter?: User; readonly aggregateprogress?: IssueProgress; readonly environment?: AtlassianDocumentFormat; readonly duedate?: string | null; readonly progress?: IssueProgress; readonly votes?: IssueVotes; readonly labels?: string[]; readonly [key: string]: any; } interface IssueChangeLogItems { readonly field: string; readonly fieldtype: string; readonly fieldId: string; readonly from: string | null; readonly fromString: string | null; readonly to: string | null; readonly toString: string | null; readonly tmpFromAccountId?: string | null; readonly tmpToAccountId?: string | null; } interface IssueChangeLog { readonly id: string; readonly items: IssueChangeLogItems[]; } export interface Issue { readonly id: string; readonly self: string; readonly key: string; readonly fields: IssueFields; } interface IssueTransition { readonly workflowId: number; readonly workflowName: string; readonly transitionId: number; readonly transitionName: string; readonly from_status: string; readonly to_status: string; } interface PartialIssueEvent { readonly timestamp: number; readonly user: User; readonly issue: Issue; readonly queryParams?: Record; } export interface IssueCreatedEvent extends PartialIssueEvent { readonly webhookEvent: "jira:issue_created"; readonly issue_event_type_name: "issue_created"; readonly changelog?: IssueChangeLog; } export interface IssueUpdatedEvent extends PartialIssueEvent { readonly webhookEvent: "jira:issue_updated"; readonly issue_event_type_name: "issue_assigned" | "issue_generic" | "issue_updated" | "issue_moved"; readonly changelog?: IssueChangeLog; } export interface IssueDeletedEvent extends PartialIssueEvent { readonly webhookEvent: "jira:issue_deleted"; } export interface IssueTransitionedEvent extends PartialIssueEvent { readonly transition: IssueTransition; readonly comment: string; } export {}; //# sourceMappingURL=issue.d.ts.map