renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
80 lines (79 loc) • 2.1 kB
TypeScript
import type { LongCommitSha } from '../../../util/git/types';
import type { Pr } from '../types';
export interface GitlabIssue {
iid: number;
labels?: string[];
title: string;
}
export interface GitlabComment {
body: string;
id: number;
}
export interface GitLabUser {
id: number;
username: string;
}
export interface GitLabMergeRequest {
iid: number;
title: string;
state: string;
created_at: string;
source_branch: string;
target_branch: string;
description: string;
diverged_commits_count: number;
merge_status: string;
assignee?: GitLabUser;
assignees?: GitLabUser[];
reviewers?: GitLabUser[];
labels: string[];
sha: LongCommitSha;
head_pipeline?: {
status: string;
sha: string;
};
updated_at: string;
}
export interface GitlabPr extends Pr {
headPipelineStatus?: string;
headPipelineSha?: string;
}
export interface UpdateMergeRequest {
target_branch?: string;
title?: string;
assignee_id?: number;
assignee_ids?: number[];
reviewer_ids?: number[];
}
export type MergeMethod = 'merge' | 'rebase_merge' | 'ff';
export interface RepoResponse {
id: number;
archived: boolean;
mirror: boolean;
default_branch: string;
empty_repo: boolean;
ssh_url_to_repo: string | null;
http_url_to_repo: string | null;
forked_from_project: boolean;
repository_access_level: 'disabled' | 'private' | 'enabled';
merge_requests_access_level: 'disabled' | 'private' | 'enabled';
merge_method: MergeMethod;
/**
* only available with paid plans
* https://docs.gitlab.com/ci/pipelines/merge_trains
*/
merge_trains_enabled?: boolean;
path_with_namespace: string;
squash_option?: 'never' | 'always' | 'default_on' | 'default_off';
}
export interface GitlabUserStatus {
message?: string;
message_html?: string;
emoji?: string;
availability: 'not_set' | 'busy';
}
export interface GitlabPrCacheData {
items: Record<number, GitlabPr>;
updated_at: string | null;
author: string | null;
}