UNPKG

bugzilla

Version:

A NodeJS module to access Bugzilla instances through the REST API.

29 lines (28 loc) 1.91 kB
import { URL, URLSearchParams } from 'url'; import type { DateTime } from 'luxon'; import type { SearchParams } from './link'; import { FilteredQuery } from './query'; import type { Bug, User, History, Comment, CreateCommentContent, CreateBugContent, UpdateBugContent, UpdatedBug, Attachment, CreateAttachmentContent, UpdateAttachmentContent, UpdatedAttachment } from './types'; export type { Bug, User, History, Change, Flag, Comment, Attachment, } from './types'; export default class BugzillaAPI { private readonly link; constructor(instance: URL | string); constructor(instance: URL | string, apiKey: string); constructor(instance: URL | string, username: string, password: string, restrictLogin?: boolean); version(): Promise<string>; whoami(): Promise<User>; bugHistory(bugId: number | string, since?: DateTime): Promise<History[]>; searchBugs(query: SearchParams): FilteredQuery<Bug>; getBugs(ids: (number | string)[]): FilteredQuery<Bug>; quicksearch(query: string): FilteredQuery<Bug>; advancedSearch(query: string | URL | Record<string, string> | [string, string][] | URLSearchParams): FilteredQuery<Bug>; getComment(commentId: number): Promise<Comment | undefined>; getBugComments(bugId: number): Promise<Comment[] | undefined>; createComment(bugId: number, comment: string, options?: Partial<Omit<CreateCommentContent, 'comment'>>): Promise<number>; createBug(bug: CreateBugContent): Promise<number>; updateBug(bugIdOrAlias: number | string, data: UpdateBugContent): Promise<UpdatedBug[]>; getAttachment(attachmentId: number): Promise<Attachment | undefined>; getBugAttachments(bugId: number): Promise<Attachment[] | undefined>; createAttachment(bugId: number, attachment: CreateAttachmentContent): Promise<number[]>; updateAttachment(attachmentId: number, data: UpdateAttachmentContent): Promise<UpdatedAttachment[]>; }