UNPKG

@codefresh-io/cf-git-providers

Version:

An NPM module/CLI for interacting with various git providers

110 lines 3.56 kB
import { ProviderName, Provider, Branch, Repository, Webhook, User, PullRequest, RepositoryPermission, PermissionScopes, GitAuth, RefreshTokenHandler, BitbucketAuthTypes, RepositoryFilters } from './types'; import { RetryConfigMap } from '../helpers/request-retry'; export default class Bitbucket implements Provider { private baseUrl; private apiPrefix; private authenticationHeader; private timeout; private agent?; private retryConfig?; private auth; private refreshTokenHandler?; constructor(opts: { password: string; username?: string; refreshToken?: string; expires?: number; type: BitbucketAuthTypes; apiURL?: string; timeout?: number; insecure?: boolean; retryConfig?: RetryConfigMap; refreshTokenHandler?: RefreshTokenHandler; }); getName(): ProviderName; private shouldRefreshToken; private updateAuth; private doRefreshToken; private performAPICall; private paginate; private paginateWithNext; createRepository(opt: { owner: string; repo: string; autoInit?: boolean; private?: boolean; }): Promise<Repository>; fetchRawFile(opts: { owner: string; repo: string; ref: string; path: string; }): Promise<string>; getBranch(opts: { owner: string; repo: string; branch: string; }): Promise<Branch>; getRepository(opts: { owner: string; repo: string; }): Promise<Repository>; listBranches(opts: { owner: string; repo: string; limit?: number; page?: number; branchMatchingName?: string; }): Promise<Branch[]>; createBranch(): Promise<Branch>; listRepositoriesForOwner(): Promise<Repository[]>; createRepositoryWebhook(): Promise<Webhook>; listWebhooks(): Promise<Webhook[]>; deleteRepositoryWebhook(): Promise<void>; listRepositoriesWithAffiliation(opt: { affiliation?: string; sort?: 'name' | 'pushed' | 'created'; direction?: 'desc' | 'asc'; limit?: number; page?: number; filters?: RepositoryFilters; }): Promise<Repository[]>; listOrganizations(opt: { limit?: number; page?: number; }): Promise<string[]>; listRepositoriesForOrganization(): Promise<Repository[]>; createCommitStatus(): Promise<void>; getUser(opt?: { username?: string; orgRepo?: string; commitHash?: string; }): Promise<User>; getUserByEmail(email: string, orgRepo?: string, commitHash?: string): Promise<User>; getPullRequestFiles(): Promise<string[]>; getPullRequest(): Promise<PullRequest>; searchMergedPullRequestByCommitSha(): Promise<PullRequest | undefined>; createPullRequest(): Promise<PullRequest>; getRepositoryPermissions(opt: { owner: string; repo: string; user?: string; }): Promise<RepositoryPermission>; assertApiScopes(opt: { scopes: PermissionScopes[]; repoUrl?: string; }): Promise<void>; validateToken(): Promise<void>; skipPermissionsValidation(): { skip: boolean; reason?: string; }; toOwnerRepo(fullRepoName: string): [string, string]; getAuth(): GitAuth; isTokenMutable(): boolean; requiresRepoToCheckTokenScopes(): boolean; private getCurrentUser; private getUserFromCommit; useAdminForUserPermission(): boolean; } //# sourceMappingURL=bitbucket.d.ts.map