@remcostoeten/fync
Version:
Unified TypeScript library for 9 popular APIs with consistent functional architecture
270 lines • 7.68 kB
TypeScript
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