@codefresh-io/cf-git-providers
Version:
An NPM module/CLI for interacting with various git providers
123 lines • 3.78 kB
TypeScript
import { Provider, Repository, Branch, Webhook, ProviderName, User, PullRequest, RepositoryPermission, PermissionScopes, GitAuth, RefreshTokenHandler } from './types';
import { RetryConfigMap } from '../helpers/request-retry';
export declare const avatarSize = 64;
export default class BitbucketServer implements Provider {
private baseUrl;
private authenticationHeader;
private timeout;
private agent?;
private auth;
private refreshTokenHandler?;
private retryConfig?;
constructor(opts: {
password: string;
username?: string;
refreshToken?: string;
type: 'basic' | 'oauth2' | 'PAT';
apiURL?: string;
apiUrl?: string;
timeout?: number;
insecure?: boolean;
refreshTokenHandler?: RefreshTokenHandler;
retryConfig?: RetryConfigMap;
});
createRepository(opts: {
owner: string;
repo: string;
autoInit?: boolean;
private?: boolean;
}): Promise<Repository>;
private shouldRefreshToken;
private updateAuth;
private performAPICall;
private paginateForResult;
private getProjectKey;
private verifyProjectKey;
getName(): ProviderName;
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;
}): Promise<Branch[]>;
createBranch(): Promise<Branch>;
listRepositoriesForOwner(): Promise<Repository[]>;
createRepositoryWebhook(opts: {
owner: string;
repo: string;
endpoint: string;
secret: string;
}): Promise<Webhook>;
listWebhooks(opts: {
owner: string;
repo: string;
}): Promise<Webhook[]>;
deleteRepositoryWebhook(opts: {
owner: string;
repo: string;
hookId: number;
}): Promise<void>;
listRepositoriesWithAffiliation(opts: {
limit?: number;
page?: number;
}): Promise<Repository[]>;
private paginateReposResult;
listOrganizations(opts: {
limit?: number;
page?: number;
}): Promise<string[]>;
getRepositoryPermissions(opts: {
owner: string;
repo: string;
user?: string;
}): Promise<RepositoryPermission>;
listRepositoriesForOrganization(): Promise<Repository[]>;
createCommitStatus(opts: {
owner: string;
repo: string;
sha: string;
targetUrl: string;
state: string;
description: string;
context: string;
}): Promise<void>;
getUser(opts?: {
username?: string;
}): Promise<User>;
getUserByEmail(email: string): Promise<User>;
getPullRequestFiles(): Promise<string[]>;
getPullRequest(): Promise<PullRequest>;
searchMergedPullRequestByCommitSha(): Promise<PullRequest | undefined>;
createPullRequest(): Promise<PullRequest>;
assertApiScopes(opts: {
scopes: PermissionScopes[];
repoUrl?: string;
}): Promise<void>;
validateToken(): Promise<void>;
skipPermissionsValidation(): {
skip: boolean;
reason?: string;
};
assertReadScope(): Promise<void>;
assertWriteScope(repoUrl: string): Promise<void>;
assertAdminScope(): Promise<void>;
toOwnerRepo(fullRepoName: string): [string, string];
getAuth(): GitAuth;
isTokenMutable(): boolean;
requiresRepoToCheckTokenScopes(): boolean;
useAdminForUserPermission(): boolean;
}
//# sourceMappingURL=bitbucket-server.d.ts.map