UNPKG

@remcostoeten/fync

Version:

Unified TypeScript library for 9 popular APIs with consistent functional architecture

270 lines 7.68 kB
import type { TBaseEntity } from "../../core/types"; import type { TGitLabUser } from "./gitlab-user"; export type TGitLabPipeline = { /** Pipeline ID */ id: number; /** Pipeline IID */ iid: number; /** Project ID */ project_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: "push" | "web" | "schedule" | "api" | "external" | "pipeline" | "chat" | "webide" | "merge_request_event" | "external_pull_request_event" | "parent_pipeline" | "ondemand_dast_scan" | "ondemand_dast_validation"; /** Tag */ tag: boolean; /** YAML errors */ yaml_errors: string | null; /** Pipeline user */ user: TGitLabUser; /** Started at */ started_at: string | null; /** Finished at */ finished_at: string | null; /** Committed at */ committed_at: string | null; /** Duration */ duration: number | null; /** Queued duration */ queued_duration: number | null; /** Coverage */ coverage: string | null; /** Web URL */ web_url: string; /** Name */ name: string | null; /** Before SHA */ before_sha: string; /** Detailed status */ detailed_status: { /** Icon */ icon: string; /** Text */ text: string; /** Label */ label: string; /** Group */ group: string; /** Tooltip */ tooltip: string; /** Has details */ has_details: boolean; /** Details path */ details_path: string; /** Illustration */ illustration: string | null; /** Favicon */ favicon: string; }; } & TBaseEntity; export type TGitLabJob = { /** Job ID */ id: number; /** Job status */ status: "created" | "pending" | "running" | "success" | "failed" | "canceled" | "skipped" | "manual" | "scheduled"; /** Job stage */ stage: string; /** Job name */ name: string; /** Job ref */ ref: string; /** Job tag */ tag: boolean; /** Coverage */ coverage: string | null; /** Allow failure */ allow_failure: boolean; /** Duration */ duration: number | null; /** Queued duration */ queued_duration: number | null; /** Started at */ started_at: string | null; /** Finished at */ finished_at: string | null; /** Erased at */ erased_at: string | null; /** Job user */ user: TGitLabUser | null; /** Runner */ runner: { /** Runner ID */ id: number; /** Runner description */ description: string; /** Runner IP address */ ip_address: string; /** Runner active */ active: boolean; /** Runner is shared */ is_shared: boolean; /** Runner runner type */ runner_type: "instance_type" | "group_type" | "project_type"; /** Runner name */ name: string; /** Runner online */ online: boolean; /** Runner status */ status: "active" | "paused" | "online" | "offline" | "not_connected" | "never_contacted"; } | null; /** Pipeline */ pipeline: { /** Pipeline ID */ id: number; /** Pipeline project ID */ project_id: number; /** Pipeline ref */ ref: string; /** Pipeline SHA */ sha: string; /** Pipeline status */ status: string; }; /** Commit */ commit: { /** Commit ID */ id: string; /** Short ID */ short_id: string; /** Title */ title: string; /** Author name */ author_name: string; /** Author email */ author_email: string; /** Message */ message: string; /** Authored date */ authored_date: string; /** Committer name */ committer_name: string; /** Committer email */ committer_email: string; /** Committed date */ committed_date: string; /** Trailers */ trailers: Record<string, string>; /** Web URL */ web_url: string; }; /** Artifacts */ artifacts: Array<{ /** File type */ file_type: string; /** File size */ size: number; /** Filename */ filename: string; /** File format */ file_format: string; }>; /** Artifacts file */ artifacts_file: { /** Filename */ filename: string; /** File size */ size: number; } | null; /** Archived */ archived: boolean; /** Failure reason */ failure_reason: string | null; /** Tag list */ tag_list: string[]; /** Web URL */ web_url: string; /** Environment */ environment: { /** Environment name */ name: string; /** Environment action */ action: "start" | "prepare" | "stop" | "verify" | "access"; /** Environment deployment tier */ deployment_tier: "production" | "staging" | "testing" | "development" | "other"; } | null; /** When */ when: "on_success" | "on_failure" | "always" | "manual" | "delayed"; } & TBaseEntity; export type TGitLabPipelineVariable = { /** Variable key */ key: string; /** Variable value */ value: string; /** Variable type */ variable_type: "env_var" | "file"; }; export type TGitLabEnvironment = { /** Environment ID */ id: number; /** Environment name */ name: string; /** Environment slug */ slug: string; /** Environment external URL */ external_url: string | null; /** Environment state */ state: "available" | "stopped"; /** Environment tier */ tier: "production" | "staging" | "testing" | "development" | "other"; /** Last deployment */ last_deployment: { /** Deployment ID */ id: number; /** Deployment IID */ iid: number; /** Deployment ref */ ref: string; /** Deployment SHA */ sha: string; /** Deployment status */ status: "created" | "running" | "success" | "failed" | "canceled" | "skipped" | "blocked"; /** Deployment tag */ tag: boolean; /** Deployable */ deployable: { /** Job ID */ id: number; /** Job status */ status: string; /** Job stage */ stage: string; /** Job name */ name: string; /** Job ref */ ref: string; /** Job tag */ tag: boolean; /** Coverage */ coverage: string | null; /** Pipeline */ pipeline: { /** Pipeline ID */ id: number; /** Pipeline SHA */ sha: string; /** Pipeline ref */ ref: string; /** Pipeline status */ status: string; /** Pipeline web URL */ web_url: string; }; /** Job user */ user: TGitLabUser; }; /** Environment */ environment: { /** Environment ID */ id: number; /** Environment name */ name: string; /** Environment external URL */ external_url: string | null; }; } | null; } & TBaseEntity; //# sourceMappingURL=gitlab-pipeline.d.ts.map