UNPKG

2.88 kBTypeScriptView Raw
1import Octokit from '@octokit/rest';
2import { ICommit } from 'gitlog';
3import { ILabelDefinition } from './release';
4import { ILogger } from './utils/logger';
5declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>> & Partial<Pick<T, K>>;
6export declare type IPRInfo = Omit<Octokit.ReposCreateStatusParams, 'owner' | 'repo'>;
7export interface IGitOptions {
8 owner: string;
9 repo: string;
10 baseUrl?: string;
11 graphqlBaseUrl?: string;
12 token?: string;
13}
14export 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}
52export {};