long-git-cli
Version:
A CLI tool for Git tag management.
101 lines • 3.32 kB
TypeScript
/**
* Bitbucket API 客户端
* 负责与 Bitbucket API 交互,获取 Pipeline 状态
*/
import { PipelineStatus, WaitOptions } from "../types";
/**
* Bitbucket API 客户端类
*/
export declare class BitbucketClient {
private client;
private username;
private token;
/**
* 构造函数
* @param username Bitbucket 用户名
* @param token Bitbucket API Token 或 App Password(明文)
*/
constructor(username: string, token: string);
/**
* 测试连接
* @returns 连接是否成功
*/
testConnection(): Promise<boolean>;
/**
* 获取指定 tag 的 Pipeline 列表
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @param tag Tag 名称
* @returns Pipeline 列表
*/
getPipelinesByTag(workspace: string, repoSlug: string, tag: string): Promise<PipelineStatus[]>;
/**
* 获取 tag 对应的 commit hash
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @param tag Tag 名称
* @returns Commit hash
*/
getTagCommit(workspace: string, repoSlug: string, tag: string): Promise<string>;
/**
* 获取 commit 的 build status
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @param commitHash Commit hash
* @returns Build status 列表
*/
getCommitBuildStatus(workspace: string, repoSlug: string, commitHash: string): Promise<any[]>;
/**
* 获取分支的最新 commit hash
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @param branch 分支名称
* @returns Commit hash
*/
getBranchLatestCommit(workspace: string, repoSlug: string, branch: string): Promise<string>;
/**
* 创建 tag(通过 API)
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @param tagName Tag 名称
* @param commitHash Commit hash(可选,不提供则使用当前 HEAD)
* @returns 创建的 tag 信息
*/
createTag(workspace: string, repoSlug: string, tagName: string, commitHash?: string): Promise<any>;
/**
* 获取仓库的所有 tags
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @returns Tag 列表
*/
getTags(workspace: string, repoSlug: string): Promise<any[]>;
/**
* 获取指定 Pipeline 的状态
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @param pipelineUuid Pipeline UUID
* @returns Pipeline 状态
*/
getPipelineStatus(workspace: string, repoSlug: string, pipelineUuid: string): Promise<PipelineStatus>;
/**
* 等待 Pipeline 完成
* @param workspace Bitbucket workspace
* @param repoSlug 仓库 slug
* @param tag Tag 名称
* @param options 等待选项
* @returns 最终的 Pipeline 状态
*/
waitForPipelineCompletion(workspace: string, repoSlug: string, tag: string, options?: WaitOptions): Promise<PipelineStatus>;
/**
* 休眠指定毫秒数
* @param ms 毫秒数
*/
private sleep;
/**
* 处理错误
* @param error 错误对象
* @param message 错误消息
*/
private handleError;
}
//# sourceMappingURL=bitbucket-client.d.ts.map