UNPKG

evergreen.js

Version:

JavaScript/TypeScript library for the Evergreen REST API

644 lines (570 loc) 15.4 kB
import { plainToClass } from "class-transformer"; // current as of 1370c53df007bf03b6d297a0a1e01b63843b08c7 export function ConvertToAdminSettings(raw: object): AdminSettings { return plainToClass(AdminSettings, raw); } export function ConvertToAPITasks(raw: object): APITask { return plainToClass(APITask, raw); } export function ConvertToAPITests(raw: object): APITest { return plainToClass(APITest, raw); } export function ConvertToBuild(raw: object): Build { return plainToClass(Build, raw); } export function ConvertToPatches(raw: object): Patches { return plainToClass(Patches, raw); } /* tslint:disable:variable-name */ export class AdminSettings { public alerts?: AlertsConfig; public amboy?: AmboyConfig; public api?: APIConfig; public api_url?: string; public auth?: AuthConfig; public banner?: string; public banner_theme?: string; public bugsnag?: string; public client_binaries_dir?: string; public configdir?: string; public container_pools?: ContainerPools; public credentials?: object; public jasper?: JasperConfig; public expansions?: object; public google_analytics?: string; public github_pr_creator_org?: string; public hostinit?: HostInitConfig; public jira?: JiraConfig; public jira_notifications?: JiraNotificationsConfig; public keys?: object; public logger_config?: LoggerConfig; public log_path?: string; public notify?: NotifyConfig; public plugins?: object; public pprof_port?: string; public providers?: CloudProviders; public repotracker?: RepoTrackerConfig; public scheduler?: SchedulerConfig; public service_flags?: ServiceFlags; public slack?: SlackConfig; public splunk?: SplunkConnectionInfo; public superusers: string[]; public triggers: TriggerConfig; public ui: UIConfig; } export class SMTPConfig { public server?: string; public port: number; public use_ssl: boolean; public username?: string; public password?: string; public from?: string; public admin_email?: string[]; } export class AlertsConfig { public smtp?: SMTPConfig; } export class AmboyConfig { public name?: string; public single_name?: string; public database?: string; public pool_size_local: number; public pool_size_remote: number; public local_storage_size: number; } export class APIConfig { public http_listen_addr?: string; public github_webhook_secret?: string; } export class AuthConfig { public ldap?: LDAPConfig; public naive?: NaiveAuthConfig; public github?: GithubAuthConfig; } export class LDAPConfig { public url?: string; public port?: string; public path?: string; public service_path?: string; public group?: string; public service_group?: string; public expire_after_minutes?: string; } export class NaiveAuthConfig { public users?: AuthUser[]; } export class AuthUser { public username?: string; public display_name?: string; public password?: string; public email?: string; } export class GithubAuthConfig { public client_id?: string; public client_secret?: string; public users?: string[]; public organization?: string; } export class HostInitConfig { public ssh_timeout_secs: number; } export class JiraConfig { public host?: string; public username?: string; public password?: string; public default_project?: string; } export class LoggerConfig { public buffer?: LogBuffering; public default_level?: string; public threshold_level?: string; public logkeeper_url?: string; } export class LogBuffering { public duration_seconds: number; public count: number; } export class NotifyConfig { public buffer_target_per_interval: number; public buffer_interval_seconds: number; public smtp?: SMTPConfig; } export class CloudProviders { public aws?: AWSConfig; public docker?: DockerConfig; public gce?: GCEConfig; public openstack?: OpenStackConfig; public vsphere?: VSphereConfig; } export class ContainerPools { public pools?: ContainerPool[]; } export class ContainerPool { public distro?: string; public id?: string; public max_containers: number; public port: number; } export class AWSConfig { public aws_secret?: string; public aws_id?: string; public s3_key?: string; public s3_secret?: string; public bucket?: string; public s3_base_url?: string; } export class DockerConfig { public api_version?: string; } export class GCEConfig { public client_email?: string; public private_key?: string; public private_key_id?: string; public token_uri?: string; } export class OpenStackConfig { public identity_endpoint?: string; public username?: string; public password?: string; public domain_name?: string; public project_name?: string; public project_id?: string; public region?: string; } export class Patches { public BuildsMap?: Record<string, BuildInfo[]>; public UIPatches?: PatchInfo[]; public PageNum?: number; } export class UIVersion { public Version?: Version; public Builds?: UIBuild[]; public PatchInfo?: UIPatch; public active_tasks?: number; public repo_owner?: string; public repo_name?: string; public upstream?: UIUpstreamData; } export class UIBuild { public Build?: Build; public Version?: Version; public PatchInfo?: UIPatch; public Tasks?: UITask[]; public Elapsed?: number; public CurrentTime?: number; public repo_owner?: string; public repo_name?: string; public taskStatusCount?: TaskStatusCount; public UpstreamData?: UIUpstreamData; } export class TaskStatusCount { public succeeded?: number; public failed?: number; public started?: number; public undispatched?: number; public inactive?: number; public dispatched?: number; public timed_out?: number; } export class UITask { public Task?: Task; public Gitspec?: string; public BuildDisplay?: string; public TaskLog?: LogMessage[]; public NextTasks?: Task[]; public PreviousTasks?: Task[]; public Elapsed?: number; public StartTime?: number; public failed_test_names?: string[]; public expected_duration?: number; } export class Task { } export class LogMessage { public t?: string; public s?: string; public m?: string; public ts?: Time; public v?: number; } export class UIPatch { public Patch?: Patch; public StatusDiffs?: object; public base_time_taken?: number; public BaseVersionId?: string; public BaseBuildId?: string; public BaseTaskId?: string; } export class UIUpstreamData { public owner?: string; public repo: string; public revision?: string; public project_name?: string; public trigger_id?: string; public trigger_type?: string; } export class Version { public id?: string; public create_time?: Time; public start_time?: Time; public finish_time?: Time; public gitspec?: string; public author?: string; public author_email?: string; public message?: string; public status?: string; public order?: number; public config?: string; public ignored?: boolean; public owner_name?: string; public repo_name?: string; public branch_name?: string; public repo_kind?: string; public build_variants_status?: VersionBuildStatus[]; public builds?: string[]; public identifier?: string; public remote?: boolean; public remote_path?: string; public requester?: string; public errors?: string[]; public warnings?: string[]; public author_id?: string; public satisfied_triggers?: string[]; public trigger_id?: string; public trigger_type?: string; public trigger_event?: string; } export class Build { public _id: string; public create_time: Date; public start_time: Date; public finish_time: Date; public version: string; public branch: string; public git_hash: string; public build_variant: string; public build_number: string; public status: string; public activated: boolean; public activated_by: string; public activated_time: Date; public order: number; public tasks: BuildTaskCache[]; public time_taken: number; public display_name: string; public predicted_makespan: number; public actual_makespan: number; public r: string; public trigger_id: string; public trigger_type: string; public trigger_event: string; } export class BuildTaskCache { public id: string; public display_name: string; public status: string; public task_end_details: string; public start_time: Date; public time_taken: number; public activated: boolean; } export class VersionBuildStatus { } export class Patch { public Id?: string; public Description?: string; public Project?: string; public Githash?: string; public PatchNumber?: number; public Author?: string; public Version?: string; public Status?: string; public CreateTime?: Time; public StartTime?: Time; public FinishTime?: Time; public BuildVariants?: string[]; public Tasks?: string[]; public VariantTasks?: VariantTasks[]; public Patches?: ModulePatch[]; public Activated?: boolean; public PatchedConfig?: string; public Alias?: string; public GithubPatchData?: GithubPatch; } export class Time { public wall?: number; public ext?: number; public loc?: Location; } export class GithubPatch { public pr_number?: number; public base_owner?: string; public base_repo?: string; public base_branch?: string; public head_owner?: string; public head_repo?: string; public head_hash?: string; public author?: string; public author_uid?: number; public merge_commit_sha?: string; } export class ModulePatch { public name?: string; public githash?: string; public patch_set?: PatchSet; } export class PatchSet { public patch?: string; public patch_file_id?: string; public summary?: Summary[]; } export class Summary { public filename?: string; public additions?: number; public deletions?: number; } export class VariantTasks { public Variant?: string; public Tasks?: string[]; public DisplayTasks?: DisplayTask[]; } export class DisplayTask { public Name?: string; public ExecTasks?: string[]; } export class APITask { public task_id?: string; public project_id?: string; public create_time: Time; public dispatch_time: Time; public scheduled_time: Time; public start_time: Time; public finish_time: Time; public ingest_time: Time; public version_id?: string; public revision?: string; public priority: number; public activated: boolean; public activated_by?: string; public build_id?: string; public distro_id?: string; public build_variant?: string; public depends_on: string[]; public display_name?: string; public host_id?: string; public restarts: number; public execution: number; public order: number; public status?: string; public status_details: APITaskEndDetail; public logs: APITaskLogLinks; public time_taken_ms: number; public expected_duration_ms: number; public est_wait_to_start_ms: number; public estimated_cost: number; public previous_executions: APITask[]; public generate_task: boolean; public generated_by: string; public artifacts: APIFile[]; public display_only: boolean; public execution_tasks?: string[]; public mainline: boolean; public task_group: string; public task_group_max_hosts: number; } export class APIFile { public name?: string; public link?: string; public visibility?: string; public ignore_for_fetch: boolean; } export class APITaskEndDetail { public status?: string; public type?: string; public description?: string; public timed_out: boolean; } export class APITaskLogLinks { public all_log?: string; public task_log?: string; public agent_log?: string; public system_log?: string; } export class TestLogs { public url?: string; public line_num?: number; public url_raw?: string; public log_id?: string; } export class APITest { public task_id?: string; public status?: string; public test_file?: string; public logs?: TestLogs; public exit_code?: number; public start_time?: Time; public end_time?: Time; } export class VSphereConfig { public host?: string; public username?: string; public password?: string; } export class RepoTrackerConfig { public revs_to_fetch: number; public max_revs_to_search: number; public max_con_requests: number; } export class SchedulerConfig { public task_finder?: string; public host_allocator?: string; public free_host_fraction: number; public cache_duration_seconds: number; } export class ServiceFlags { public task_dispatch_disabled: boolean; public host_init_disabled: boolean; public monitor_disabled: boolean; public alerts_disabled: boolean; public agent_start_disabled: boolean; public repotracker_disabled: boolean; public scheduler_disabled: boolean; public github_pr_testing_disabled: boolean; public cli_updates_disabled: boolean; public background_stats_disabled: boolean; public task_logging_disabled: boolean; public cache_stats_job_disabled: boolean; public cache_stats_endpoint_disabled: boolean; public commit_queue_disabled: boolean; public planner_disabled: boolean; public host_allocator_disabled: boolean; public event_processing_disabled: boolean; public jira_notifications_disabled: boolean; public slack_notifications_disabled: boolean; public email_notifications_disabled: boolean; public webhook_notifications_disabled: boolean; public github_status_api_disabled: boolean; } export class SlackConfig { public options?: SlackOptions; public token?: string; public level?: string; } export class SlackOptions { public channel?: string; public hostname?: string; public name?: string; public username?: string; public icon_url?: string; public add_basic_metadata: boolean; public use_fields: boolean; public all_fields: boolean; public fields: object; } export class SplunkConnectionInfo { public url?: string; public token?: string; public channel?: string; } export class UIConfig { public url?: string; public help_url?: string; public http_listen_addr?: string; public secret?: string; public default_project?: string; public cache_templates: boolean; public csrf_key?: string; public cors_origin?: string; } export class JiraNotificationsConfig { public custom_fields: object; } export class TriggerConfig { public generate_distro?: string; } export class JasperConfig { public binary_name?: string; public download_file_name?: string; public port?: number; public url?: string; public version?: string; } export class PatchInfo { public id: string; public version: string; public author: string; public create_time: Date; public project: string; public description: string; public githash: string; public status: string; public base_version_id: string; public alias: string; } export class LogInfo { public command: string; public url: string; } export class TaskLogs { public agent: LogInfo[]; public system: LogInfo[]; public task: LogInfo[]; } export class TaskEndDetail { public status?: string; public type?: string; public desc?: string; public timed_out?: boolean; public logs?: TaskLogs | null; } export class TaskInfo { public id: string; public display_name: string; public status: string; public status_details: TaskEndDetail; } export class BuildInfo { public id: string; public display_name: string; public tasks: TaskInfo[]; }