1 | import Octokit from '@octokit/rest';
|
2 | import { ICommit } from 'gitlog';
|
3 | import { ILabelDefinition } from './release';
|
4 | import { ILogger } from './utils/logger';
|
5 | declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>> & Partial<Pick<T, K>>;
|
6 | export declare type IPRInfo = Omit<Octokit.ReposCreateStatusParams, 'owner' | 'repo'>;
|
7 | export interface IGitOptions {
|
8 | owner: string;
|
9 | repo: string;
|
10 | baseUrl?: string;
|
11 | token?: string;
|
12 | }
|
13 | export default class Git {
|
14 | readonly options: IGitOptions;
|
15 | private readonly baseUrl;
|
16 | private readonly ghub;
|
17 | private readonly logger;
|
18 | constructor(options: IGitOptions, logger?: ILogger);
|
19 | getLatestReleaseInfo(): Promise<Octokit.ReposGetLatestReleaseResponse>;
|
20 | getLatestRelease(): Promise<string>;
|
21 | getCommitDate(sha: string): Promise<string>;
|
22 | getFirstCommit(): Promise<string>;
|
23 | getSha(): Promise<string>;
|
24 | getLabels(prNumber: number): Promise<string[]>;
|
25 | getProjectLabels(): Promise<string[]>;
|
26 | getGitLog(start: string, end?: string): Promise<ICommit[]>;
|
27 | getUserByEmail(email: string): Promise<any>;
|
28 | getUserByUsername(username: string): Promise<Octokit.UsersGetByUsernameResponse>;
|
29 | getPullRequest(pr: number): Promise<Octokit.Response<Octokit.PullsGetResponse>>;
|
30 | searchRepo(options: Octokit.SearchIssuesAndPullRequestsParams): Promise<any>;
|
31 | createStatus(prInfo: IPRInfo): Promise<Octokit.Response<Octokit.ReposCreateStatusResponse>>;
|
32 | createLabel(name: string, label: ILabelDefinition): Promise<Octokit.Response<Octokit.IssuesCreateLabelResponse>>;
|
33 | updateLabel(name: string, label: ILabelDefinition): Promise<Octokit.Response<Octokit.IssuesUpdateLabelResponse>>;
|
34 | addLabelToPr(pr: number, label: string): Promise<Octokit.Response<Octokit.IssuesAddLabelsResponseItem[]>>;
|
35 | lockIssue(issue: number): Promise<Octokit.Response<Octokit.IssuesLockResponse>>;
|
36 | getProject(): Promise<Octokit.ReposGetResponse>;
|
37 | getPullRequests(options?: Partial<Octokit.PullsListParams>): Promise<Octokit.PullsListResponseItem[]>;
|
38 | getCommitsForPR(pr: number): Promise<Octokit.PullsListCommitsResponseItem[]>;
|
39 | createComment(message: string, pr: number, context?: string): Promise<Octokit.Response<Octokit.IssuesCreateCommentResponse>>;
|
40 | publish(releaseNotes: string, tag: string): Promise<Octokit.Response<Octokit.ReposCreateReleaseResponse>>;
|
41 | }
|
42 | export {};
|