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 | getProjectLabels(): Promise<string[]>;
|
31 | getGitLog(start: string, end?: string): Promise<ICommit[]>;
|
32 | getUserByEmail(email: string): Promise<any>;
|
33 | getUserByUsername(username: string): Promise<Octokit.UsersGetByUsernameResponse | undefined>;
|
34 | getPullRequest(pr: number): Promise<Octokit.Response<Octokit.PullsGetResponse>>;
|
35 | searchRepo(options: Octokit.SearchIssuesAndPullRequestsParams): Promise<any>;
|
36 | graphql(query: string): Promise<any>;
|
37 | createStatus(prInfo: IPRInfo): Promise<Octokit.Response<Octokit.ReposCreateStatusResponse>>;
|
38 | createLabel(name: string, label: ILabelDefinition): Promise<Octokit.Response<Octokit.IssuesCreateLabelResponse>>;
|
39 | updateLabel(name: string, label: ILabelDefinition): Promise<Octokit.Response<Octokit.IssuesUpdateLabelResponse>>;
|
40 | addLabelToPr(pr: number, label: string): Promise<Octokit.Response<Octokit.IssuesAddLabelsResponseItem[]>>;
|
41 | lockIssue(issue: number): Promise<Octokit.Response<Octokit.IssuesLockResponse>>;
|
42 | getProject(): Promise<Octokit.ReposGetResponse>;
|
43 | getPullRequests(options?: Partial<Octokit.PullsListParams>): Promise<Octokit.PullsListResponseItem[]>;
|
44 | getCommitsForPR(pr: number): Promise<Octokit.PullsListCommitsResponseItem[]>;
|
45 | createComment(message: string, pr: number, context?: string): Promise<Octokit.Response<Octokit.IssuesCreateCommentResponse>>;
|
46 | addToPrBody(message: string, pr: number, context?: string): Promise<Octokit.Response<Octokit.IssuesUpdateResponse>>;
|
47 | publish(releaseNotes: string, tag: string): Promise<Octokit.Response<Octokit.ReposCreateReleaseResponse>>;
|
48 | getLatestTagInBranch(): Promise<string>;
|
49 | }
|
50 | export {};
|