UNPKG

@remcostoeten/fync

Version:

Unified TypeScript library for 9 popular APIs with consistent functional architecture

320 lines 9.38 kB
import type { TBaseEntity } from "../../core/types"; import type { TGitLabUser } from "./gitlab-user"; export type TGitLabMergeRequest = { /** Merge request ID */ id: number; /** Merge request internal ID */ iid: number; /** Project ID */ project_id: number; /** Merge request title */ title: string; /** Merge request description */ description: string | null; /** Merge request state */ state: "opened" | "closed" | "locked" | "merged"; /** Merge status */ merge_status: "unchecked" | "checking" | "can_be_merged" | "cannot_be_merged" | "cannot_be_merged_recheck"; /** Detailed merge status */ detailed_merge_status: "unchecked" | "checking" | "mergeable" | "broken_status" | "ci_must_pass" | "ci_still_running" | "discussions_not_resolved" | "draft_status" | "external_status_checks" | "jira_association_missing" | "need_rebase" | "not_approved" | "not_open" | "policies_denied" | "blocked_status" | "requested_changes"; /** Merge request author */ author: TGitLabUser; /** Merge request assignee */ assignee: TGitLabUser | null; /** Merge request assignees */ assignees: TGitLabUser[]; /** Merge request reviewers */ reviewers: TGitLabUser[]; /** Source project ID */ source_project_id: number; /** Target project ID */ target_project_id: number; /** Labels */ labels: string[]; /** Draft */ draft: boolean; /** Work in progress */ work_in_progress: boolean; /** Milestone */ milestone: { /** Milestone ID */ id: number; /** Milestone title */ title: string; /** Milestone description */ description: string | null; /** Milestone state */ state: "active" | "closed"; /** Milestone web URL */ web_url: string; /** Due date */ due_date: string | null; /** Start date */ start_date: string | null; /** Project ID */ project_id: number; /** Group ID */ group_id: number | null; } | null; /** Merge when pipeline succeeds */ merge_when_pipeline_succeeds: boolean; /** Merge user */ merge_user: TGitLabUser | null; /** Merged at */ merged_at: string | null; /** Prepared at */ prepared_at: string | null; /** Closed by */ closed_by: TGitLabUser | null; /** Closed at */ closed_at: string | null; /** Source branch */ source_branch: string; /** Target branch */ target_branch: string; /** User notes count */ user_notes_count: number; /** Upvotes count */ upvotes: number; /** Downvotes count */ downvotes: number; /** Should remove source branch */ should_remove_source_branch: boolean; /** Force remove source branch */ force_remove_source_branch: boolean; /** Allow collaboration */ allow_collaboration: boolean; /** Allow maintainer to push */ allow_maintainer_to_push: boolean; /** Web URL */ web_url: string; /** References */ references: { /** Short reference */ short: string; /** Relative reference */ relative: string; /** Full reference */ full: string; }; /** Discussion locked */ discussion_locked: boolean; /** Changes count */ changes_count: string; /** Latest build started at */ latest_build_started_at: string | null; /** Latest build finished at */ latest_build_finished_at: string | null; /** First deployed to production at */ first_deployed_to_production_at: string | null; /** Pipeline */ pipeline: { /** Pipeline ID */ id: number; /** Pipeline SHA */ sha: string; /** Pipeline ref */ ref: string; /** Pipeline status */ status: "created" | "waiting_for_resource" | "preparing" | "pending" | "running" | "success" | "failed" | "canceled" | "skipped" | "manual" | "scheduled"; /** Pipeline source */ source: string; /** Pipeline web URL */ web_url: string; } | null; /** Diff refs */ diff_refs: { /** Base SHA */ base_sha: string; /** Head SHA */ head_sha: string; /** Start SHA */ start_sha: string; }; /** Merge commit SHA */ merge_commit_sha: string | null; /** Squash commit SHA */ squash_commit_sha: string | null; /** Rebase commit SHA */ rebase_commit_sha: string | null; /** Diverged commits count */ diverged_commits_count: number; /** Rebase in progress */ rebase_in_progress: boolean; /** Approvals before merge */ approvals_before_merge: number | null; /** Head pipeline */ head_pipeline: { /** Pipeline ID */ id: number; /** Pipeline SHA */ sha: string; /** Pipeline ref */ ref: string; /** Pipeline status */ status: string; /** Pipeline web URL */ web_url: string; /** Pipeline before SHA */ before_sha: string; /** Pipeline tag */ tag: boolean; /** Pipeline YAML errors */ yaml_errors: string | null; /** Pipeline user */ user: TGitLabUser; /** Pipeline coverage */ coverage: string | null; /** Pipeline source */ source: string; } | null; /** Task completion status */ task_completion_status: { /** Count */ count: number; /** Completed count */ completed_count: number; }; /** Has conflicts */ has_conflicts: boolean; /** Blocking discussions resolved */ blocking_discussions_resolved: boolean; /** Overflow */ overflow: boolean; /** Time stats */ time_stats: { /** Time estimate */ time_estimate: number; /** Total time spent */ total_time_spent: number; /** Human time estimate */ human_time_estimate: string | null; /** Human total time spent */ human_total_time_spent: string | null; }; /** Squash */ squash: boolean; /** Subscribed */ subscribed: boolean; /** Squash commit message */ squash_commit_message: string | null; /** Merge commit message */ merge_commit_message: string | null; } & TBaseEntity; export type TGitLabMergeRequestNote = { /** Note ID */ id: number; /** Note body */ body: string; /** Attachment */ attachment: string | null; /** Note author */ author: TGitLabUser; /** System note flag */ system: boolean; /** Noteable ID */ noteable_id: number; /** Noteable type */ noteable_type: "Issue" | "MergeRequest" | "Snippet"; /** Resolvable flag */ resolvable: boolean; /** Resolved flag */ resolved: boolean; /** Resolved by */ resolved_by: TGitLabUser | null; /** Resolved at */ resolved_at: string | null; /** Confidential */ confidential: boolean; /** Internal */ internal: boolean; /** Note type */ type: "DiscussionNote" | "DiffNote" | null; /** Position (for diff notes) */ position?: { /** Base SHA */ base_sha: string; /** Start SHA */ start_sha: string; /** Head SHA */ head_sha: string; /** Old path */ old_path: string; /** New path */ new_path: string; /** Position type */ position_type: "text" | "image"; /** Old line */ old_line: number | null; /** New line */ new_line: number | null; /** Line range */ line_range?: { /** Start line code */ start: { /** Line code */ line_code: string; /** Type */ type: string; /** Old line */ old_line: number | null; /** New line */ new_line: number | null; }; /** End line code */ end: { /** Line code */ line_code: string; /** Type */ type: string; /** Old line */ old_line: number | null; /** New line */ new_line: number | null; }; }; }; } & TBaseEntity; export type TGitLabMergeRequestCommit = { /** Commit ID */ id: string; /** Short ID */ short_id: string; /** Commit title */ title: string; /** Commit message */ message: string; /** Author name */ author_name: string; /** Author email */ author_email: string; /** Authored date */ authored_date: string; /** Committer name */ committer_name: string; /** Committer email */ committer_email: string; /** Committed date */ committed_date: string; /** Web URL */ web_url: string; }; export type TGitLabMergeRequestChanges = { /** Old path */ old_path: string; /** New path */ new_path: string; /** A mode */ a_mode: string; /** B mode */ b_mode: string; /** Diff */ diff: string; /** New file */ new_file: boolean; /** Renamed file */ renamed_file: boolean; /** Deleted file */ deleted_file: boolean; }; //# sourceMappingURL=gitlab-merge-request.d.ts.map