t-comm
Version: 
专业、稳定、纯粹的工具库
53 lines (52 loc) • 1.56 kB
TypeScript
/**
 * 每日合并
 * 1. 获取昨天有活跃的分支
 * 2. 对于每个分支,进行合并并推送
 *     - 清理 Git 环境
 *     - 切到主分支,并拉最新代码
 *     - 切到当前分支,拉最新代码
 *     - 尝试执行 git merge
 *     - 对比 merge 前后的 commit 信息是否相同,作为判断 merge 是否成功的依据
 * 3. 发送机器人消息
 *
 *
 * @export
 * @async
 * @param {object} param0 参数
 * @param {string} param0.webhookUrl 机器人地址
 * @param {string} param0.appName 项目名称
 * @param {string} param0.devRoot 项目根路径
 * @param {string} param0.baseUrl 基础请求 url
 * @param {string} param0.repoName 仓库名称
 * @param {string} param0.privateToken 密钥
 * @param {boolean} [param0.isDryRun=false] 是否演练
 * @param {string} [param0.mainBranch='develop'] 主分支
 * @param {Regexp} [param0.whiteBranchReg=/^release\|develop\|hotfix\\/.+$/] 不处理的分支正则
 * @returns {*}
 * @example
 *
 * ```ts
 * dailyMerge({
 *   webhookUrl: 'xx',
 *   appName: 'xx',
 *   devRoot: 'xx',
 *
 *   baseUrl: 'xx',
 *   repoName: 'xx',
 *   privateToken: 'xx',
 *
 *   isDryRun: false,
 * })
 * ```
 */
export declare function dailyMerge({ webhookUrl, appName, devRoot, baseUrl, repoName, privateToken, isDryRun, mainBranch, whiteBranchReg, }: {
    webhookUrl: string;
    appName: string;
    devRoot: string;
    baseUrl: string;
    repoName: string;
    privateToken: string;
    isDryRun?: boolean;
    mainBranch?: string;
    whiteBranchReg?: RegExp;
}): Promise<void>;