package com.qqchen.deploy.backend.deploy.service;

import com.qqchen.deploy.backend.deploy.dto.JenkinsInstanceDTO;

/**
 * Jenkins管理服务接口
 */
public interface IJenkinsManagerService {

    /**
     * 同步Jenkins所有数据（视图、任务、构建信息）
     *
     * @param externalSystemId 外部系统ID
     */
    void syncAll(Long externalSystemId);

    /**
     * 同步Jenkins视图
     *
     * @param externalSystemId 外部系统ID
     */
    void syncViews(Long externalSystemId);

    /**
     * 同步Jenkins任务
     *
     * @param externalSystemId 外部系统ID
     */
    void syncJobs(Long externalSystemId);

    /**
     * 同步Jenkins构建信息
     *
     * @param externalSystemId 外部系统ID
     */
    void syncBuilds(Long externalSystemId);

    JenkinsInstanceDTO instance(Long externalSystemId);
}