renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
83 lines (82 loc) • 2.44 kB
TypeScript
import type { FindPRConfig } from '../types';
export interface GerritFindPRConfig extends FindPRConfig {
label?: string;
}
/**
* The Interfaces for the Gerrit API Responses ({@link https://gerrit-review.googlesource.com/Documentation/rest-api.html | REST-API})
* minimized to only needed properties.
*
* @packageDocumentation
*/
export interface GerritProjectInfo {
id: string;
name: string;
state?: 'ACTIVE' | 'READ_ONLY' | 'HIDDEN';
labels?: Record<string, GerritLabelTypeInfo>;
}
export interface GerritLabelTypeInfo {
values: Record<number, string>;
default_value: number;
}
export interface GerritBranchInfo {
ref: string;
revision: string;
}
export type GerritChangeStatus = 'NEW' | 'MERGED' | 'ABANDONED';
export type GerritReviewersType = 'REVIEWER' | 'CC' | 'REMOVED';
export interface GerritChange {
branch: string;
/**
* for backwards compatibility
*/
hashtags?: string[];
change_id: string;
subject: string;
status: GerritChangeStatus;
submittable?: boolean;
_number: number;
labels?: Record<string, GerritLabelInfo>;
reviewers?: Record<GerritReviewersType, GerritAccountInfo[]>;
messages?: GerritChangeMessageInfo[];
current_revision: string;
/**
* All patch sets of this change as a map that maps the commit ID of the patch set to a RevisionInfo entity.
*/
revisions: Record<string, GerritRevisionInfo>;
problems: unknown[];
}
export interface GerritCommitInfo {
message: string;
}
export interface GerritRevisionInfo {
uploader: GerritAccountInfo;
/**
* The Git reference for the patch set.
*/
ref: string;
actions?: Record<string, GerritActionInfo>;
commit: GerritCommitInfo;
}
export interface GerritChangeMessageInfo {
id: string;
message: string;
tag?: string;
}
export interface GerritLabelInfo {
approved?: GerritAccountInfo;
rejected?: GerritAccountInfo;
/** If true, the label blocks submit operation. If not set, the default is false. */
blocking?: boolean;
}
export interface GerritActionInfo {
method?: string;
enabled?: boolean;
}
export interface GerritAccountInfo {
_account_id: number;
username?: string;
}
export interface GerritMergeableInfo {
submit_type: 'MERGE_IF_NECESSARY' | 'FAST_FORWARD_ONLY' | 'REBASE_IF_NECESSARY' | 'REBASE_ALWAYS' | 'MERGE_ALWAYS' | 'CHERRY_PICK';
mergeable: boolean;
}