UNPKG

2.38 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 token?: string;
12}
13export 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}
42export {};