reg-notify-gitlab-plugin
Version:
Notify reg-suit result to GitLab repository
74 lines (73 loc) • 2.93 kB
TypeScript
export declare type ProjectIdType = number;
export declare type MergeResuestIidType = number;
export declare type NoteIdType = number;
export declare type DiscussionIdType = number;
export declare type MergeRequestResource = {
iid: MergeResuestIidType;
description: string;
web_url: string;
};
export declare type CommitResource = {
id: string;
};
export declare type NoteResouce = {
id: NoteIdType;
body: string;
};
export declare type DiscussionResource = {
id: DiscussionIdType;
notes: NoteResouce[];
};
export declare type GetMergeRequestsParams = {
project_id: ProjectIdType;
};
export declare type PutMergeRequestParams = {
project_id: ProjectIdType;
iid: MergeResuestIidType;
description?: string;
};
export declare type GetMergeRequestCommitsParams = {
project_id: ProjectIdType;
merge_request_iid: MergeResuestIidType;
};
export declare type GetMergeRequestNotesParams = {
project_id: ProjectIdType;
merge_request_iid: MergeResuestIidType;
};
export declare type PostMergeRequestNoteParams = {
project_id: ProjectIdType;
merge_request_iid: MergeResuestIidType;
body: string;
};
export declare type PutMergeRequestNoteParams = {
project_id: ProjectIdType;
merge_request_iid: MergeResuestIidType;
note_id: NoteIdType;
body: string;
};
export declare type PostMergeRequestDiscussionParams = {
project_id: ProjectIdType;
merge_request_iid: MergeResuestIidType;
body: string;
};
export interface GitLabApiClient {
getMergeRequests(params: GetMergeRequestsParams): Promise<MergeRequestResource[]>;
putMergeRequest(params: PutMergeRequestParams): Promise<MergeRequestResource>;
getMergeRequestCommits(params: GetMergeRequestCommitsParams): Promise<CommitResource[]>;
getMergeRequestNotes(params: GetMergeRequestNotesParams): Promise<NoteResouce[]>;
postMergeRequestNote(params: PostMergeRequestNoteParams): Promise<NoteResouce>;
putMergeRequestNote(params: PutMergeRequestNoteParams): Promise<NoteResouce>;
postMergeRequestDiscussion(params: PostMergeRequestDiscussionParams): Promise<DiscussionResource>;
}
export declare class DefaultGitLabApiClient implements GitLabApiClient {
private _urlPrefix;
private _token;
constructor(_urlPrefix: string, _token: string);
getMergeRequests(params: GetMergeRequestsParams): Promise<MergeRequestResource[]>;
putMergeRequest(params: PutMergeRequestParams): Promise<MergeRequestResource>;
getMergeRequestCommits(params: GetMergeRequestCommitsParams): Promise<CommitResource[]>;
getMergeRequestNotes(params: GetMergeRequestNotesParams): Promise<NoteResouce[]>;
postMergeRequestNote(params: PostMergeRequestNoteParams): Promise<NoteResouce>;
putMergeRequestNote(params: PutMergeRequestNoteParams): Promise<NoteResouce>;
postMergeRequestDiscussion(params: PostMergeRequestDiscussionParams): Promise<DiscussionResource>;
}