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 | graphqlBaseUrl?: string;
|
12 | token?: string;
|
13 | }
|
14 | export default class Git {
|
15 | readonly options: IGitOptions;
|
16 | private readonly baseUrl;
|
17 | private readonly graphqlBaseUrl;
|
18 | private readonly ghub;
|
19 | private readonly logger;
|
20 | constructor(options: IGitOptions, logger?: ILogger);
|
21 | getLatestReleaseInfo(): Promise<Octokit.ReposGetLatestReleaseResponse>;
|
22 | getLatestRelease(): Promise<string>;
|
23 | getCommitDate(sha: string): Promise<string>;
|
24 | getFirstCommit(): Promise<string>;
|
25 | /**
|
26 | * Get the SHA of the latest commit
|
27 | */
|
28 | getSha(short?: boolean): Promise<string>;
|
29 | getLabels(prNumber: number): Promise<string[]>;
|
30 | getPr(prNumber: number): Promise<Octokit.Response<Octokit.IssuesGetResponse>>;
|
31 | getProjectLabels(): Promise<string[]>;
|
32 | getGitLog(start: string, end?: string): Promise<ICommit[]>;
|
33 | getUserByEmail(email: string): Promise<any>;
|
34 | getUserByUsername(username: string): Promise<Octokit.UsersGetByUsernameResponse | undefined>;
|
35 | getPullRequest(pr: number): Promise<Octokit.Response<Octokit.PullsGetResponse>>;
|
36 | searchRepo(options: Octokit.SearchIssuesAndPullRequestsParams): Promise<any>;
|
37 | graphql(query: string): Promise<any>;
|
38 | createStatus(prInfo: IPRInfo): Promise<Octokit.Response<Octokit.ReposCreateStatusResponse>>;
|
39 | createLabel(name: string, label: ILabelDefinition): Promise<Octokit.Response<Octokit.IssuesCreateLabelResponse>>;
|
40 | updateLabel(name: string, label: ILabelDefinition): Promise<Octokit.Response<Octokit.IssuesUpdateLabelResponse>>;
|
41 | addLabelToPr(pr: number, label: string): Promise<Octokit.Response<Octokit.IssuesAddLabelsResponseItem[]>>;
|
42 | lockIssue(issue: number): Promise<Octokit.Response<Octokit.IssuesLockResponse>>;
|
43 | getProject(): Promise<Octokit.ReposGetResponse>;
|
44 | getPullRequests(options?: Partial<Octokit.PullsListParams>): Promise<Octokit.PullsListResponseItem[]>;
|
45 | getCommitsForPR(pr: number): Promise<Octokit.PullsListCommitsResponseItem[]>;
|
46 | deleteComment(pr: number, context?: string): Promise<void>;
|
47 | createComment(message: string, pr: number, context?: string): Promise<Octokit.Response<Octokit.IssuesCreateCommentResponse>>;
|
48 | addToPrBody(message: string, pr: number, context?: string): Promise<Octokit.Response<Octokit.IssuesUpdateResponse>>;
|
49 | publish(releaseNotes: string, tag: string): Promise<Octokit.Response<Octokit.ReposCreateReleaseResponse>>;
|
50 | getLatestTagInBranch(): Promise<string>;
|
51 | }
|
52 | export {};
|