diff --git a/framework/commons/pom.xml b/framework/commons/pom.xml
index 11d8903..667d8a2 100644
--- a/framework/commons/pom.xml
+++ b/framework/commons/pom.xml
@@ -144,6 +144,11 @@
okhttp
+
+ com.google.guava
+ guava
+
+
com.alibaba
transmittable-thread-local
diff --git a/modules/ci-process/pipeline-ci-process-api/pom.xml b/modules/ci-process/pipeline-ci-process-api/pom.xml
index 1a4b0d9..40346e9 100644
--- a/modules/ci-process/pipeline-ci-process-api/pom.xml
+++ b/modules/ci-process/pipeline-ci-process-api/pom.xml
@@ -19,4 +19,11 @@
jar
+
+
+ cd.casic.ci
+ ci-commons
+
+
+
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/pipelineciprocessapi/PipelineCiProcessApiApplication.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/pipelineciprocessapi/PipelineCiProcessApiApplication.java
deleted file mode 100644
index a3eda9c..0000000
--- a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/pipelineciprocessapi/PipelineCiProcessApiApplication.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package cd.casic.ci.pipelineciprocessapi;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class PipelineCiProcessApiApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(PipelineCiProcessApiApplication.class, args);
- }
-
-}
-
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineBuildParamKey.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineBuildParamKey.java
new file mode 100644
index 0000000..f0b31a3
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineBuildParamKey.java
@@ -0,0 +1,91 @@
+package cd.casic.ci.process.api.process.constant;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.constant
+ * @Project:ops-pro
+ * @name:PipelineBuildParamKey
+ * @Date:2025/03/24 14:32
+ * @Filename:PipelineBuildParamKey
+ * @description:流水线上下文变量Key
+ */
+public class PipelineBuildParamKey {
+ // GIT 触发公共参数
+ public static final String CI_REPO_TYPE = "ci.repo_type";
+ public static final String CI_REPO_URL = "ci.repo_url";
+ public static final String CI_REPO = "ci.repo";
+ public static final String CI_REPO_ID = "ci.repo_id";
+ public static final String CI_REPO_GROUP = "ci.repo_group";
+ public static final String CI_REPO_NAME = "ci.repo_name";
+ public static final String CI_REPO_ALIAS_NAME = "ci.repo_alias_name";
+ public static final String CI_EVENT = "ci.event";
+ public static final String CI_EVENT_URL = "ci.event_url";
+ public static final String CI_BRANCH = "ci.branch";
+ public static final String CI_BUILD_MSG = "ci.build_msg";
+ public static final String CI_COMMIT_MESSAGE = "ci.commit_message";
+ public static final String CI_ACTION = "ci.action";
+ public static final String CI_ACTOR = "ci.actor";
+ // GIT PUSH参数
+ public static final String CI_BEFORE_SHA = "ci.before_sha";
+ public static final String CI_BEFORE_SHA_SHORT = "ci.before_sha_short";
+ public static final String CI_SHA = "ci.sha";
+ public static final String CI_SHA_SHORT = "ci.sha_short";
+ public static final String CI_OPERATION_KIND = "ci.operation_kind";
+ // GIT MR参数
+ public static final String CI_MR_PROPOSER = "ci.mr_proposer";
+ public static final String CI_HEAD_REPO_URL = "ci.head_repo_url";
+ public static final String CI_BASE_REPO_URL = "ci.base_repo_url";
+ public static final String CI_HEAD_REF = "ci.head_ref";
+ public static final String CI_BASE_REF = "ci.base_ref";
+ public static final String CI_MR_ID = "ci.mr_id";
+ public static final String CI_MR_IID = "ci.mr_iid";
+ public static final String CI_MR_DESC = "ci.mr_desc";
+ public static final String CI_MR_TITLE = "ci.mr_title";
+ public static final String CI_MR_URL = "ci.mr_url";
+ public static final String CI_MR_REVIEWERS = "ci.mr_reviewers";
+ public static final String CI_MILESTONE_NAME = "ci.milestone_name";
+ public static final String CI_MILESTONE_ID = "ci.milestone_id";
+ // GIT TAG参数
+ public static final String CI_COMMIT_AUTHOR = "ci.commit_author";
+ public static final String CI_TAG_FROM = "ci.tag_from";
+ // GIT TAG参数
+ public static final String CI_ISSUE_TITLE = "ci.issue_title";
+ public static final String CI_ISSUE_ID = "ci.issue_id";
+ public static final String CI_ISSUE_IID = "ci.issue_iid";
+ public static final String CI_ISSUE_DESCRIPTION = "ci.issue_description";
+ public static final String CI_ISSUE_STATE = "ci.issue_state";
+ public static final String CI_ISSUE_OWNER = "ci.issue_owner";
+ public static final String CI_ISSUE_MILESTONE_ID = "ci.issue_milestone_id";
+ // GIT NOTE参数
+ public static final String CI_NOTE_COMMENT = "ci.note_comment";
+ public static final String CI_NOTE_ID = "ci.note_id";
+ public static final String CI_NOTE_TYPE = "ci.note_type";
+ public static final String CI_NOTE_AUTHOR = "ci.note_author";
+ public static final String CI_CREATE_TIME = "ci.create_time";
+ public static final String CI_MODIFY_TIME = "ci.modify_time";
+ public static final String CI_REVIEW_ID = "ci.review_id";
+ public static final String CI_REVIEW_IID = "ci.review_iid";
+ public static final String CI_REVIEW_TYPE = "ci.review_type";
+ public static final String CI_REVIEW_REVIEWERS = "ci.review_reviewers";
+ public static final String CI_REVIEW_STATE = "ci.review_state";
+ public static final String CI_REVIEW_OWNER = "ci.review_owner";
+ // GIT REVIEW参数
+ public static final String CI_CREATE_REF = "ci.create_ref";
+ public static final String CI_CREATE_REF_TYPE = "ci.create_type";
+ // 流水线基础变量
+ public static final String CI_BUILD_NO = "ci.build-no";
+ public static final String CI_BUILD_NUM = "ci.build_num";
+ public static final String CI_PIPELINE_CREATOR = "ci.pipeline_creator";
+ public static final String CI_PIPELINE_MODIFIER = "ci.pipeline_modifier";
+ public static final String CI_PIPELINE_VERSION = "ci.pipeline_version";
+ public static final String CI_PROJECT_ID = "ci.project_id";
+ public static final String CI_PROJECT_NAME = "ci.project_name";
+ public static final String CI_BUILD_START_TYPE = "ci.build_start_type";
+ public static final String CI_PIPELINE_ID = "ci.pipeline_id";
+ public static final String CI_BUILD_ID = "ci.build_id";
+ public static final String CI_PIPELINE_NAME = "ci.pipeline_name";
+ public static final String CI_WORKSPACE = "ci.workspace";
+ public static final String CI_FAILED_TASKNAMES = "ci.failed_tasknames";
+ public static final String CI_FAILED_TASKS = "ci.failed_tasks";
+ public static final String CI_REMARK = "ci.remark";
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineViewType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineViewType.java
new file mode 100644
index 0000000..d6909de
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineViewType.java
@@ -0,0 +1,16 @@
+package cd.casic.ci.process.api.process.constant;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.constant
+ * @Project:ops-pro
+ * @name:PipelineViewType
+ * @Date:2025/03/24 14:38
+ * @Filename:PipelineViewType
+ * @description:Todo
+ */
+public class PipelineViewType {
+ public static final int UNCLASSIFIED = -1;
+ public static final int DYNAMIC = 1;
+ public static final int STATIC = 2;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/ProcessMessageCode.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/ProcessMessageCode.java
new file mode 100644
index 0000000..03d7fa3
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/ProcessMessageCode.java
@@ -0,0 +1,560 @@
+package cd.casic.ci.process.api.process.constant;
+
+import lombok.val;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.constant
+ * @Project:ops-pro
+ * @name:ProcessMessageCode
+ * @Date:2025/03/24 14:36
+ * @Filename:ProcessMessageCode
+ * @description:
+ * 流水线微服务模块请求返回状态码
+ * 返回码制定规则(0代表成功,为了兼容历史接口的成功状态都是返回0):
+ * 1、返回码总长度为7位,
+ * 2、前2位数字代表系统名称(如21代表平台)
+ * 3、第3位和第4位数字代表微服务模块(00:common-公共模块 01:process-流水线 02:artifactory-版本仓库 03:dispatch-分发 04:dockerhost-docker机器
+ * 05:environment-环境 06:experience-版本体验 07:image-镜像 08:log-日志 09:measure-度量 10:monitoring-监控 11:notify-通知
+ * 12:openapi-开放api接口 13:plugin-插件 14:quality-质量红线 15:repository-代码库 16:scm-软件配置管理 17:support-支撑服务
+ * 18:ticket-证书凭据 19:project-项目管理 20:store-商店 21: auth-权限 22:sign-签名服务 23:metrics-度量服务 24:external-外部
+ * 25:prebuild-预建 26: dispatcher-kubernetes 27:buildless 28: lambda 29: stream 30: worker 31: dispatcher-docker
+ * 32: remotedev 35:misc-杂项)
+ * 4、最后3位数字代表具体微服务模块下返回给客户端的业务逻辑含义(如001代表系统服务繁忙,建议一个模块一类的返回码按照一定的规则制定)
+ * 5、系统公共的返回码写在CommonMessageCode这个类里面,具体微服务模块的返回码写在相应模块的常量类里面
+ */
+public class ProcessMessageCode {
+
+ // 常量标志 对应code
+ public static final String SYSTEM_VIEW_LABEL = "CONST_PROCESS_VIEW_LABEL_SYSTEM"; // "系统视图"
+ public static final String PROJECT_VIEW_LABEL = "CONST_PROCESS_VIEW_LABEL_PROJECT"; // "项目视图"
+ public static final String PERSON_VIEW_LABEL = "CONST_PROCESS_VIEW_LABEL_PRIVATE"; // "个人视图"
+ public static final String FAVORITE_PIPELINES_LABEL = "CONST_PROCESS_VIEW_LABEL_FAVORITE"; // "我的收藏"
+ public static final String MY_PIPELINES_LABEL = "CONST_PROCESS_VIEW_LABEL_MY"; // "我的流水线"
+ public static final String ALL_PIPELINES_LABEL = "CONST_PROCESS_VIEW_LABEL_ALL"; // "全部流水线"
+
+ public static final String BK_NON_TIMED_TRIGGER_SKIP = "bkNonTimedTriggerSkip"; // 非定时触发,直接跳过
+ public static final String BK_RETRY_TIMED_TRIGGER_SKIP = "bkRetryTimedTriggerSkip"; // 重试定时触发的构建,直接跳过
+ public static final String BK_FIRST_STAGE_ENV_NOT_EMPTY = "bkFirstStageEnvNotEmpty"; // 第一阶段的环境不能为空
+ public static final String BK_QUALITY_CHECK_SUCCEED = "bkQualityCheckSucceed"; // 质量红线({0})检测已通过
+ public static final String BK_QUALITY_CHECK_INTERCEPTED = "bkQualityCheckIntercepted"; // 质量红线({0})检测被拦截
+ public static final String BK_QUALITY_TO_BE_REVIEW = "bkQualityToBeReview"; // 质量红线({0})待审核!审核人:{1}
+ public static final String BK_POLLING_WAIT_FOR_QUALITY_RESULT = "bkPollingWaitForQualityResult"; // 第 {0} 次轮询等待红线结果
+ public static final String BK_QUALITY_CHECK_RESULT = "bkQualityCheckResult"; // 检测红线结果
+ public static final String BK_AUDIT_TIMEOUT = "bkAuditTimeout"; // 审核超时
+ public static final String BK_AUDIT_RESULT = "bkAuditResult"; // 步骤审核结束,审核结果:[{0}],审核人:{1}
+
+ // 正在处理当前上报的任务, 请稍等。。。
+ public static final String BK_PROCESSING_CURRENT_REPORTED_TASK_PLEASE_WAIT = "bkProcessingCurrentReportedTaskPleaseWait";
+
+ // 和不能同时为空, 填时需同时填写参数
+ public static final String BK_VIEW_ID_AND_NAME_CANNOT_BE_EMPTY_TOGETHER = "bkViewIdAndNameCannotBeEmptyTogether";
+
+ // 因【Git事件触发】插件中,MR Request Hook勾选了【MR为同源同目标分支时,等待队列只保留最新触发的任务】配置,该次构建已被新触发的构建
+ public static final String BK_TRIGGERED_BY_GIT_EVENT_PLUGIN = "bkTriggeredByGitEventPlugin";
+ public static final String BK_BUILD_IN_REVIEW_STATUS = "bkBuildInReviewStatus";// 项目【{0}】下的流水线【{1}】#{2} 构建处于待审核状态
+
+ // 用户({0}) 没有流水线({1})的执行权限
+ public static final String BK_USER_NO_PIPELINE_EXECUTE_PERMISSIONS = "bkUserNoPipelineExecutePermissions";
+ public static final String BK_REMOTE_CALL_SOURCE_IP = "bkRemoteCallSourceIp"; // 本次远程调用的来源IP是[$sourceIp]
+ public static final String BK_PIPELINE_NAME = "bkPipelineName"; // 流水线名称
+ public static final String BK_CREATOR = "bkCreator"; // 创建人
+ public static final String BK_TCLS_ENVIRONMENT_MESSAGE = "bkTclsEnvironmentMessage"; // 获取 TCLS 环境失败,请检查用户名密码是否正确,错误信息:
+ public static final String BK_TCLS_ENVIRONMENT = "bkTclsEnvironment"; // 获取 TCLS 环境失败,请检查用户名密码是否正确
+ public static final String BK_CONTINUE = "bkContinue"; // 继续
+ public static final String BK_OVERRULE = "bkOverrule"; // 驳回
+ public static final String BK_TRIGGER = "bkTrigger"; // 触发
+
+ public static final Integer OK = 0;
+
+ public static final String ERROR_BUILD_TASK_SUBPIPELINEID_NULL = "2101001"; // 子流水线id不存在
+ public static final String ERROR_BUILD_TASK_SUBPIPELINEID_NOT_EXISTS = "2101002";// 子流水线不存在
+ public static final String ERROR_PIPELINE_VIEW_MAX_LIMIT = "2101003";// 最多允许同时保存30个视图
+ public static final String ERROR_PIPELINE_VIEW_NOT_FOUND = "2101004";// 视图({0})不存在
+ public static final String ERROR_PIPELINE_VIEW_HAD_EXISTS = "2101005";// 视图({0})已存在
+ public static final String ERROR_DEL_PIPELINE_VIEW_NO_PERM = "2101006";// 用户({0})无权限删除视图({1})
+ public static final String PIPELINE_LIST_LENGTH_LIMIT = "2101007";// 流水线列表长度不能超过100
+ public static final String USER_NEED_PIPELINE_X_PERMISSION = "2101008";// 流水线: 用户无{0}权限
+ public static final String ERROR_PIPELINE_CHANNEL_CODE = "2101009";// 流水线:流水线渠道来源不符合({0})
+ public static final String ERROR_ATOM_NOT_FOUND = "2101010";// 插件不存在
+ public static final String ILLEGAL_PIPELINE_MODEL_JSON = "2101011";// 流水线: 流水线Model不合法
+ public static final String OPERATE_PIPELINE_FAIL = "2101012";// 流水线: 流水线出现异常:{0}
+ public static final String ERROR_PIPELINE_NAME_EXISTS = "2101013";// 流水线: 流水线名称已被使用
+ public static final String ERROR_PIPELINE_TEMPLATE_CAN_NOT_EDIT = "2101014";// 流水线: 模板流水线不支持编辑
+ public static final String ERROR_PIPELINE_NAME_TOO_LONG = "2101015";// 流水线名称过长
+ public static final String ERROR_PIPELINE_IS_EXISTS = "2101016";// 流水线: 流水线已存在
+ public static final String ERROR_QUALITY_TASK_NOT_FOUND = "2101017";// 流水线: 质量红线拦截的任务[{0}]不存在
+ public static final String ERROR_QUALITY_REVIEWER_NOT_MATCH = "2101018";// 流水线: 用户({0})不在审核人员名单中
+ public static final String CANCEL_BUILD_BY_OTHER_USER = "2101019";// 流水线已经被{0}取消构建,请过{1}秒后再试
+ public static final String ERROR_START_BUILD_FREQUENT_LIMIT = "2101020";// 流水线: 不能太频繁启动构建
+ public static final String DENY_START_BY_MANUAL = "2101021";// 流水线: 该流水线不能手动启动
+ public static final String DENY_START_BY_REMOTE = "2101022";// 流水线: 该流水线不能远程触发
+ public static final String ERROR_PARAM_WEBHOOK_ID_NAME_ALL_NULL = "2101023";// Webhook 的ID和名称同时为空
+ public static final String ERROR_RESTORE_PIPELINE_NOT_FOUND = "2101024";// 要还原的流水线不存在,可能已经被删除或还原了
+ public static final String ERROR_PIPELINE_MODEL_NEED_JOB = "2101025";// Stage缺少Job{0}
+ public static final String ONLY_MANAGE_CAN_OPERATE_TEMPLATE = "2101026";// 只有管理员才能操作模板
+ public static final String PIPELINE_SETTING_NOT_EXISTS = "2101027";// 流水线设置不存在
+ public static final String TEMPLATE_NAME_CAN_NOT_NULL = "2101028";// 模板名不能为空字符串
+ public static final String PIPELINE_PARAM_CONSTANTS_DUPLICATE = "2101029";// 流水线变量参数和常量重名
+ public static final String ERROR_TEMPLATE_NAME_IS_EXISTS = "2101030";// 模板名已经存在
+ public static final String TEMPLATE_CAN_NOT_DELETE_WHEN_HAVE_INSTANCE = "2101031";// 模板还存在实例,不允许删除
+ public static final String TEMPLATE_CAN_NOT_DELETE_WHEN_PUBLISH = "2101032";// 已关联到研发商店,请先下架再删除
+ public static final String TEMPLATE_CAN_NOT_DELETE_WHEN_INSTALL = "2101033";// 已安装到其他项目下使用,不能删除
+ public static final String ERROR_TEMPLATE_NOT_EXISTS = "2101034";// 模板不存在
+ public static final String ERROR_SOURCE_TEMPLATE_NOT_EXISTS = "2101035";// 源模板不存在
+ public static final String FAIL_TO_LIST_TEMPLATE_PARAMS = "2101036";// 列举流水线模板参数失败
+ public static final String ONLY_ONE_TRIGGER_JOB_IN_PIPELINE = "2101037";// 流水线只能有一个触发Stage
+ public static final String ERROR_PIPELINE_NOT_EXISTS = "2101038";// 流水线{0}不存在
+ public static final String ERROR_PIPELINE_MODEL_NOT_EXISTS = "2101039";// 流水线的模型不存在
+ public static final String ERROR_PIPELINE_NODEL_CONTAINER_NOT_EXISTS = "2101040";// 流水线的模型中指定构建容器{0}不存在
+ public static final String ERROR_SAVE_PIPELINE_TIMER = "2101041";// 流水线的定时触发器保存失败
+ public static final String ERROR_PIPELINE_JOB_NEED_TASK = "2101042";// Job需要至少有一个任务插件
+ public static final String ERROR_DEL_PIPELINE_TIMER = "2101043";// 流水线{0}的定时触发器删除失败
+ public static final String SVN_NOT_SUPPORT_TAG = "2101044";// SVN do not support tag
+ public static final String ERROR_PIPELINE_REPO_ID_NULL = "2101045";// 仓库ID为空
+ public static final String ERROR_PIPELINE_REPO_NAME_NULL = "2101046";// 仓库名为空
+ public static final String ERROR_PIPELINE_LOCK = "2101047";// 流水线锁定
+ public static final String ILLEGAL_TIMER_CRONTAB = "2101048";// 定时触发器的定时参数[{0}]不合法
+ public static final String ERROR_PIPELINE_QUEUE_FULL = "2101049";// 流水线队列满
+ public static final String USER_NO_PIPELINE_PERMISSION_UNDER_PROJECT = "2101050";// 用户({0})在工程({1})下没有流水线{2}权限
+ public static final String ERROR_PIPELINE_DISPATCH_STORE_IMAGE_CODE_BLANK = "2101051";// 模型中使用了商店镜像,但code为空
+ public static final String ERROR_PIPELINE_DISPATCH_STORE_IMAGE_VERSION_BLANK = "2101052";// 模型中使用了商店镜像,但version为空
+ public static final String ERROR_PIPELINE_DISPATCH_VALUE_BLANK = "2101053";// 模型中非商店蓝盾源/第三方源的镜像value为空
+ public static final String ERROR_PIPELINE_PARAMS_NAME_ERROR = "2101054";// 请使用英文命名流水线变量
+ public static final String ERROR_PIPELINE_STAGE_NO_REVIEW_GROUP = "2101055";// Stage[{0}]准入配置不正确
+ public static final String ERROR_PIPELINE_DESC_TOO_LONG = "2101056";// 流水线描述过长
+ public static final String ILLEGAL_TIMER_INTERVAL_CRONTAB = "2101057";// 定时触发器的定时参数[{0}]不能秒级触发
+ public static final String ERROR_PIPLEINE_INPUT = "2101058";// 流水线: 入参buildId与pipelineId不匹配
+ public static final String MODEL_ATOMCODE_NOT_EXSIT = "2101059";// 流水线内包含插件市场不存在的插件
+ public static final String QUERY_USER_INFO_FAIL = "2101060";// 获取用户信息失败
+ public static final String PROJECT_NOT_EXIST = "2101061";// 项目不存在
+ public static final String ERROR_ATOM_RUN_BUILD_ENV_INVALID = "2101062";// 流水线: 插件[{0}]不能在该环境下运行
+ public static final String ERROR_TEMPLATE_PIPELINE_IS_INSTANCING = "2101063";// 流水线: 模板下的流水线实例{0}正在更新中,请稍后再试
+ public static final String ERROR_FINALLY_STAGE = "2101064";// 流水线: 每个Model只能包含一个FinallyStage,并且处于最后位置
+ public static final String ERROR_FINALLY_STAGE_JOB_CONDITION = "2101065";// 流水线: finally stage下的[{0}]Job运行条件配置错误: {1}
+ public static final String ERROR_NORMAL_STAGE_JOB_CONDITION = "2101066";// 流水线: 普通stage下的[{0}]Job运行条件配置错误: {0}
+ public static final String ERROR_EMPTY_JOB = "2101067";// 流水线: Model信息不完整,Stage[{0}] Job[{1}]下没有插件
+ public static final String ERROR_PIPELINE_MODEL_TOO_LARGE = "2101068";// 流水线: 流水线模型超限,阈值为[{0}]个字符,请联系发布者
+
+ // 流水线: 流水线下[{0}]的[{1}]数量超限,阈值为[{2}]个,请联系发布者
+ public static final String ERROR_PIPELINE_MODEL_COMPONENT_NUM_TOO_LARGE = "2101069";
+ public static final String ERROR_ATOM_PARAM_VALUE_TOO_LARGE = "2101070";// 流水线: 插件[{0}]的参数[{1}]值超限,阈值为[{2}]个字符,请联系发布者
+ public static final String ERROR_PIPELINE_STAGE_REVIEW_GROUP_NO_USER = "2101072";// Stage[{0}]的审核组[{1}]没有未配置可执行人
+ public static final String ERROR_PIPELINE_STAGE_REVIEW_GROUP_NOT_FOUND = "2101073";// Stage[{0}]的审核组ID[{1}]不存在
+ public static final String ERROR_PIPELINE_STAGE_POSITION_NOT_FOUND = "2101074";// Stage[{0}]的准入准出标识[{1}]不正确
+ public static final String ERROR_PIPELINE_START_WITH_ERROR = "2101075";// 流水线启动准备失败{0}
+ public static final String ERROR_TEMPLATE_NOT_UPDATE = "2101076";// 该模板无法更新
+ public static final String REPOSITORY_ID_AND_NAME_ARE_EMPTY = "2101077";// 仓库ID和仓库名都为空
+ public static final String ERROR_TEMPLATE_VERSION_COUNT_EXCEEDS_LIMIT = "2101078";// 模板的版本数量不能超过{0}个
+ public static final String FAIL_TEMPLATE_UPDATE_NUM_TOO_BIG = "2101079";// 模板实例更新数量[{0}]超过系统规定的最大值{1},请调整参数或咨询助手
+ public static final String ERROR_START_BUILD_PROJECT_UNENABLE = "2101080";// 项目[{0}]已禁用,不能启动
+ public static final String ERROR_BUILD_EXPIRED_CANT_RETRY = "2101081";// 构建数据已过期,请使用rebuild进行重试/Please use rebuild
+ public static final String ERROR_PIPELINE_STAGE_REVIEW_VARIABLES_OUT_OF_LENGTH = "2101082";// Stage审核参数{0}超出4000长度限制
+ public static final String ERROR_PIPELINE_CAN_NOT_DELETE_WHEN_HAVE_BUILD_RECORD = "2101083";// 流水线版本还存在构建记录,不允许删除
+ public static final String ERROR_JOB_TIME_OUT_PARAM_VAR = "2101084";// Job[{0}]的超时配置的流水线变量[{1}]值[{2}]超出合理范围[{3}](分钟)
+
+ // Job[{0}]的Task[{1}]的超时配置的流水线变量[{2}]值[{3}]超出合理范围[{4}](分钟)
+ public static final String ERROR_TASK_TIME_OUT_PARAM_VAR = "2101085";
+
+ // Job[{0}]的互斥组[{1}]超时配置的流水线变量[{2}]值[{3}]超出合理范围[{4}](分钟)
+ public static final String ERROR_JOB_MUTEX_TIME_OUT_PARAM_VAR = "2101086";
+ public static final String GIT_INVALID = "2101087";// 无效的GIT仓库
+ public static final String TGIT_INVALID = "2101088";// 无效的TGIT仓库
+ public static final String SVN_INVALID = "2101089";// 无效的SVN仓库
+ public static final String GITHUB_INVALID = "2101090";// 无效的GITHUB仓库
+ public static final String P4_INVALID = "2101091";// 无效的p4仓库
+ public static final String GIT_NOT_FOUND = "2101092";// 代码库{0}不存在
+ public static final String NOT_SVN_CODE_BASE = "2101093";// 代码库({0})不是svn代码库
+ public static final String FAIL_TO_GET_SVN_DIRECTORY = "2101094";// 获取Svn目录失败, msg:{0}
+ public static final String ADD_PIPELINE_TIMER_TRIGGER_SAVE_FAIL = "2101095";// 添加流水线的定时触发器保存失败!可能是定时器参数过长!
+ public static final String BUILD_QUEUE_FOR_SINGLE = "2101096";// 排队中: 当前构建正在排队中
+ public static final String ERROR_JOB_MATRIX_YAML_CONFIG_ERROR = "2101097";// Job[{0]的矩阵YAML配置错误:
+ public static final String ERROR_PIPELINE_ID_NOT_PROJECT_PIPELINE = "2101098";// {0} 非 {1} 流水线
+ public static final String ERROR_NO_MATCHING_PIPELINE = "2101099";// 没有找到对应的流水线
+
+ // 子流水线不允许循环调用,循环流水线:projectId:{0},pipelineId:{1}
+ public static final String ERROR_SUB_PIPELINE_NOT_ALLOWED_CIRCULAR_CALL = "2101100";
+ public static final String ERROR_MAX_PIPELINE_COUNT_PER_PROJECT = "2101101";// 该项目最多只能创建{0}条流水线
+ public static final String ERROR_RETRY_3_FAILED = "2101102";// 重试3次失败
+ public static final String ERROR_UPDATE_FAILED = "2101103";// 更新失败: {0}
+ public static final String ERROR_PERMISSION_NOT_PROJECT_MANAGER = "2101104";// {0}非项目{1}管理员
+ public static final String BUILD_QUEUE_FOR_CONCURRENCY = "2101105";// 排队中: 当前构建正在并发组({0})排队中
+ public static final String USER_INSTALL_ATOM_CODE_IS_INVALID = "2101106";// 安装插件失败
+
+ public static final String ERROR_PAUSE_PIPELINE_IS_RUNNING = "2101107";// 暂停的流水线已开始运行
+ public static final String ERROR_ELEMENT_TOO_LONG = "2101109";// {0} element大小越界
+ public static final String ERROR_JOB_RUNNING = "2101110";// job非完成态,不能进行重试
+ public static final String ERROR_TIMEOUT_IN_BUILD_QUEUE = "2101111";// 排队超时,取消运行! [{0}]
+ public static final String ERROR_BUILD_TASK_QUALITY_OUT = "2101112";// 质量红线(准出)检测失败
+ public static final String ERROR_TIMEOUT_IN_RUNNING = "2101113";// {0}运行达到({1})分钟,超时结束运行!
+ public static final String ERROR_RETRY_STAGE_NOT_FAILED = "2101114";// stage非失败状态,不能进行重试
+ public static final String ERROR_NO_PARAM_IN_JOB_CONDITION = "2101115";// 请设置Job运行的自定义变量
+ public static final String ERROR_BACKGROUND_SERVICE_TASK_EXECUTION = "2101116";// 后台服务任务执行出错
+ public static final String ERROR_BACKGROUND_SERVICE_RUNNING_ERROR = "2101117";// 后台服务运行出错
+ public static final String ERROR_VIEW_NOT_FOUND_IN_PROJECT = "2101118";// 在项目 {0} 下未找到{1}视图{2}
+
+ public static final String ERROR_BUILD_TASK_ENV_NAME_IS_NULL = "2101119";// 环境名未初始化
+ public static final String ERROR_BUILD_TASK_ENV_ID_IS_NULL = "2101120";// 环境ID未初始化
+ public static final String ERROR_BUILD_TASK_ENV_NAME_NOT_EXISTS = "2101121";// 以下这些环境名称不存在,请重新修改流水线!$noExistsEnvNames
+ public static final String ERROR_BUILD_TASK_USER_ENV_NO_OP_PRI = "2101122";// 用户没有操作这些环境的权限!环境:$noExistsEnvNames
+
+ // "以下这些环境id不存在,请重新修改流水线!id:
+ public static final String ERROR_BUILD_TASK_USER_ENV_ID_NOT_EXISTS = "2101123";
+ public static final String ERROR_BUILD_TASK_TARGETENV_TYPE_IS_NULL = "2101124";// 支持 目标环境类型: {0}
+
+ public static final String ERROR_VIEW_GROUP_IS_PROJECT_NO_SAME = "2101125";// 流水线组的视图范围不一致
+ public static final String ERROR_VIEW_EXCEED_THE_LIMIT = "2101126";// 流水线组创建太多了
+ public static final String ERROR_VIEW_DUPLICATE_NAME = "2101127";// 流水线组名称重复
+ public static final String ERROR_VIEW_NAME_ILLEGAL = "2101128";// 流水线组名称不合法
+ public static final String ERROR_DUPLICATE_BUILD_RETRY_ACT = "2101129";// 当前构建正在运行中,请勿重复提交重试请求
+
+ public static final String ERROR_BUILD_TASK_QUALITY_IN = "2101130";// 质量红线(准入)检测失败
+ public static final String INCORRECT_EXCEL_FORMAT = "2101131";// Excel格式错误,或文件不存在
+ public static final String ERROR_CALLBACK_URL_INVALID = "2101132";// 回调的url非法
+ public static final String USER_NEED_PROJECT_X_PERMISSION = "2101133";// 用户({0})无({1})项目权限
+ public static final String ERROR_CALLBACK_HISTORY_NOT_FOUND = "2101134";// 回调历史记录({0})不存在
+ public static final String ERROR_CALLBACK_REPLY_FAIL = "2101135";// 回调重试失败
+ public static final String ERROR_CALLBACK_NOT_FOUND = "2101136";// 回调记录({0})不存在
+ public static final String ERROR_CALLBACK_SAVE_FAIL = "2101137";// 创建callback失败,失败原因:{0}
+
+ public static final String ERROR_PIPELINE_TIMER_SCM_NO_CHANGE = "2101138";// 流水线定时触发时代码没有变更
+ public static final String ERROR_PIPELINE_SUMMARY_NOT_FOUND = "2101139";// 异常:流水线的基础构建数据Summary不存在,请联系管理员
+ public static final String ERROR_PIPELINE_IS_NOT_THE_LATEST = "2101140";// 异常:保存已拒绝,因为保存流水线时已不是最新版本
+ public static final String ERROR_RESTART_EXSIT = "2101141";// 流水线: 待restart构建{0}已在restart中
+ public static final String MAXIMUM_NUMBER_QUEUES_ILLEGAL = "2101142";// 最大排队数量非法
+ public static final String ERROR_VIEW_GROUP_NO_PERMISSION = "2101143";// 没有修改流水线组权限
+ public static final String ERROR_EXPORT_OUTPUT_CONFLICT = "2101144";// 变量名[{0}]来源不唯一,请修改变量名称或增加插件输出命名空间:{1}
+ public static final String ERROR_PIPELINE_DEPENDON_CYCLE = "2101145";// ({0})与({1})的jobId循环依赖
+ public static final String ERROR_PIPELINE_JOBID_EXIST = "2101146";// ({0})的jobId({1})已存在
+ public static final String MAXIMUM_QUEUE_LENGTH_ILLEGAL = "2101147";// 最大排队时长非法
+ public static final String BUILD_MSG_LABEL = "2101148";// 构建信息
+ public static final String BUILD_MSG_MANUAL = "2101149";// 手动触发
+ public static final String BUILD_MSG_TIME = "2101150";// 定时触发
+ public static final String BUILD_MSG_REMOTE = "2101151";// 远程触发
+ public static final String BUILD_MSG_WEBHOOK = "2101152";// webhook触发
+ public static final String BUILD_MSG_SERVICE = "2101153";// 服务触发
+ public static final String BUILD_MSG_PIPELINE = "2101154";// 流水线触发
+ public static final String BUILD_MSG_DESC = "2101155";// 构建信息描述
+ public static final String BUILD_WORKER_DEAD_ERROR = "2101156";// 其他构建进程挂掉的参考信息,自由添加方便打印到日志里
+ public static final String BUILD_AGENT_DETAIL_LINK_ERROR = "2101157";// 构建机Agent详情链接
+ public static final String BUILD_MSG_TRIGGERS = "2101158";// 构建触发
+
+ // 构建进程心跳超时{0}秒
+ // \n 可能原因:
+ // \n 1. 构建机网络不通,检查构建机网络代理、或所在企业安全鉴权会话是否过期。
+ // \n 2. 业务构建进程进程被操作系统或其他程序杀掉,需自查并降低负载后重试。
+ // \n 3. 其他参考链接[Link] 其他构建进程挂掉的参考信息,自由添加方便打印卫通日志里
+ // \n 4. 平台级故障导致大面积超时。
+ public static final String BK_TIP_MESSAGE = "2101159";
+ public static final String ERROR_GROUP_COUNT_EXCEEDS_LIMIT = "2101160";// 一个项目标签组不能超过10个
+ public static final String ERROR_LABEL_COUNT_EXCEEDS_LIMIT = "2101161";// 同一分组下最多可添加12个标签
+ public static final String ERROR_LABEL_NAME_TOO_LONG = "2101162";// 一个标签最多输入20个字符
+ public static final String ERROR_NO_BUILD_EXISTS_BY_ID = "2101163";// 流水线构建[{0}]不存在
+ public static final String ERROR_NO_PIPELINE_EXISTS_BY_ID = "2101164";// 流水线[{0}]不存在
+ public static final String ERROR_SUBPIPELINE_CYCLE_CALL = "2101165";// 子流水线循环调用
+ public static final String ERROR_NO_STAGE_EXISTS_BY_ID = "2101166";// 构建中Stage[{0}]不存在
+ public static final String ERROR_STAGE_IS_NOT_PAUSED = "2101167";// 构建中Stage[{0}]未处于等待把关状态
+ public static final String ERROR_CONDITION_EXPRESSION_PARSE = "2101168";// 执行条件表达式解析失败
+ public static final String ERROR_TRIGGER_REVIEW_ABORT = "2101169";// 触发审核未通过
+ public static final String ERROR_TRIGGER_NOT_UNDER_REVIEW = "2101170";// 触发不在审核状态中
+ public static final String ERROR_GENERATE_REMOTE_TRIGGER_TOKEN_FAILED = "2101171";// 生成远程触发token失败
+ public static final String ERROR_NO_BUILD_RECORD_FOR_CORRESPONDING_SUB_PIPELINE = "2101172";// 找不到对应子流水线的构建记录
+ public static final String ERROR_NO_CORRESPONDING_SUB_PIPELINE = "2101173";// "找不到对应子流水线"
+ public static final String ERROR_USER_NO_PERMISSION_GET_PIPELINE_INFO = "2101174";// 用户({0}) 无权限获取流水线({1})信息({2})
+ public static final String ERROR_SUB_PIPELINE_PARAM_FILTER_FAILED = "2101175";// 子流水线参数过滤失败
+ public static final String ERROR_NO_PERMISSION_PLUGIN_IN_TEMPLATE = "2101176";// 模版下存在无权限的插件
+ public static final String PIPELINE_ORCHESTRATIONS_NUMBER_ILLEGAL = "2101177";// 流水线编排数量非法
+ public static final String MAXIMUM_NUMBER_CONCURRENCY_ILLEGAL = "2101178";// 最大并发数量非法
+ public static final String GET_PIPELINE_ATOM_INFO_NO_PERMISSION = "2101179";// 无权访问插件{0}的流水线信息,请联系组件管理员
+ public static final String GROUP_IS_EXIST = "2101180";// 分组({0})已存在/group ({0}) is already exist
+ public static final String GROUP_LABEL_IS_EXIST = "2101181";// 分组标签({0})已存在/group label ({0}) is already exist
+ public static final String PIPELINE_BUILD_HAS_ENDED_CANNOT_BE_OPERATE = "2101182";// 流水线: 流水线构建已结束,不能操作
+ public static final String ERROR_NO_PERMISSION_OPERATION_TEMPLATE = "2101183";// 用户没有操作模板的权限
+ public static final String ERROR_NO_PIPELINE_VERSION_EXISTS_BY_ID = "2101184";// 流水线版本[{0}]不存在
+ public static final String ERROR_NO_PIPELINE_DRAFT_EXISTS = "2101185";// 该流水不存在草稿版本
+ public static final String ERROR_OCCURRED_IN_TRANSFER = "2101186";// 转换时出现报错
+ public static final String ERROR_PIPELINE_CONSTANTS_BLANK_ERROR = "2101187";// 常量({0})的取值为空
+ public static final String ERROR_PIPELINE_YAML_FILENAME = "2101188";// 流水线YAML文件后缀{0}不正确
+ public static final String ERROR_PIPELINE_WITH_EMPTY_STAGE = "2101189";// 编辑保存stage不能为空
+ public static final String ERROR_NO_RELEASE_PIPELINE_VERSION = "2101190";// 无发布版本的流水线无法执行
+ public static final String ERROR_TRIGGER_DETAIL_NOT_FOUND = "2101191";// 触发详情{0}不存在
+ public static final String ERROR_TRIGGER_EVENT_NOT_FOUND = "2101192";// 触发事件{0}不存在
+ public static final String ERROR_TRIGGER_TYPE_REPLAY_NOT_SUPPORT = "2101193";// 触发类型{0}不支持重放
+ public static final String ERROR_TRIGGER_REPLAY_PIPELINE_NOT_EMPTY = "2101194";// 重放流水线ID不能为空
+ public static final String ERROR_WEBHOOK_REQUEST_NOT_FOUND = "2101195";// webhook {0} 不存在
+ public static final String ERROR_GET_GIT_PROJECT_INFO = "2101196";// 获取git项目信息失败
+ public static final String ERROR_GET_GIT_MERGE_INFO = "2101197";// 获取mr信息失败
+ public static final String ERROR_GET_GIT_MERGE_REVIEW = "2101198";// 获取mr view信息失败
+ public static final String ERROR_GET_GIT_MERGE_CHANGE = "2101199";// 获取mr change信息失败
+ public static final String ERROR_GET_GIT_FILE_TREE = "2101200";// 获取git文件树失败
+ public static final String ERROR_GET_YAML_CONTENT = "2101201";// 获取yaml文件内容失败
+ public static final String ERROR_GET_GIT_FILE_INFO = "2101202";// 获取文件信息失败
+ public static final String ERROR_CI_YAML_NEED_MERGE_OR_REBASE = "2101203";//
+ public static final String ERROR_DEVNET_TIMEOUT = "2101204"; //
+ public static final String UNKNOWN_ERROR = "2101205";
+ public static final String YAML_VIEW_CANNOT_DELETE = "2101206";// 由开启 PAC 模式自动创建,不支持手动修改和删除
+ public static final String YAML_VIEW_CANNOT_UPDATE = "2101207";// 由开启 PAC 模式自动创建,不支持手动添加/移除流水线
+ public static final String YAML_VIEW_CANNOT_BULK_REMOVE = "2101208";// 由开启 PAC 模式自动创建,删除流水线请前往代码库操作
+ public static final String ERROR_GET_COMMIT_INFO = "2101209";// 获取commit信息失败
+ public static final String ERROR_DELETE_YAML_PIPELINE_IN_DEFAULT_BRANCH = "2101210";// 已开启PAC模式,不能删除默认分支yaml关联的流水线
+ public static final String ERROR_YAML_CONTENT_IS_EMPTY = "2101211";// yaml文件内容不能为空
+ public static final String ERROR_YAML_FILE_NAME_FORMAT = "2101212";// yaml文件名格式错误,仅支持yaml、yml后缀和一级子目录
+ public static final String ERROR_PIPELINE_BOUND_YAML = "2101213";// 流水线已绑定文件{0},不能修改
+ public static final String ERROR_PIPELINE_BOUND_REPO = "2101214";// 流水线已绑定代码库{0},不能修改
+ public static final String ERROR_YAML_BOUND_PIPELINE = "2101215";// 文件{0}已绑定流水线{1}
+ public static final String ERROR_YAML_PUSH_NO_REPO_PERMISSION = "2101216";// 发布必须仓库developer以上权限
+ public static final String ERROR_REPO_NO_INIT = "2101217";// 默认分支不存在,请先初始化代码库
+ public static final String ERROR_REPOSITORY_NOT_OAUTH = "2101218";// 当前代码库关联人({0})未进行OAUTH授权,请尝试切换代码库凭证类型
+ public static final String ERROR_VERSION_IS_NOT_UPDATED = "2101219";// 当前代码库关联人({0})未进行OAUTH授权,请尝试切换代码库凭证类型
+ public static final String ERROR_TASK_NOT_ALLOWED_TO_BE_SKIPPED = "2101221";// task不允许被跳过
+ public static final String ERROR_INCORRECT_NOTIFICATION_TYPE = "2101230";// 通知类型配置不正确,请检查
+ public static final String ERROR_INCORRECT_NOTIFICATION_MESSAGE_CONTENT = "2101231";// 通知内容为空,请检查
+ public static final String ERROR_AGENT_REUSE_MUTEX_JOB_NULL = "2101232";// {0}使用流水线构建机复用互斥组需要声明具体的JobId,不能为空
+ // 流水线构建机复用互斥组节点 {0} 复用的 {1} 不存在,或非第三方构建机节点
+ public static final String ERROR_AGENT_REUSE_MUTEX_DEP_NULL_NODE = "2101233";
+ // 在 {0} 下,构建机复用互斥组节点 {1} 与被复用的 {2} 节点调度类型不同,AgentId和AgentEnv不能互相复用
+ public static final String ERROR_AGENT_REUSE_MUTEX_DEP_ERROR = "2101234";
+ public static final String ERROR_YAML_PUSH_CREATE_BRANCH = "2101235";// 创建分支失败: {0}
+ public static final String ERROR_YAML_PUSH_CREATE_BRANCH_NO_PERMISSION = "2101236";// 用户{0}没有代码库{1}的创建分支权限
+ public static final String ERROR_YAML_PUSH_CREATE_FILE = "2101237";// 创建文件失败: {0}
+ public static final String ERROR_YAML_PUSH_CREATE_FILE_NO_PERMISSION = "2101238";// 用户{0}没有工蜂仓库{1}的创建文件权限
+ public static final String ERROR_YAML_PUSH_CREATE_MERGE_REQUEST = "2101239";// 创建mr失败: {0}
+ public static final String ERROR_YAML_PUSH_CREATE_MERGE_REQUEST_NO_PERMISSION = "2101240";// 用户{0}没有工蜂仓库{1}的创建mr权限
+ public static final String ERROR_GIT_PROJECT_NOT_FOUND_OR_NOT_PERMISSION = "2101241";// 工蜂仓库({0})不存在或没有权限访问
+ public static final String ERROR_TGIT_SERVER_EXCEPTION = "2101242";// 工蜂服务异常
+
+ public static final String ERROR_TIMER_TRIGGER_SVN_BRANCH_NOT_EMPTY = "2101243";// 定时触发SVN分支不能为空
+ public static final String ERROR_PIPELINE_ELEMENT_CHECK_FAILED = "2101244";// 流水线有效性校验失败
+ public static final String ERROR_TIMER_TRIGGER_REPO_NOT_FOUND = "2101245";// 定时触发代码库不存在
+ public static final String ERROR_TIMER_TRIGGER_NEED_ENABLE_PAC = "2101246";// 定时触发需要流水线开启PAC
+ public static final String ERROR_PIPELINE_TIMER_BRANCH_IS_EMPTY = "2101247";// 流水线定时触发分支为空
+ public static final String ERROR_PIPELINE_TIMER_BRANCH_NO_CHANGE = "2101248";// 定时触发分支{0}代码没有变更
+ public static final String ERROR_PIPELINE_TIMER_BRANCH_NOT_FOUND = "2101249";// 定时触发分支{0}不存在
+ public static final String ERROR_PIPELINE_JOB_ID_FORMAT = "2101250";// 流水线Job:{0}的jobId为空或长度超过{1}位
+ public static final String ERROR_PIPELINE_JOB_CONTROL_NODECURR = "2101251";// 流水线Job:{0}的单节点或总结点并发配置需要为小于1000的正整数
+ public static final String ERROR_PIPELINE_TIMER_BRANCH_UNKNOWN = "2101252";// 定时触发分支{0}未知错误
+ public static final String ERROR_PIPELINE_CONDITION_EXPRESSION_TOO_LONG = "2101253";// 自定义条件表达式{0}的长度超过{1}位
+ public static final String ERROR_PIPELINE_BUILD_START_PARAM_NO_EMPTY = "2101254";// 构建启动参数如果必填,不能为空
+ public static final String ERROR_REPEATEDLY_START_VM = "2101255";// 重复启动构建机,当前构建机的状态为:{0}
+ public static final String ERROR_PIPELINE_VARIABLES_OUT_OF_LENGTH = "2101256";// 流水线启动参数{0}超出4000长度限制
+
+ // 在 {0} 下,构建机复用互斥组节点 {1} 与被复用的 {2} 节点前后顺序不明,使用变量需明确前后顺序
+ public static final String ERROR_AGENT_REUSE_MUTEX_VAR_ERROR = "2101257";
+ public static final String ERROR_PIPELINE_RETRY_TIME_INVALID = "2101258";// 构建数据已过期,重试时间不能晚于构建开始时间{0}天以上
+ public static final String ERROR_COMMIT_BRANCH_IS_NOT_EMPTY = "2101259";// 指定分支不能为空
+ public static final String ERROR_NON_LATEST_RELEASE_VERSION = "2101266";// 当前构建版本已不是最新版本,请重新选择版本
+ public static final String ERROR_REPO_HASH_ID_IS_NOT_EMPTY = "2101267";// 代码库信息不能为空
+
+ public static final String BK_SUCCESSFULLY_DISTRIBUTED = "bkSuccessfullyDistributed";// 跨项目构件分发成功,共分发了{0}个文件
+ public static final String BK_SUCCESSFULLY_FAILED = "bkSuccessfullyFailed";// 跨项目构件分发失败,
+ public static final String BK_NO_MATCH_FILE_DISTRIBUTE = "bkNoMatchFileDistribute";// 匹配不到待分发的文件: {0}
+
+ // 开始对文件({0})执行Gcloud相关操作,详情请去gcloud官方地址查看:
+ public static final String BK_START_PERFORMING_GCLOUD_OPERATION = "bkStartPerformingGcloudOperation";
+ public static final String BK_START_UPLOAD_OPERATION = "bkStartUploadOperation";// 开始执行 \"上传动态资源版本\" 操作
+ public static final String BK_OPERATION_PARAMETERS = "bkOperationParameters";// \"上传动态资源版本\" 操作参数:
+ public static final String BK_QUERY_VERSION_UPLOAD = "bkQueryVersionUpload";// 开始执行 \"查询版本上传 CDN 任务状态\" 操作\n
+ public static final String BK_WAIT_QUERY_VERSION = "bkWaitQueryVersion";// \"等待查询版本上传 CDN 任务状态\" 操作执行完毕: \n
+
+ // \"查询版本上传 CDN 任务状态\" 操作 成功执行完毕\n
+ public static final String BK_OPERATION_COMPLETED_SUCCESSFULLY = "bkOperationCompletedSuccessfully";
+ public static final String BK_FAILED_UPLOAD_FILE = "bkFailedUploadFile";// 上传文件失败:
+ public static final String BK_CREATE_RESOURCE_OPERATION = "bkCreateResourceOperation";// 开始执行 \"创建资源\" 操作\n
+ public static final String BK_CREATE_RESOURCES_OPERATION_PARAMETERS = "bkCreateResourcesOperationParameters";// \"创建资源\" 操作参数:
+ public static final String BK_START_RELEASE_OPERATION = "bkStartReleaseOperation";// 开始执行 \"预发布\" 操作\n
+ public static final String BK_RESPONSE_RESULT = "bkResponseResult";// 预发布单个或多个渠道响应结果:
+ public static final String BK_RECIPIENT_EMPTY = "bkRecipientEmpty";// 收件人为空
+ public static final String BK_EMAIL_NOTIFICATION_CONTENT_EMPTY = "bkEmailNotificationContentEmpty";// 邮件通知内容为空
+ public static final String BK_MESSAGE_SUBJECT_EMPTY = "bkMessageSubjectEmpty";// 邮件主题为空
+ public static final String BK_EXPERIENCE_PATH_EMPTY = "bkExperiencePathEmpty";// 体验路径为空
+ public static final String BK_INCORRECT_NOTIFICATION_METHOD = "bkIncorrectNotificationMethod";// 通知方式不正确
+
+ // 版本体验({0})创建成功
+ public static final String BK_VERSION_EXPERIENCE_CREATED_SUCCESSFULLY = "bkVersionExperienceCreatedSuccessfully";
+ public static final String BK_VIEW_RESULT = "bkViewResult";// 查看结果:
+ public static final String BK_RECEIVER_EMPTY = "bkReceiverEmpty";// Message Receivers is empty(接收人为空)
+ public static final String BK_MESSAGE_CONTENT_EMPTY = "bkMessageContentEmpty";// Message Body is empty(消息内容为空)
+ public static final String BK_EMPTY_TITLE = "bkEmptyTitle";// Message Title is empty(标题为空)
+ public static final String BK_COMPUTER_VIEW_DETAILS = "bkComputerViewDetails";// {0}\n\n电脑查看详情:{1}\n手机查看详情:{2}
+
+ // send enterprise wechat message(发送企业微信消息):\n{0}\nto\n{1}
+ public static final String BK_SEND_WECOM_MESSAGE = "bkSendWecomMessage";
+ public static final String BK_INVALID_NOTIFICATION_RECIPIENT = "bkInvalidNotificationRecipient";// 通知接收者不合法:
+ public static final String BK_WECOM_NOTICE = "bkWecomNotice";// 企业微信通知内容:
+ public static final String BK_SEND_WECOM_CONTENT = "bkSendWecomContent";// 发送企业微信内容: ({0}) 到 {1}
+ public static final String BK_SEND_WECOM_CONTENT_SUCCESSFULLY = "bkSendWecomContentSuccessfully";// 发送企业微信内容: ({0}) 到 {1}成功
+ public static final String BK_SEND_WECOM_CONTENT_FAILED = "bkSendWecomContentFailed";// 发送企业微信内容: ({0}) 到 {1}失败:
+ public static final String BK_PULL_GIT_WAREHOUSE_CODE = "bkPullGitWarehouseCode";// 拉取Git仓库代码
+ public static final String BK_AUTOMATIC_EXPORT_NOT_SUPPORTED = "bkAutomaticExportNotSupported";
+
+ // ### 可以通过 runs-on: macos-10.15 使用macOS公共构建集群。
+ public static final String BK_BUILD_CLUSTERS_THROUGH = "bkBuildClustersThrough";
+
+ // 注意默认的Xcode版本为12.2,若需自定义,请在JOB下自行执行 xcode-select 命令切换 ###
+ public static final String BK_NOTE_DEFAULT_XCODE_VERSION = "bkNoteDefaultXcodeVersion";
+ public static final String BK_PLEASE_USE_STAGE_AUDIT = "bkPleaseUseStageAudit";// 人工审核插件请改用Stage审核 ###
+ public static final String BK_PLUG_NOT_SUPPORTED = "bkPlugNotSupported";// # 注意:不支持插件【{0}({1})】的导出
+ public static final String BK_FIND_RECOMMENDED_REPLACEMENT_PLUG = "bkFindRecommendedReplacementPlug";// 请在蓝盾研发商店查找推荐的替换插件!
+ public static final String BK_OLD_PLUG_NOT_SUPPORT = "bkOldPlugNotSupport";// 内置老插件不支持导出,请使用市场插件 ###
+ public static final String BK_NO_RIGHT_EXPORT_PIPELINE = "bkNoRightExportPipeline";// 用户({0})无权限在工程({1})下导出流水线
+ public static final String BK_PIPELINED_ID = "bkPipelinedId";// # 流水线ID:
+ public static final String BK_EXPORT_TIME = "bkExportTime";// # 导出时间:
+ public static final String BK_EXPORT_SYSTEM_CREDENTIALS = "bkExportSystemCredentials";
+
+ // # 注意:[插件]输入参数可能存在敏感信息,请仔细检查,谨慎分享!!! \n
+ public static final String BK_SENSITIVE_INFORMATION_IN_PARAMETERS = "bkSensitiveInformationInParameters";
+
+ // # 注意:[插件]Stream不支持蓝盾老版本的插件,请在研发商店搜索新插件替换 \n
+ public static final String BK_STREAM_NOT_SUPPORT = "bkStreamNotSupport";
+
+ // # \n# tips:部分参数导出会存在\[该字段限制导出,请手动填写]\,需要手动指定。原因有:\n
+ public static final String BK_PARAMETERS_BE_EXPORTED = "bkParametersBeExported";
+ public static final String BK_IDENTIFIED_SENSITIVE_INFORMATION = "bkIdentifiedSensitiveInformation";// # ①识别出为敏感信息,不支持导出\n
+ public static final String BK_UNKNOWN_CONTEXT_EXISTS = "bkUnknownContextExists";// # ②部分字段校验格式时存在未知上下文,不支持导出\n
+ public static final String BK_AUTOMATIC_EXPORT_NOT_SUPPORTED_IMAGE = "bkAutomaticExportNotSupportedImage";
+
+ // ###请直接填入镜像(TLinux2.2公共镜像)的URL地址,若存在鉴权请增加 credentials 字段###
+ public static final String BK_ENTER_URL_ADDRESS_IMAGE = "bkEnterUrlAddressImage";
+ public static final String BK_ADMINISTRATOR = "bkAdministrator";// 管理员
+ public static final String BK_QUICK_APPROVAL_MOA = "bkQuickApprovalMoa";// 【通过MOA快速审批】
+ public static final String BK_QUICK_APPROVAL_PC = "bkQuickApprovalPc";// 【通过PC快速审批】
+ public static final String BK_NOT_CONFIRMED_CAN_EXECUTED = "bkNotConfirmedCanExecuted";// 插件 {0} 尚未确认是否可以在工蜂CI执行
+ public static final String BK_CONTACT_PLUG_DEVELOPER = "bkContactPlugDeveloper";// ,请联系插件开发者
+ public static final String BK_CHECK_INTEGRITY_YAML = "bkCheckIntegrityYaml";// 请检查YAML的完整性,或切换为研发商店推荐的插件后再导出
+ public static final String BK_BEE_CI_NOT_SUPPORT = "bkBeeCiNotSupport";// 工蜂CI不支持蓝盾老版本插件
+ public static final String BK_SEARCH_STORE = "bkSearchStore";// 请在研发商店搜索新插件替换
+
+ // # 注意:工蜂CI暂不支持当前类型的构建机
+ public static final String BK_NOT_SUPPORT_CURRENT_CONSTRUCTION_MACHINE = "bkNotSupportCurrentConstructionMachine";
+ public static final String BK_EXPORT = "bkExport";// 的导出,
+ public static final String BK_CHECK_POOL_FIELD = "bkCheckPoolField";// 需检查JOB({0})的Pool字段
+ public static final String BK_CONSTRUCTION_MACHINE_NOT_SUPPORTED = "bkConstructionMachineNotSupported";// # 注意:暂不支持当前类型的构建机
+
+ // # 注意:【{0}】的环境【{1}】在新业务下可能不存在,
+ public static final String BK_NOT_EXIST_UNDER_NEW_BUSINESS = "bkNotExistUnderNewBusiness";
+
+ // 请手动修改成存在的环境,并检查操作系统是否正确
+ public static final String BK_CHECK_OPERATING_SYSTEM_CORRECT = "bkCheckOperatingSystemCorrect";
+
+ // # 注意:【{0}】的节点【{1}】在新业务下可能不存在,
+ public static final String BK_NODE_NOT_EXIST_UNDER_NEW_BUSINESS = "bkNodeNotExistUnderNewBusiness";
+ public static final String BK_PLEASE_MANUALLY_MODIFY = "bkPleaseManuallyModify";// 请手动修改成存在的节点
+
+ // # 注意:【{0}】仅对PCG业务可见,请检查当前业务是否属于PCG! \n
+ public static final String BK_ONLY_VISIBLE_PCG_BUSINESS = "bkOnlyVisiblePcgBusiness";
+
+ // # 注意:[插件]工蜂CI不支持依赖蓝盾项目的服务(如凭证、节点等),
+ public static final String BK_WORKER_BEE_CI_NOT_SUPPORT = "bkWorkerBeeCiNotSupport";
+ public static final String BK_MODIFICATION_GUIDELINES = "bkModificationGuidelines";
+ public static final String BK_BUILD_INFO = "bkBuildInfo";// 构建信息
+ public static final String BK_DETAIL = "bkDetail";// 详情
+ public static final String BK_BUILD_STATUS = "bkBuildStatus";// 构建状态
+ public static final String BK_BUILD_VARIABLES = "bkBuildVariables";// 构建变量
+ public static final String BK_BUILD_VARIABLES_VALUE = "bkBuildVariablesValue";// 构建变量的值
+ public static final String BK_BUILD_HISTORY = "bkBuildHistory";// 构建历史
+ public static final String BK_PENDING_APPROVAL = "bkPendingApproval";// 步骤等待审核(Pending approval)
+ public static final String BK_REVIEWERS = "bkReviewers";// 待审核人(Reviewers)
+ public static final String BK_REVIEWER = "bkReviewer";// 审核人(Reviewer)
+ public static final String BK_DESCRIPTION = "bkDescription";// 审核说明(Description)
+ public static final String BK_PARAMS = "bkParams";// 审核参数(Params)
+ public static final String BK_AUDIT_RESULTS_APPROVE = "bkAuditResultsApprove";// 审核结果(result):继续(Approve)
+ public static final String BK_AUDIT_RESULTS_REJECT = "bkAuditResultsReject";// 审核结果(result):驳回(Reject)
+ public static final String BK_FINAL_APPROVAL = "bkFinalApproval";// 步骤审核结束(Final approval)
+ public static final String BK_REVIEW_COMMENTS = "bkReviewComments";// 审核意见(Review comments)
+ public static final String BK_QUEUE_TIMEOUT = "bkQueueTimeout";// 排队超时(Queue timeout)
+ public static final String BK_JOB_QUEUE_TIMEOUT = "bkJobQueueTimeout";// Job排队超时,请检查并发配置/Queue timeout
+ public static final String BK_TRIGGER_USER = "bkTriggerUser";// 触发人(trigger user)
+ public static final String BK_START_USER = "bkStartUser";// 执行人(start user)
+
+ // [自定义变量全部满足时不运行](Don‘t run it when all the custom variables are matched)
+ public static final String BK_WHEN_THE_CUSTOM_VARIABLES_ARE_ALL_SATISFIED = "bkWhenTheCustomVariablesAreAllSatisfied";
+
+ // [自定义变量全部满足时运行](Run it when all the custom variables are matched)
+ public static final String BK_CUSTOM_VARIABLES_ARE_ALL_SATISFIED = "bkCustomVariablesAreAllSatisfied";
+ public static final String BK_CHECK_TASK_RUN_CONDITION = "bkCheckTaskRunCondition";// 检查插件运行条件/Check Task Run Condition:
+ public static final String BK_TASK_DISABLED = "bkTaskDisabled";// [插件被禁用](Task disabled) = true
+
+ // [只有前面有任务失败时才运行](Only when a previous task has failed)
+ public static final String BK_ONLY_WHEN_PREVIOUS_TASK_HAS_FAILED = "bkOnlyWhenPreviousTaskHasFailed";
+
+ // [即使前面有插件运行失败也运行,除非被取消才不运行] (Even if a previous task has failed, unless the build was canceled)
+ public static final String BK_IT_DOES_NOT_RUN_UNLESS_IT_IS_CANCELED = "bkItDoesNotRunUnlessItIsCanceled";
+
+ // [即使前面有插件运行失败也运行,即使被取消也运行](Run even if a previous plugin failed, and run even if it was cancelled)
+ public static final String BK_RUNS_EVEN_IF_CANCELED = "bkRunsEvenIfCanceled";
+ public static final String BK_JOB_FAILURE_OR_CANCEL = "bkJobFailureOrCancel";// Job失败或被取消(Job failure or cancel) skip=true
+ public static final String BK_CHECK_JOB_RUN_CONDITION = "bkCheckJobRunCondition";// 检查Job运行条件/Check Job Run Condition:
+ public static final String BK_RELEASE_LOCK = "bkReleaseLock";// 释放互斥组锁(Release Lock)
+ public static final String BK_GET_LOCKED = "bkGetLocked";// 获得锁定(Matched) 锁定期(Exp):
+ public static final String BK_QUEUE_DISABLED = "bkQueueDisabled";// 未开启排队(Queue disabled)
+
+ // 当前排队数(Queuing)[{0}], 已等待(Waiting)[{1}} seconds]
+ public static final String BK_CURRENT_NUMBER_OF_QUEUES = "bkCurrentNumberOfQueues";
+ public static final String BK_QUEUE_FULL = "bkQueueFull";// 队列满(Queue full)
+ public static final String BK_ENQUEUE = "bkEnqueue";// 当前排队数(Queuing)[{0}]. 入队等待(Enqueue)
+
+ // Job#{0}|互斥组Mutex[{1}]|
+ public static final String BK_MUTUALLY_EXCLUSIVE_GROUPS = "bkMutuallyExclusiveGroups";
+ public static final String BK_LOCKED = "bkLocked";// 锁定中(Running)
+ public static final String BK_CLICK = "bkClick";// 查看
+ public static final String BK_CURRENT = "bkCurrent";// 当前(Current)
+ public static final String BK_PREVIOUS_STAGE_CANCEL = "bkPreviousStageCancel";// [上游 Stage 取消时](Previous Stage Cancel):
+ public static final String BK_PREVIOUS_STAGE_FAILED = "bkPreviousStageFailed";// [上游 Stage 失败时](Previous Stage Failed):
+ public static final String BK_PREVIOUS_STAGE_SUCCESS = "bkPreviousStageSuccess";// [上游 Stage 成功时](Previous Stage Success):
+ public static final String BK_UNEXECUTE_TASK = "bkUnexecuteTask";// 终止构建,跳过(UnExecute Task)
+ public static final String BK_CONDITION_INVALID = "bkConditionInvalid";// 执行条件判断失败(Condition Invalid)
+ public static final String BK_STAGE_REVIEW_EMPTY_REVIEWER = "bkStageReviewEmptyViewer";// 由于无审核人,被系统自动驳回
+
+ // [SystemLog]收到终止指令(UnExecute PostAction Task)
+ public static final String BK_UNEXECUTE_POSTACTION_TASK = "bkUnexecutePostactionTask";
+ public static final String BK_MAX_PARALLEL = "bkMaxParallel";// 并行上限/Max parallel:
+ public static final String BK_MANUALLY_SKIPPED = "bkManuallySkipped";// 被手动跳过 Manually skipped
+ public static final String BK_EVENT = "bkEvent";// {0}事件
+ public static final String BK_WAREHOUSE_EVENTS = "bkWarehouseEvents";// 仓库事件
+ public static final String BK_VM_START_ALREADY = "bkVmStartAlready";// 重复启动构建机/VM Start already:
+ public static final String BK_CONTINUE_WHEN_ERROR = "bkContinueWhenError";// 失败自动跳过/continue when error
+ public static final String BK_MUTEX_WAITING = "bkMutexWaiting";// 互斥中(Mutex waiting)
+ public static final String BK_QUEUING = "bkQueuing";// 排队中(Queuing)
+ public static final String BK_PENDING = "bkPending";// 审核中(Pending)
+ public static final String BK_QUALITY_IN = "bkQualityIn";// 质量红线(准入)
+ public static final String BK_QUALITY_OUT = "bkQualityOut";// 质量红线(准出)
+ public static final String BK_BUILD_FINISHED_AND_DENY_PAUSE = "bkBuildFinishedAndDenyPause";// 构建已结束,禁止暂停请求
+ public static final String BK_PIPELINE_RUN_CONDITION_RESULT = "bkPipelineRunConditionResult";// 执行条件计算结果
+ public static final String BK_PIPELINE_RUN_CONDITION_NOT_MATCH = "bkPipelineRunConditionNotMatch";// 执行条件为满足,将跳过
+ public static final String BK_PIPELINE_RUN_CONDITION_WITH_ERROR = "bkPipelineRunConditionWithError";// 执行条件计算报错
+
+ public static final String BK_AGENT_REUSE_MUTEX = "bkAgentReuseMutex";
+ public static final String BK_AGENT_REUSE_MUTEX_AGENT_ID_NULL = "bkAgentReuseMutexAgentIdNull";
+ public static final String BK_MERGE_YAML_CREATE_FILE_TITLE = "bkMergeYamlCreateFileTitle";// 新增流水线发布mr标题
+ public static final String BK_MERGE_YAML_UPDATE_FILE_TITLE = "bkMergeYamlUpdateFileTitle";// 修改流水线发布mr标题
+ public static final String BK_BUILD_QUEUE_WAIT_FOR_CONCURRENCY = "bkBuildQueueWaitingForConcurrency";// 并发组配置的排队
+ public static final String BK_BUILD_QUEUE_WAIT = "bkBuildQueueWaiting";// 并发配置的排队
+ public static final String BK_BUILD_CANCEL_BY_CONCURRENCY = "bkBuildCancelByConcurrency";// 并发组配置的取消
+
+ public static final String BK_PIPELINE_ELEMENT_CHECK_FAILED_MESSAGE = "bkPipelineElementCheckFailedMessage";
+ // 没有子流水线执行权限错误标题
+ public static final String BK_NOT_SUB_PIPELINE_EXECUTE_PERMISSION_ERROR_TITLE = "bkNotSubPipelineExecutePermissionErrorTitle";
+ // 没有子流水线执行权限错误消息
+ public static final String BK_NOT_SUB_PIPELINE_EXECUTE_PERMISSION_ERROR_MESSAGE = "bkNotSubPipelineExecutePermissionErrorMessage";
+
+ // 用户[xxx] 没有如下子流水线的执行权限,重置授权失败
+ public static final String BK_NOT_SUB_PIPELINE_EXECUTE_PERMISSION_RESET_ERROR_TITLE =
+ "bkNotSubPipelineExecutePermissionResetErrorTitle";
+
+ // 权限代持人[xxx]已无当前流水线执行权限,可能是权限已过期或不再负责此流水线,请联系流水线拥有者处理
+ public static final String BK_AUTHOR_NOT_PIPELINE_EXECUTE_PERMISSION = "bkAuthorNotPipelineExecutePermission";
+ // 子流水线循环依赖错误标题
+ public static final String BK_SUB_PIPELINE_CIRCULAR_DEPENDENCY_ERROR_TITLE = "bkSubPipelineCircularDependencyErrorTitle";
+
+ // 当前流水线存在循环依赖
+ public static final String BK_CURRENT_SUB_PIPELINE_CIRCULAR_DEPENDENCY_ERROR_MESSAGE =
+ "bkCurrentSubPipelineCircularDependencyErrorMessage";
+
+ // 子流水线[xxx]调用了当前流水线,形成循环依赖
+ public static final String BK_SUB_PIPELINE_CIRCULAR_DEPENDENCY_ERROR_MESSAGE =
+ "bkSubPipelineCircularDependencyErrorMessage";
+
+ // [xxx]流水线循环调用[xxx]流水线,形成循环依赖
+ public static final String BK_OTHER_SUB_PIPELINE_CIRCULAR_DEPENDENCY_ERROR_MESSAGE =
+ "bkOtherSubPipelineCircularDependencyErrorMessage";
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/AccessRepository.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/AccessRepository.java
new file mode 100644
index 0000000..8a6582c
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/AccessRepository.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:AccessRepository
+ * @Date:2025/03/24 14:54
+ * @Filename:AccessRepository
+ * @description:Todo
+ */
+@Data
+@Schema(title = "快速接入-代码库")
+public class AccessRepository {
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "项目名称", required = true)
+ private String projectName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildBasicInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildBasicInfo.java
new file mode 100644
index 0000000..ed88d21
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildBasicInfo.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildBasicInfo
+ * @Date:2025/03/24 14:55
+ * @Filename:BuildBasicInfo
+ * @description:Todo
+ */
+@Schema(title = "构建模型-基础信息")
+public class BuildBasicInfo {
+ @Schema(title = "构建ID", required = true)
+ private String buildId;
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "流水线版本", required = true)
+ private int pipelineVersion;
+ @Schema(title = "构建状态", required = false)
+ private BuildStatus status;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildFormRepositoryValue.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildFormRepositoryValue.java
new file mode 100644
index 0000000..a89c761
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildFormRepositoryValue.java
@@ -0,0 +1,18 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildFormRepositoryValue
+ * @Date:2025/03/24 14:56
+ * @Filename:BuildFormRepositoryValue
+ * @description:Todo
+ */
+@Data
+public class BuildFormRepositoryValue {
+ private String id;
+ private String name;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistory.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistory.java
new file mode 100644
index 0000000..6605656
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistory.java
@@ -0,0 +1,81 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.apache.tomcat.jni.FileInfo;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildHistory
+ * @Date:2025/03/24 14:56
+ * @Filename:BuildHistory
+ * @description:Todo
+ */
+@Data
+@Schema(title = "历史构建模型")
+public class BuildHistory {
+ @Schema(title = "构建ID", required = true)
+ private String id;
+ @Schema(title = "启动用户", required = true)
+ private String userId;
+ @Schema(title = "触发条件", required = true)
+ private String trigger;
+ @Schema(title = "构建号", required = true)
+ private Integer buildNum;
+ @Schema(title = "编排版本号", required = true)
+ private int pipelineVersion;
+ @Schema(title = "编排版本名称", required = true)
+ private String pipelineVersionName;
+ @Schema(title = "流水线的执行开始时间", required = true)
+ private long startTime;
+ @Schema(title = "流水线的执行结束时间", required = true)
+ private Long endTime;
+ @Schema(title = "状态", required = true)
+ private String status;
+ @Schema(title = "各阶段状态", required = true)
+ private List stageStatus;
+ @Schema(title = "服务器当前时间戳", required = true)
+ private long currentTimestamp;
+ @Schema(title = "是否是手机启动", required = false)
+ private boolean isMobileStart = false;
+ @Schema(title = "原材料", required = false)
+ private List material;
+ @Schema(title = "排队于(毫秒时间戳)", required = false)
+ private Long queueTime;
+ @Schema(title = "构件列表", required = false)
+ private List artifactList;
+ @Schema(title = "备注", required = false)
+ private String remark;
+ @Schema(title = "总耗时(毫秒)", required = false)
+ private Long totalTime;
+ @Schema(title = "运行耗时(毫秒,不包括人工审核时间)", required = false)
+ private Long executeTime;
+ @Schema(title = "启动参数", required = false)
+ private List buildParameters;
+ @Schema(title = "WebHookType", required = false)
+ private String webHookType;
+ @Schema(title = "webhookInfo", required = false)
+ private WebhookInfo webhookInfo;
+ @Schema(title = "启动类型(新)", required = false)
+ private String startType;
+ @Schema(title = "推荐版本号", required = false)
+ private String recommendVersion;
+ @Schema(title = "是否重试", required = false)
+ private boolean retry = false;
+ @Schema(title = "流水线任务执行错误", required = false)
+ private List errorInfoList;
+ @Schema(title = "构建信息", required = false)
+ private String buildMsg;
+ @Schema(title = "自定义构建版本号", required = false)
+ private String buildNumAlias;
+ @Schema(title = "流水线编排的最后更新时间", required = false)
+ private Long updateTime;
+ @Schema(title = "并发时,设定的group", required = false)
+ private String concurrencyGroup;
+ @Schema(title = "构建执行次数(重试次数-1)", required = false)
+ private Integer executeCount;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryRemark.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryRemark.java
new file mode 100644
index 0000000..ef7c464
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryRemark.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildHistoryRemark
+ * @Date:2025/03/24 14:58
+ * @Filename:BuildHistoryRemark
+ * @description:Todo
+ */
+@Data
+@Schema(title = "历史构建备注")
+public class BuildHistoryRemark {
+ @Schema(title = "备注", required = true)
+ private String remark;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryVariables.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryVariables.java
new file mode 100644
index 0000000..fb5b125
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryVariables.java
@@ -0,0 +1,40 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildHistoryVariables
+ * @Date:2025/03/24 15:01
+ * @Filename:BuildHistoryVariables
+ * @description:Todo
+ */
+@Data
+@Schema(title = "历史构建变量")
+public class BuildHistoryVariables {
+ @Schema(title = "构建ID", required = true)
+ private String id;
+ @Schema(title = "启动用户", required = true)
+ private String userId;
+ @Schema(title = "触发条件", required = true)
+ private String trigger;
+ @Schema(title = "流水线名称", required = true)
+ private String pipelineName;
+ @Schema(title = "构建号", required = true)
+ private int buildNum;
+ @Schema(title = "编排文件版本号", required = true)
+ private int pipelineVersion;
+ @Schema(title = "开始时间", required = true)
+ private long startTime;
+ @Schema(title = "结束时间", required = true)
+ private Long endTime;
+ @Schema(title = "状态", required = true)
+ private String status;
+ @Schema(title = "构建变量集合", required = true)
+ private Map variables;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithPipelineVersion.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithPipelineVersion.java
new file mode 100644
index 0000000..ec5975c
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithPipelineVersion.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildHistoryWithPipelineVersion
+ * @Date:2025/03/24 15:01
+ * @Filename:BuildHistoryWithPipelineVersion
+ * @description:Todo
+ */
+@Data
+@Schema(title = "历史构建模型-最新版本号-下载权限")
+public class BuildHistoryWithPipelineVersion {
+ @Schema(title = "构建历史", required = true)
+ private SQLPage history;
+ @Schema(title = "是否拥有下载构建的权限", required = true)
+ private boolean hasDownloadPermission;
+ @Schema(title = "最新的编排版本号", required = true)
+ private int pipelineVersion;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithVars.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithVars.java
new file mode 100644
index 0000000..5fe298a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithVars.java
@@ -0,0 +1,78 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.apache.tomcat.jni.FileInfo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildHistoryWithVars
+ * @Date:2025/03/24 15:02
+ * @Filename:BuildHistoryWithVars
+ * @description:Todo
+ */
+@Data
+@Schema(title = "带构建变量的历史构建模型")
+public class BuildHistoryWithVars {
+ @Schema(title = "构建ID", required = true)
+ private String id;
+ @Schema(title = "启动用户", required = true)
+ private String userId;
+ @Schema(title = "触发条件", required = true)
+ private String trigger;
+ @Schema(title = "构建号", required = true)
+ private Integer buildNum;
+ @Schema(title = "编排文件版本号", required = true)
+ private int pipelineVersion;
+ @Schema(title = "开始时间", required = true)
+ private long startTime;
+ @Schema(title = "结束时间", required = true)
+ private Long endTime;
+ @Schema(title = "状态", required = true)
+ private String status;
+ @Schema(title = "各阶段状态", required = true)
+ private List stageStatus;
+ @Schema(title = "服务器当前时间戳", required = true)
+ private long currentTimestamp;
+ @Schema(title = "是否是手机启动", required = false)
+ private boolean isMobileStart = false;
+ @Schema(title = "原材料", required = false)
+ private List material;
+ @Schema(title = "排队于", required = false)
+ private Long queueTime;
+ @Schema(title = "排队位置", required = false)
+ private int currentQueuePosition = 0;
+ @Schema(title = "构件列表", required = false)
+ private List artifactList;
+ @Schema(title = "备注", required = false)
+ private String remark;
+ @Schema(title = "总耗时(毫秒)", required = false)
+ private Long totalTime;
+ @Schema(title = "运行耗时(毫秒,不包括人工审核时间)", required = false)
+ private Long executeTime;
+ @Schema(title = "启动参数", required = false)
+ private List buildParameters;
+ @Schema(title = "WebHook类型", required = false)
+ private String webHookType;
+ @Schema(title = "webhook信息", required = false)
+ private WebhookInfo webhookInfo;
+ @Schema(title = "启动类型(新)", required = false)
+ private String startType;
+ @Schema(title = "推荐版本号", required = false)
+ private String recommendVersion;
+ @Schema(title = "是否重试", required = false)
+ private boolean retry = false;
+ @Schema(title = "流水线任务执行错误", required = false)
+ private List errorInfoList;
+ @Schema(title = "构建信息", required = false)
+ private String buildMsg;
+ @Schema(title = "自定义构建版本号", required = false)
+ private String buildNumAlias;
+ @Schema(title = "构建变量集合(30天左右过期删除)", required = true)
+ private Map variables;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildId.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildId.java
new file mode 100644
index 0000000..d26d28f
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildId.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildId
+ * @Date:2025/03/24 15:07
+ * @Filename:BuildId
+ * @description:Todo
+ */
+@Data
+@Schema(title = "构建模型-ID")
+public class BuildId {
+ @Schema(title = "构建ID", required = true)
+ private String id;
+ @Schema(title = "当前执行次数")
+ private int executeCount = 1;
+ @Schema(title = "项目ID")
+ private String projectId;
+ @Schema(title = "流水线ID")
+ private String pipelineId;
+ @Schema(title = "构建编号")
+ private Integer num;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildJobResult.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildJobResult.java
new file mode 100644
index 0000000..51ded48
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildJobResult.java
@@ -0,0 +1,18 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildJobResult
+ * @Date:2025/03/24 15:08
+ * @Filename:BuildJobResult
+ * @description:Todo
+ */
+@Schema(title = "流水线模型-job执行结果")
+public class BuildJobResult {
+ @Schema(title = "错误原因", required = false)
+ private String message;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildManualStartupInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildManualStartupInfo.java
new file mode 100644
index 0000000..3fb0455
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildManualStartupInfo.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildManualStartupInfo
+ * @Date:2025/03/24 15:08
+ * @Filename:BuildManualStartupInfo
+ * @description:Todo
+ */
+@Schema(title = "构建模型-流水线手动启动信息")
+public class BuildManualStartupInfo {
+ @Schema(title = "是否可手工启动", required = true)
+ private boolean canManualStartup;
+ @Schema(title = "是否可跳过插件", required = true)
+ private boolean canElementSkip;
+ @Schema(title = "启动表单元素列表", required = true)
+ private List properties;
+ @Schema(title = "指定的构建号", required = true)
+ private BuildNo buildNo;
+ @Schema(title = "是否使用最近一次的参数进行构建", required = false)
+ private Boolean useLatestParameters;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageProgressInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageProgressInfo.java
new file mode 100644
index 0000000..dd38db7
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageProgressInfo.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildStageProgressInfo
+ * @Date:2025/03/24 15:08
+ * @Filename:BuildStageProgressInfo
+ * @description:Todo
+ */
+@Schema(title = "阶段进度")
+public class BuildStageProgressInfo {
+ @Schema(title = "阶段进度", required = true)
+ private Double stageProgressRete;
+ @Schema(title = "task进度", required = true)
+ private List taskProgressList;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageStatus.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageStatus.java
new file mode 100644
index 0000000..1a7c670
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageStatus.java
@@ -0,0 +1,36 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildStageStatus
+ * @Date:2025/03/24 15:09
+ * @Filename:BuildStageStatus
+ * @description:Todo
+ */
+@Data
+@Schema(title = "历史构建阶段状态")
+public class BuildStageStatus {
+ @Schema(title = "阶段ID", required = true)
+ private String stageId;
+ @Schema(title = "阶段名称", required = true)
+ private String name;
+ @Schema(title = "阶段状态", required = false, readOnly = true)
+ private String status;
+ @Schema(title = "阶段标签", required = false, readOnly = true)
+ private List tag;
+ @Schema(title = "阶段启动时间", required = false, readOnly = true)
+ private Long startEpoch;
+ @Schema(title = "容器运行时间", required = false, readOnly = true)
+ private Long elapsed;
+ @Schema(title = "各项耗时", required = true)
+ private BuildRecordTimeCost timeCost;
+ @Schema(title = "前端", required = false, readOnly = true)
+ private String showMsg;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTask.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTask.java
new file mode 100644
index 0000000..3503ba7
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTask.java
@@ -0,0 +1,54 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildTask
+ * @Date:2025/03/24 15:10
+ * @Filename:BuildTask
+ * @description:Todo
+ */
+@Schema(title = "流水线模型-构建任务")
+public class BuildTask {
+ @Schema(title = "构建ID", required = true)
+ private String buildId;
+ @Schema(title = "构建环境ID", required = true)
+ private String vmSeqId;
+ @Schema(title = "任务状态", required = true)
+ private BuildTaskStatus status;
+ @Schema(title = "插件执行次数", required = false)
+ private Integer executeCount;
+ @Schema(title = "任务ID", required = true)
+ private String taskId;
+ @Schema(title = "插件ID", required = true)
+ private String elementId;
+ @Schema(title = "标识上下文的插件ID", required = true)
+ private String stepId;
+ @Schema(title = "插件名字", required = true)
+ private String elementName;
+ @Schema(title = "插件版本号", required = false)
+ private String elementVersion;
+ @Schema(title = "任务类型", required = false)
+ private String type;
+ @Schema(title = "任务参数", required = false)
+ private Map params;
+ @Schema(title = "环境参数", required = false)
+ private Map buildVariable;
+ @Schema(title = "容器类型", required = false)
+ private String containerType;
+ @Schema(title = "签名token", required = false)
+ private String signToken;
+
+ @Override
+ public String toString() {
+ return "buildId=" + buildId + "|vmSeqId=" + vmSeqId + "|status=" + status + "|taskId=" + taskId +
+ "|name=" + elementName + "|stepId=" + stepId + "|type=" + type +
+ "|paramSize=" + (params != null ? params.size() : 0) +
+ "|buildVarSize=" + (buildVariable != null ? buildVariable.size() : 0);
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskPauseInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskPauseInfo.java
new file mode 100644
index 0000000..58bd1c2
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskPauseInfo.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildTaskPauseInfo
+ * @Date:2025/03/24 15:12
+ * @Filename:BuildTaskPauseInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线暂停操作实体类")
+public class BuildTaskPauseInfo {
+ @Schema(title = "任务ID")
+ private String taskId;
+ @Schema(title = "插件ID")
+ private String stepId;
+ @Schema(title = "element信息,若插件内有变量变更需给出变更后的element")
+ private Element element;
+ @Schema(title = "是否继续 true:继续构建 false:停止构建")
+ private boolean isContinue;
+ @Schema(title = "当前stageId")
+ private String stageId;
+ @Schema(title = "当前containerId")
+ private String containerId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskProgressInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskProgressInfo.java
new file mode 100644
index 0000000..d72fc3a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskProgressInfo.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildTaskProgressInfo
+ * @Date:2025/03/24 15:12
+ * @Filename:BuildTaskProgressInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "task进度")
+public class BuildTaskProgressInfo {
+ @Schema(title = "task进度", required = true)
+ private Double taskProgressRete;
+ @Schema(title = "task名称", required = true)
+ private String taskName;
+ @Schema(title = "Job执行顺序", required = true)
+ private String jobExecutionOrder;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskResult.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskResult.java
new file mode 100644
index 0000000..9a2fedd
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskResult.java
@@ -0,0 +1,48 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildTaskResult
+ * @Date:2025/03/24 15:13
+ * @Filename:BuildTaskResult
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线模型-构建任务结果")
+public class BuildTaskResult {
+ @Schema(title = "任务ID", required = true)
+ private String taskId;
+ @Schema(title = "插件ID", required = true)
+ private String elementId;
+ @Schema(title = "插件版本号", required = false)
+ private String elementVersion;
+ @Schema(title = "容器Hash ID", required = true)
+ private String containerId;
+ @Schema(title = "是否执行成功", required = true)
+ private boolean success;
+ @Schema(title = "插件执行次数", required = true)
+ private Integer executeCount;
+ @Schema(title = "构建结果", required = true)
+ private Map buildResult;
+ @Schema(title = "错误原因", required = false)
+ private String message;
+ @Schema(title = "任务类型", required = false)
+ private String type;
+ @Schema(title = "错误类型", required = false)
+ private String errorType;
+ @Schema(title = "错误码标识", required = false)
+ private Integer errorCode;
+ @Schema(title = "对接平台代码", required = false)
+ private String platformCode;
+ @Schema(title = "对接平台错误码", required = false)
+ private Integer platformErrorCode;
+ @Schema(title = "插件监控数据", required = false)
+ private Map monitorData;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTemplateAcrossInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTemplateAcrossInfo.java
new file mode 100644
index 0000000..22c6030
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTemplateAcrossInfo.java
@@ -0,0 +1,33 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:BuildTemplateAcrossInfo
+ * @Date:2025/03/24 15:15
+ * @Filename:BuildTemplateAcrossInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "构建中跨项目引用模板信息")
+public class BuildTemplateAcrossInfo {
+ @Schema(title = "模板ID")
+ private String templateId;
+ @Schema(title = "模板类型")
+ private TemplateAcrossInfoType templateType;
+ @Schema(title = "模板实例ID列表")
+ private List templateInstancesIds;
+ @Schema(title = "目标项目ID")
+ private String targetProjectId;
+
+ public enum TemplateAcrossInfoType {
+ JOB,
+ STEP
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildVariables.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildVariables.java
new file mode 100644
index 0000000..06a9b19
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildVariables.java
@@ -0,0 +1,51 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import cd.casic.ci.project.dal.pojo.PipelineAsCodeSettings;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process
+ * @Project:ops-pro
+ * @name:BuildVariables
+ * @Date:2025/03/24 15:34
+ * @Filename:BuildVariables
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线模型-构建参数变量")
+public class BuildVariables {
+ @Schema(title = "构建ID", required = true)
+ private String buildId;
+ @Schema(title = "构建环境ID", required = true)
+ private String vmSeqId;
+ @Schema(title = "构建机名称", required = true)
+ private String vmName;
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "pipeline id", required = true)
+ private String pipelineId;
+ @Schema(title = "参数集合(已完成上下文转换)", required = true)
+ private Map variables;
+ @Schema(title = "系统环境变量", required = false)
+ private List buildEnvs;
+ @Schema(title = "container的编排ID(同seq)", required = false)
+ private String containerId;
+ @Schema(title = "container的全局ID", required = false)
+ private String containerHashId;
+ @Schema(title = "container用户自定义ID", required = false)
+ private String jobId;
+ @Schema(title = "参数类型集合(用于打印时区分敏感信息,建议不要作为传参使用)", required = false)
+ private List variablesWithType;
+ @Schema(title = "Job超时时间(毫秒)", required = true)
+ private long timeoutMills;
+ @Schema(title = "容器类型", required = false)
+ private String containerType;
+ @Schema(title = "YAML流水线特殊配置", required = false)
+ private PipelineAsCodeSettings pipelineAsCodeSettings;
+ @Schema(title = "构建日志归档阈值(单位:万)")
+ private Integer loggingLineLimit;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/CreateCallBackResult.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/CreateCallBackResult.java
new file mode 100644
index 0000000..d30848d
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/CreateCallBackResult.java
@@ -0,0 +1,25 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:CreateCallBackResult
+ * @Date:2025/03/24 15:35
+ * @Filename:CreateCallBackResult
+ * @description:Todo
+ */
+@Data
+@Schema(title = "项目的流水线回调创建结果")
+public class CreateCallBackResult {
+ @Schema(title = "成功事件列表", required = false)
+ private List successEvents;
+ @Schema(title = "失败事件列表", required = false)
+ private Map failureEvents;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/DockerEnableProject.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/DockerEnableProject.java
new file mode 100644
index 0000000..8ef25ba
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/DockerEnableProject.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:DockerEnableProject
+ * @Date:2025/03/24 15:36
+ * @Filename:DockerEnableProject
+ * @description:Todo
+ */
+@Data
+@Schema(title = "")
+public class DockerEnableProject {
+ @Schema(title = "是否启用", required = false)
+ private boolean enable;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "创建时间", required = false)
+ private long createTime;
+ @Schema(title = "更新时间", required = false)
+ private long updateTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/JobMutexGroup.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/JobMutexGroup.java
new file mode 100644
index 0000000..4a09853
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/JobMutexGroup.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:JobMutexGroup
+ * @Date:2025/03/24 15:37
+ * @Filename:JobMutexGroup
+ * @description:Todo
+ */
+@Data
+@Schema(title = "Job互斥组模型-列表信息")
+public class JobMutexGroup {
+ @Schema(title = "Job互斥组名字", required = true)
+ private String jobMutexGroupName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateOrderByType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateOrderByType.java
new file mode 100644
index 0000000..2c5b905
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateOrderByType.java
@@ -0,0 +1,16 @@
+package cd.casic.ci.process.api.process.pojo;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PTemplateOrderByType
+ * @Date:2025/03/24 17:01
+ * @Filename:PTemplateOrderByType
+ * @description:Todo
+ */
+public enum PTemplateOrderByType {
+ NAME,
+ CREATOR,
+ CREATE_TIME,
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateSortType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateSortType.java
new file mode 100644
index 0000000..0f83837
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateSortType.java
@@ -0,0 +1,15 @@
+package cd.casic.ci.process.api.process.pojo;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PTemplateSortType
+ * @Date:2025/03/24 17:01
+ * @Filename:PTemplateSortType
+ * @description:Todo
+ */
+public enum PTemplateSortType {
+ ASC,
+ DESC;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Permission.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Permission.java
new file mode 100644
index 0000000..5ec77cd
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Permission.java
@@ -0,0 +1,21 @@
+package cd.casic.ci.process.api.process.pojo;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:Permission
+ * @Date:2025/03/24 15:37
+ * @Filename:Permission
+ * @description:Todo
+ */
+public enum Permission {
+ DEPLOY,
+ DOWNLOAD,
+ EDIT,
+ EXECUTE,
+ DELETE,
+ VIEW,
+ CREATE,
+ LIST
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Pipeline.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Pipeline.java
new file mode 100644
index 0000000..e19543d
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Pipeline.java
@@ -0,0 +1,120 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import cd.casic.ci.process.api.process.pojo.classify.PipelineGroupLabels;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:Pipeline
+ * @Date:2025/03/24 15:38
+ * @Filename:Pipeline
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线模型-列表信息")
+public class Pipeline {
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "流水线名称", required = true)
+ private String pipelineName;
+ @Schema(title = "流水线描述", required = false)
+ private String pipelineDesc;
+ @Schema(title = "流水线任务数量", required = true)
+ private int taskCount;
+ @Schema(title = "构建次数", required = true)
+ private long buildCount;
+ @Schema(title = "运行锁定", required = false)
+ private boolean lock;
+ @Schema(title = "是否可手工启动", required = true)
+ private boolean canManualStartup;
+ @Schema(title = "最后构建启动时间", required = false)
+ private Long latestBuildStartTime;
+ @Schema(title = "最后构建结束时间", required = false)
+ private Long latestBuildEndTime;
+ @Schema(title = "最后构建状态", required = false)
+ private BuildStatus latestBuildStatus;
+ @Schema(title = "最后构建版本号", required = false)
+ private Integer latestBuildNum;
+ @Schema(title = "最后构建任务名称", required = false)
+ @Deprecated
+ private String latestBuildTaskName;
+ @Schema(title = "最后任务预计执行时间(毫秒)", required = false)
+ private Long latestBuildEstimatedExecutionSeconds;
+ @Schema(title = "最后构建实例ID", required = false)
+ private String latestBuildId;
+ @Schema(title = "部署时间", required = true)
+ private long deploymentTime;
+ @Schema(title = "流水线创建时间", required = true)
+ private long createTime;
+ @Schema(title = "更新时间", required = true)
+ private long updateTime;
+ @Schema(title = "编排文件版本号", required = true)
+ private int pipelineVersion;
+ @Schema(title = "服务器当前时间戳", required = true)
+ private long currentTimestamp;
+ @Schema(title = "当前运行的构建的个数", required = true)
+ private int runningBuildCount;
+ @Schema(title = "是否有list权限", required = true)
+ private boolean hasPermission;
+ @Schema(title = "是否被收藏", required = true)
+ private boolean hasCollect;
+ @Schema(title = "最后执行人id", required = false)
+ private String latestBuildUserId;
+ @Schema(title = "是否从模板中实例化出来的", required = false)
+ private Boolean instanceFromTemplate;
+ @Schema(title = "模板ID", required = false)
+ private String templateId;
+ @Schema(title = "版本名称", required = false)
+ private String versionName;
+ @Schema(title = "版本", required = false)
+ private Long version;
+ @Schema(title = "流水线更新人", required = false)
+ private String updater;
+ @Schema(title = "流水线创建人", required = false)
+ private String creator;
+ @Schema(title = "流水线分组和标签", required = false)
+ private List groupLabel;
+ @Schema(title = "最后自定义构建版本号", required = false)
+ private String latestBuildNumAlias;
+ @Schema(title = "自定义构建号规则", required = false)
+ private String buildNumRule;
+ @Schema(title = "编排详情", required = false)
+ private Model model;
+ @Schema(title = "流水线组名称列表", required = false)
+ private List viewNames;
+ @Schema(title = "最后一次构建的构建信息", required = false)
+ private String lastBuildMsg;
+ @Schema(title = "最后一次构建所有的任务个数", required = false)
+ private Integer lastBuildTotalCount;
+ @Schema(title = "最后一次构建已完成的任务个数", required = false)
+ private Integer lastBuildFinishCount;
+ @Schema(title = "启动类型(新)", required = false)
+ private String startType;
+ @Schema(title = "触发方式", required = false)
+ private String trigger;
+ @Schema(title = "webhook仓库别名", required = false)
+ private String webhookAliasName;
+ @Schema(title = "webhook提交信息", required = false)
+ private String webhookMessage;
+ @Schema(title = "webhook仓库地址", required = false)
+ private String webhookRepoUrl;
+ @Schema(title = "webhook类型", required = false)
+ private String webhookType;
+ @Schema(title = "是否已删除", required = false)
+ private Boolean delete;
+ @Schema(title = "最新流水线版本状态(如有任何发布版本则为发布版本)", required = false)
+ private VersionStatus latestVersionStatus;
+ @Schema(title = "流水线权限", required = false)
+ private PipelinePermissions permissions;
+ @Schema(title = "yaml在默认分支是否存在", required = false)
+ private Boolean yamlExist;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomRel.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomRel.java
new file mode 100644
index 0000000..517df49
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomRel.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineAtomRel
+ * @Date:2025/03/24 15:42
+ * @Filename:PipelineAtomRel
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线插件相关信息")
+public class PipelineAtomRel {
+ @Schema(title = "流水线链接", required = true)
+ private String pipelineUrl;
+ @Schema(title = "插件版本", required = true)
+ private String atomVersion;
+ @Schema(title = "修改人", required = true)
+ private String modifier;
+ @Schema(title = "修改时间", required = true)
+ private String updateTime;
+ @Schema(title = "执行人", required = false)
+ private String executor;
+ @Schema(title = "执行时间", required = false)
+ private String executeTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomReplaceHistory.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomReplaceHistory.java
new file mode 100644
index 0000000..15b3eec
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomReplaceHistory.java
@@ -0,0 +1,38 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineAtomReplaceHistory
+ * @Date:2025/03/24 15:43
+ * @Filename:PipelineAtomReplaceHistory
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线插件替换历史")
+public class PipelineAtomReplaceHistory {
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "业务ID", required = true)
+ private String busId;
+ @Schema(title = "业务类型", required = true)
+ private String busType;
+ @Schema(title = "源版本号", required = true)
+ private int sourceVersion;
+ @Schema(title = "目标版本号", required = false)
+ private Integer targetVersion;
+ @Schema(title = "状态", required = true)
+ private String status;
+ @Schema(title = "插件替换基本信息ID", required = true)
+ private String baseId;
+ @Schema(title = "插件替换项信息ID", required = true)
+ private String itemId;
+ @Schema(title = "用户ID", required = true)
+ private String userId;
+ @Schema(title = "日志", required = false)
+ private String log;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineBuildMaterial.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineBuildMaterial.java
new file mode 100644
index 0000000..4e241d2
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineBuildMaterial.java
@@ -0,0 +1,39 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import cd.casic.ci.log.scm.enums.ScmType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineBuildMaterial
+ * @Date:2025/03/24 15:53
+ * @Filename:PipelineBuildMaterial
+ * @description:Todo
+ */
+@Data
+@Schema(title = "")
+public class PipelineBuildMaterial {
+ @Schema(title = "代码库类型", required = false)
+ private String scmType = ScmType.CODE_TGIT.name();
+ @Schema(title = "别名", required = false)
+ private String aliasName;
+ @Schema(title = "url 地址", required = false)
+ private String url;
+ @Schema(title = "分支名称", required = false)
+ private String branchName;
+ @Schema(title = "当前最新提交id", required = false)
+ private String newCommitId;
+ @Schema(title = "当前提交备注信息", required = false)
+ private String newCommitComment;
+ @Schema(title = "提交次数", required = false)
+ private Integer commitTimes;
+ @Schema(title = "是否为源材料主仓库", required = false)
+ private Boolean mainRepo = false;
+ @Schema(title = "提交时间", required = false)
+ private Long createTime = System.currentTimeMillis() / 1000;
+ @Schema(title = "插件ID", required = false)
+ private String taskId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCallBackInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCallBackInfo.java
new file mode 100644
index 0000000..cc0f985
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCallBackInfo.java
@@ -0,0 +1,23 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineCallBackInfo
+ * @Date:2025/03/24 15:56
+ * @Filename:PipelineCallBackInfo
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+public class PipelineCallBackInfo {
+ private CallBackEvent callbackEvent;
+ private String callbackUrl;
+ private String secretToken;
+ private String callbackName;
+ private CallBackNetWorkRegionType region;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCollation.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCollation.java
new file mode 100644
index 0000000..c5aef51
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCollation.java
@@ -0,0 +1,16 @@
+package cd.casic.ci.process.api.process.pojo;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineCollation
+ * @Date:2025/03/24 15:57
+ * @Filename:PipelineCollation
+ * @description:Todo
+ */
+public enum PipelineCollation {
+ DEFAULT,
+ ASC,
+ DESC
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineContainerMonitor.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineContainerMonitor.java
new file mode 100644
index 0000000..1cfbd86
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineContainerMonitor.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineContainerMonitor
+ * @Date:2025/03/24 15:57
+ * @Filename:PipelineContainerMonitor
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线模型-容器监控信息")
+public class PipelineContainerMonitor {
+ @Schema(title = "操作系统类型", required = false)
+ private VMBaseOS osType;
+ @Schema(title = "创建类型", required = false)
+ private BuildType buildType;
+ @Schema(title = "最长启动时间", required = false)
+ private long maxStartupTime;
+ @Schema(title = "最长执行时间", required = false)
+ private long maxExecuteTime;
+ @Schema(title = "用户列表", required = false)
+ private List users;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCopy.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCopy.java
new file mode 100644
index 0000000..50d619e
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCopy.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineCopy
+ * @Date:2025/03/24 16:10
+ * @Filename:PipelineCopy
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线-COPY创建信息")
+public class PipelineCopy {
+ @Schema(title = "名称", required = true)
+ private String name;
+ @Schema(title = "描述", required = false)
+ private String desc;
+ @Schema(title = "流水线基础设置-基本信息中的标签", required = false)
+ private List labels;
+ @Schema(title = "配置静态流水线组,需要填写视图ID", required = false)
+ private List staticViews;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetail.java
new file mode 100644
index 0000000..a6243f1
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetail.java
@@ -0,0 +1,81 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import cd.casic.ci.project.dal.pojo.PipelineAsCodeSettings;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineDetail
+ * @Date:2025/03/24 16:10
+ * @Filename:PipelineDetail
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线预览页完整信息")
+public class PipelineDetail {
+
+ @Schema(title = "流水线Id")
+ private String pipelineId;
+ @Schema(title = "流水线名称")
+ private String pipelineName;
+ @Schema(title = "是否收藏")
+ private boolean hasCollect;
+ @Schema(title = "是否可以手动触发")
+ private boolean canManualStartup;
+ @Schema(title = "是否可以调试")
+ private boolean canDebug;
+ @Schema(title = "是否可以发布")
+ private boolean canRelease;
+ @Schema(title = "是否从模板实例化")
+ private boolean instanceFromTemplate;
+ @Schema(title = "当前模板的ID", required = false)
+ private String templateId;
+ @Schema(title = "关联模板版本", required = false)
+ private Long templateVersion;
+ @Schema(title = "草稿或最新的发布版本")
+ private int version;
+ @Schema(title = "草稿或最新的发布版本名称")
+ private String versionName;
+ @Schema(title = "草稿的基准版本(存在草稿才有值)", required = false)
+ private Integer baseVersion;
+ @Schema(title = "草稿的基准版本的状态(存在草稿才有值)", required = false)
+ private VersionStatus baseVersionStatus;
+ @Schema(title = "基准版本的版本名称")
+ private String baseVersionName;
+ @Schema(title = "最新的发布版本,如果为空则说明没有过发布版本")
+ private Integer releaseVersion;
+ @Schema(title = "最新的发布版本名称,如果为空则说明没有过发布版本")
+ private String releaseVersionName;
+ @Schema(title = "是否有编辑权限")
+ private boolean hasPermission;
+ @Schema(title = "流水线描述")
+ private String pipelineDesc;
+ @Schema(title = "创建者")
+ private String creator;
+ @Schema(title = "创建时间")
+ private long createTime;
+ @Schema(title = "更新时间")
+ private long updateTime;
+ @Schema(title = "流水线组名称列表", required = false)
+ private List viewNames;
+ @Schema(title = "流水线权限", required = false)
+ private PipelinePermissions permissions;
+ @Schema(title = "Lock 类型", required = false)
+ private PipelineRunLockType runLockType;
+ @Schema(title = "最新流水线版本状态(如有任何发布版本则为发布版本)", required = false)
+ private VersionStatus latestVersionStatus;
+ @Schema(title = "PAC配置", required = false)
+ private PipelineAsCodeSettings pipelineAsCodeSettings;
+ @Schema(title = "流水线YAML信息", required = false)
+ private PipelineYamlVo yamlInfo;
+ @Schema(title = "yaml文件在默认分支是否存在", required = false)
+ private Boolean yamlExist;
+ @Schema(title = "运行锁定", required = false)
+ private boolean locked;
+
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetailInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetailInfo.java
new file mode 100644
index 0000000..04f3625
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetailInfo.java
@@ -0,0 +1,55 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineDetailInfo
+ * @Date:2025/03/24 16:12
+ * @Filename:PipelineDetailInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线名称与Id")
+public class PipelineDetailInfo {
+ @Schema(title = "流水线Id")
+ private String pipelineId;
+ @Schema(title = "流水线名称")
+ private String pipelineName;
+ @Schema(title = "是否收藏")
+ private boolean hasCollect;
+ @Schema(title = "canManualStartup")
+ private boolean canManualStartup;
+ @Schema(title = "是否关联模板")
+ private boolean instanceFromTemplate;
+ @Schema(title = "流水线版本")
+ private int pipelineVersion;
+ @Schema(title = "发布时间-时间戳")
+ private long deploymentTime;
+ @Schema(title = "是否有编辑权限")
+ private boolean hasPermission;
+ @Schema(title = "关联模板ID", required = false)
+ private String templateId;
+ @Schema(title = "关联模板版本", required = false)
+ private Long templateVersion;
+ @Schema(title = "流水线描述")
+ private String pipelineDesc;
+ @Schema(title = "创建者")
+ private String creator;
+ @Schema(title = "创建时间")
+ private long createTime;
+ @Schema(title = "更新时间")
+ private long updateTime;
+ @Schema(title = "最新流水线版本状态(如有任何发布版本则为发布版本)", required = false)
+ private VersionStatus latestVersionStatus;
+ @Schema(title = "流水线组名称列表", required = false)
+ private List viewNames;
+ @Schema(title = "运行锁定", required = false)
+ private boolean locked;
+
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineId.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineId.java
new file mode 100644
index 0000000..7cddc6b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineId.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineId
+ * @Date:2025/03/24 16:13
+ * @Filename:PipelineId
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线模型-ID")
+public class PipelineId {
+ @Schema(title = "流水线ID", required = true)
+ private String id;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdAndName.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdAndName.java
new file mode 100644
index 0000000..95df250
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdAndName.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineIdAndName
+ * @Date:2025/03/24 16:21
+ * @Filename:PipelineIdAndName
+ * @description:Todo
+ */
+@Data
+@AllArgsConstructor
+@Schema(title = "流水线名称与Id")
+public class PipelineIdAndName {
+ @Schema(title = "流水线Id")
+ private String pipelineId;
+ @Schema(title = "流水线名称")
+ private String pipelineName;
+ @Schema(title = "流水线的来源渠道")
+ private ChannelCode channelCode;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdInfo.java
new file mode 100644
index 0000000..4513308
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdInfo.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineIdInfo
+ * @Date:2025/03/24 16:22
+ * @Filename:PipelineIdInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线id模型")
+@AllArgsConstructor
+public class PipelineIdInfo {
+ @Schema(title = "流水线id,全局唯一", required = false)
+ private String pipelineId;
+ @Schema(title = "流水线自增ID,主要用于权限中心的资源ID,保证项目下唯一", required = false)
+ private Long id;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineListRequest.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineListRequest.java
new file mode 100644
index 0000000..161488b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineListRequest.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.util.Collection;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineListRequest
+ * @Date:2025/03/24 16:23
+ * @Filename:PipelineListRequest
+ * @description:Todo
+ */
+@Data
+@AllArgsConstructor
+public class PipelineListRequest {
+ private Collection pipelineId;
+ private Collection templateId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineName.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineName.java
new file mode 100644
index 0000000..c9b1411
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineName.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineName
+ * @Date:2025/03/24 16:23
+ * @Filename:PipelineName
+ * @description:Todo
+ */
+@Data
+@AllArgsConstructor
+@Schema(title = "流水线模型-修改NAME")
+public class PipelineName {
+ @Schema(title = "流水线修改后的名称", required = true)
+ private String name;
+ @Schema(title = "流水线修改前的名称", required = false)
+ private String oldName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineNotifyTemplateEnum.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineNotifyTemplateEnum.java
new file mode 100644
index 0000000..515e0cd
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineNotifyTemplateEnum.java
@@ -0,0 +1,54 @@
+package cd.casic.ci.process.api.process.pojo;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineNotifyTemplateEnum
+ * @Date:2025/03/24 16:24
+ * @Filename:PipelineNotifyTemplateEnum
+ * @description:Todo
+ */
+public enum PipelineNotifyTemplateEnum {
+ PIPELINE_STARTUP_NOTIFY_TEMPLATE("PIPELINE_STARTUP_NOTIFY_TEMPLATE"),
+
+ PIPELINE_STARTUP_NOTIFY_TEMPLATE_DETAIL("PIPELINE_STARTUP_NOTIFY_TEMPLATE_DETAIL"),
+
+ PIPELINE_SHUTDOWN_SUCCESS_NOTIFY_TEMPLATE("PIPELINE_SHUTDOWN_SUCCESS_NOTIFY_TEMPLATE"),
+
+ PIPELINE_SHUTDOWN_SUCCESS_NOTIFY_TEMPLATE_DETAIL("PIPELINE_SHUTDOWN_SUCCESS_NOTIFY_TEMPLATE_DETAIL"),
+
+ PIPELINE_SHUTDOWN_FAILURE_NOTIFY_TEMPLATE("PIPELINE_SHUTDOWN_FAILURE_NOTIFY_TEMPLATE"),
+
+ PIPELINE_SHUTDOWN_FAILURE_NOTIFY_TEMPLATE_DETAIL("PIPELINE_SHUTDOWN_FAILURE_NOTIFY_TEMPLATE_DETAIL"),
+
+ PIPELINE_SHUTDOWN_CANCEL_NOTIFY_TEMPLATE("PIPELINE_SHUTDOWN_CANCEL_NOTIFY_TEMPLATE"),
+
+ PIPELINE_SHUTDOWN_CANCEL_NOTIFY_TEMPLATE_DETAIL("PIPELINE_SHUTDOWN_CANCEL_NOTIFY_TEMPLATE_DETAIL"),
+
+ PIPELINE_TRIGGER_REVIEW_NOTIFY_TEMPLATE("PIPELINE_TRIGGER_REVIEW_NOTIFY_TEMPLATE"),
+
+ PIPELINE_MANUAL_REVIEW_ATOM_NOTIFY_TEMPLATE("MANUAL_REVIEW_ATOM_NOTIFY_TEMPLATE"),
+
+ PIPELINE_MANUAL_REVIEW_ATOM_REMINDER_NOTIFY_TEMPLATE("MANUAL_REVIEW_ATOM_REMINDER_NOTIFY_TEMPLATE"),
+
+ PIPELINE_MANUAL_REVIEW_STAGE_NOTIFY_TO_TRIGGER_TEMPLATE("MANUAL_REVIEW_STAGE_NOTIFY_TO_TRIGGER_TEMPLATE"),
+
+ PIPELINE_MANUAL_REVIEW_STAGE_REJECT_TO_TRIGGER_TEMPLATE("MANUAL_REVIEW_STAGE_REJECT_TO_TRIGGER_TEMPLATE"),
+
+ PIPELINE_MANUAL_REVIEW_STAGE_NOTIFY_TEMPLATE("MANUAL_REVIEW_STAGE_NOTIFY_TEMPLATE"),
+
+ PIPELINE_UPDATE_TEMPLATE_INSTANCE_NOTIFY_TEMPLATE("UPDATE_TEMPLATE_INSTANCE_NOTIFY_TEMPLATE"),
+
+ PIPELINE_WEBHOOK_REGISTER_FAILURE_NOTIFY_TEMPLATE("PIPELINE_WEBHOOK_REGISTER_FAILURE_NOTIFY_TEMPLATE"),
+
+ PIPELINE_CALLBACK_DISABLE_NOTIFY_TEMPLATE("PIPELINE_CALLBACK_DISABLE_NOTIFY_TEMPLATE"),
+
+ UNKNOWN("NULL");
+
+ private final String templateCode;
+
+ PipelineNotifyTemplateEnum(String templateCode) {
+ this.templateCode = templateCode;
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationDetail.java
new file mode 100644
index 0000000..d09f303
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationDetail.java
@@ -0,0 +1,46 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineOperationDetail
+ * @Date:2025/03/24 16:25
+ * @Filename:PipelineOperationDetail
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线操作日志")
+public class PipelineOperationDetail {
+ @Schema(title = "唯一标识ID", required = false)
+ private Long id;
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "版本ID", required = true)
+ private Integer version;
+ @Schema(title = "操作用户", required = true)
+ private String operator;
+ @Schema(title = "操作类型", required = true)
+ private OperationLogType operationLogType;
+ @Schema(title = "操作类型文字(国际化后)", required = true)
+ private String operationLogStr;
+ @Schema(title = "操作参数", required = true)
+ private String params;
+ @Schema(title = "操作时间", required = false)
+ private Long operateTime;
+ @Schema(title = "操作内容", required = false)
+ private String description;
+ @Schema(title = "版本名称", required = false)
+ private String versionName;
+ @Schema(title = "版本创建时间", required = false)
+ private Long versionCreateTime;
+ @Schema(title = "草稿版本标识", required = false)
+ private VersionStatus status;
+ @Schema(title = "来源代码库标识(分支名)", required = false)
+ private String pacRefs;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationLog.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationLog.java
new file mode 100644
index 0000000..e018a48
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationLog.java
@@ -0,0 +1,36 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineOperationLog
+ * @Date:2025/03/24 16:27
+ * @Filename:PipelineOperationLog
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线操作日志")
+public class PipelineOperationLog {
+ @Schema(title = "唯一标识ID", required = false)
+ private Long id;
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "版本ID", required = true)
+ private Integer version;
+ @Schema(title = "操作用户", required = true)
+ private String operator;
+ @Schema(title = "操作类型", required = true)
+ private OperationLogType operationLogType;
+ @Schema(title = "操作参数", required = true)
+ private String params;
+ @Schema(title = "操作时间", required = false)
+ private Long operateTime;
+ @Schema(title = "操作内容", required = false)
+ private String description;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelinePermissions.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelinePermissions.java
new file mode 100644
index 0000000..2674d01
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelinePermissions.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelinePermissions
+ * @Date:2025/03/24 16:28
+ * @Filename:PipelinePermissions
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线-流水线权限")
+public class PipelinePermissions {
+ @Schema(title = "管理员权限", required = true)
+ private Boolean canManage;
+ @Schema(title = "删除权限", required = true)
+ private Boolean canDelete;
+ @Schema(title = "查看权限", required = true)
+ private Boolean canView;
+ @Schema(title = "编辑权限", required = true)
+ private Boolean canEdit;
+ @Schema(title = "执行权限", required = true)
+ private Boolean canExecute;
+ @Schema(title = "下载权限", required = true)
+ private Boolean canDownload;
+ @Schema(title = "分享权限", required = true)
+ private Boolean canShare;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineProjectRel.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineProjectRel.java
new file mode 100644
index 0000000..2958115
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineProjectRel.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineProjectRel
+ * @Date:2025/03/24 16:45
+ * @Filename:PipelineProjectRel
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线信息")
+public class PipelineProjectRel {
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "流水线名称", required = true)
+ private String pipelineName;
+ @Schema(title = "项目标识", required = true)
+ private String projectCode;
+ @Schema(title = "插件版本", required = true)
+ private String atomVersion;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineRemoteToken.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineRemoteToken.java
new file mode 100644
index 0000000..dfdd016
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineRemoteToken.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineRemoteToken
+ * @Date:2025/03/24 16:45
+ * @Filename:PipelineRemoteToken
+ * @description:Todo
+ */
+@Data
+@Schema(title = "远程执行token")
+public class PipelineRemoteToken {
+ @Schema(title = "token字符串", required = false)
+ private String token;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineSortType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineSortType.java
new file mode 100644
index 0000000..19a9746
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineSortType.java
@@ -0,0 +1,17 @@
+package cd.casic.ci.process.api.process.pojo;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineSortType
+ * @Date:2025/03/24 16:45
+ * @Filename:PipelineSortType
+ * @description:Todo
+ */
+public enum PipelineSortType {
+ NAME,
+ CREATE_TIME,
+ UPDATE_TIME,
+ LAST_EXEC_TIME
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStageTag.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStageTag.java
new file mode 100644
index 0000000..9e12bc2
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStageTag.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineStageTag
+ * @Date:2025/03/24 16:46
+ * @Filename:PipelineStageTag
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线-阶段标签信息")
+public class PipelineStageTag {
+ @Schema(title = "阶段标签ID", required = true)
+ private String id;
+ @Schema(title = "阶段标签名称", required = true)
+ private String stageTagName;
+ @Schema(title = "阶段标签权重", required = true)
+ private Integer weight;
+ @Schema(title = "是否为默认标签", required = true)
+ private Boolean defaultFlag;
+ @Schema(title = "创建日期")
+ private Long createTime;
+ @Schema(title = "更新日期")
+ private Long updateTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStatus.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStatus.java
new file mode 100644
index 0000000..39d416d
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStatus.java
@@ -0,0 +1,54 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineStatus
+ * @Date:2025/03/24 16:46
+ * @Filename:PipelineStatus
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线模型-列表-状态信息")
+public class PipelineStatus {
+ @Schema(title = "流水线任务数量", required = true)
+ private Integer taskCount;
+ @Schema(title = "构建次数", required = true)
+ private Long buildCount;
+ @Schema(title = "运行锁定", required = false)
+ private Boolean lock;
+ @Schema(title = "是否可手工启动", required = true)
+ private Boolean canManualStartup;
+ @Schema(title = "最后构建时间", required = false)
+ private Long latestBuildStartTime;
+ @Schema(title = "最后构建结束时间", required = false)
+ private Long latestBuildEndTime;
+ @Schema(title = "最后构建状态", required = false)
+ private BuildStatus latestBuildStatus;
+ @Schema(title = "最后构建版本号", required = false)
+ private Integer latestBuildNum;
+ @Schema(title = "最后构建任务名称", required = false)
+ @Deprecated()
+ //"无用.不再提供任何信息"
+ private String latestBuildTaskName;
+ @Schema(title = "最后任务预计执行时间(毫秒)", required = false)
+ private Long latestBuildEstimatedExecutionSeconds;
+ @Schema(title = "最后构建实例ID", required = false)
+ private String latestBuildId;
+ @Schema(title = "服务器当前时间戳", required = true)
+ private Long currentTimestamp;
+ @Schema(title = "当前运行的构建的个数", required = true)
+ private Integer runningBuildCount;
+ @Schema(title = "是否被收藏", required = true)
+ private Boolean hasCollect;
+ @Schema(title = "最后一次构建所有的任务个数", required = false)
+ private Integer lastBuildTotalCount;
+ @Schema(title = "最后一次构建已完成的任务个数", required = false)
+ private Integer lastBuildFinishCount;
+ @Schema(title = "触发方式", required = false)
+ private String trigger;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplate.java
new file mode 100644
index 0000000..4f4dab2
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplate.java
@@ -0,0 +1,41 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineTemplate
+ * @Date:2025/03/24 16:49
+ * @Filename:PipelineTemplate
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线-模板信息")
+public class PipelineTemplate {
+ @Schema(title = "模板名称", required = true)
+ private String name;
+ @Schema(title = "模板描述", required = false)
+ private String desc;
+ @Schema(title = "应用范畴", required = true)
+ private List category;
+ @Schema(title = "模板图标", required = false)
+ private String icon;
+ @Schema(title = "模板LOGO路径", required = false)
+ private String logoUrl;
+ @Schema(title = "模板作者", required = true)
+ private String author;
+ @Schema(title = "插件数量", required = true)
+ private Integer atomNum;
+ @Schema(title = "当前模板对应的被复制的模板或安装的研发商店的模板对应的ID", required = true)
+ private String srcTemplateId;
+ @Schema(title = "是否为公共模版", required = true)
+ private Boolean publicFlag;
+ @Schema(title = "阶段集合", required = true)
+ private List stages;
+
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplateInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplateInfo.java
new file mode 100644
index 0000000..739258a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplateInfo.java
@@ -0,0 +1,45 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineTemplateInfo
+ * @Date:2025/03/24 16:50
+ * @Filename:PipelineTemplateInfo
+ * @description:Todo
+ */
+@Data
+public class PipelineTemplateInfo {
+ @Schema(title = "模版名称", required = true)
+ private String name;
+ @Schema(title = "模版ID", required = true)
+ private String templateId;
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "当前模板版本ID", required = true)
+ private Long version;
+ @Schema(title = "父模板版本ID", required = true)
+ private Long srcTemplateVersion;
+ @Schema(title = "最新版本号", required = true)
+ private String versionName;
+ @Schema(title = "模板类型", required = true)
+ private String templateType;
+ @Schema(title = "模板类型描述", required = true)
+ private String templateTypeDesc;
+ @Schema(title = "应用范畴", required = true)
+ private List category;
+ @Schema(title = "模版logo", required = true)
+ private String logoUrl;
+ @Schema(title = "阶段集合", required = true)
+ private List stages;
+ @Schema(title = "模版名称,兼容老代码", required = true)
+ private String templateName;
+ @Schema(title = "父模板ID", required = true)
+ private String srcTemplateId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineUser.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineUser.java
new file mode 100644
index 0000000..c31f577
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineUser.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineUser
+ * @Date:2025/03/24 16:51
+ * @Filename:PipelineUser
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线-用户信息")
+public class PipelineUser {
+ @Schema(title = "主键ID", required = true)
+ private Long id;
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "创建时间", required = true)
+ private Long createTime;
+ @Schema(title = "更新时间", required = true)
+ private Long updateTime;
+ @Schema(title = "创建人", required = true)
+ private String creator;
+ @Schema(title = "修改人", required = true)
+ private String modifier;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineVersionReleaseRequest.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineVersionReleaseRequest.java
new file mode 100644
index 0000000..fea426d
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineVersionReleaseRequest.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:PipelineVersionReleaseRequest
+ * @Date:2025/03/24 16:52
+ * @Filename:PipelineVersionReleaseRequest
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线-版本发布请求")
+public class PipelineVersionReleaseRequest {
+ @Schema(title = "是否本次开启PAC", required = true)
+ private Boolean enablePac;
+ @Schema(title = "版本描述", required = false)
+ private String description;
+ @Schema(title = "模板版本号(为空时默认最新)", required = false)
+ private CodeTargetAction targetAction;
+ @Schema(title = "静态流水线组", required = false)
+ private List staticViews;
+ @Schema(title = "流水线YAML信息", required = false)
+ private PipelineYamlVo yamlInfo;
+ @Schema(title = "提交到指定的分支", required = false)
+ private String targetBranch;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProcessConstants.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProcessConstants.java
new file mode 100644
index 0000000..6d8935a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProcessConstants.java
@@ -0,0 +1,17 @@
+package cd.casic.ci.process.api.process.pojo;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:ProcessConstants
+ * @Date:2025/03/24 16:59
+ * @Filename:ProcessConstants
+ * @description:Todo
+ */
+public class ProcessConstants {
+ public static final String KEY_STAGE_ID = "stageId";
+ public static final String KEY_CONTAINER_ID = "containerId";
+ public static final String KEY_TASK_ID = "taskId";
+ public static final String KEY_EXECUTE_COUNT = "executeCount";
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProjectPipelineCallBackHistory.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProjectPipelineCallBackHistory.java
new file mode 100644
index 0000000..e60d154
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProjectPipelineCallBackHistory.java
@@ -0,0 +1,55 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:ProjectPipelineCallBackHistory
+ * @Date:2025/03/24 17:00
+ * @Filename:ProjectPipelineCallBackHistory
+ * @description:Todo
+ */
+@Data
+@Schema(title = "项目的流水线回调历史")
+public class ProjectPipelineCallBackHistory {
+ @Schema(title = "流水线id", required = false)
+ private Long id;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "回调url地址", required = false)
+ private String callBackUrl;
+ @Schema(title = "事件", required = false)
+ private String events;
+ @Schema(title = "状态", required = false)
+ private String status;
+ @Schema(title = "请求header", required = false)
+ private List requestHeaders;
+ @Schema(title = "请求body", required = false)
+ private String requestBody;
+ @Schema(title = "响应状态码", required = false)
+ private Integer responseCode;
+ @Schema(title = "响应body", required = false)
+ private String responseBody;
+ @Schema(title = "错误信息", required = false)
+ private String errorMsg;
+ @Schema(title = "创建时间", required = false)
+ private Long createdTime;
+ @Schema(title = "开始时间", required = false)
+ private Long startTime;
+ @Schema(title = "结束时间", required = false)
+ private Long endTime;
+
+ @Data
+ @Schema(title = "回调header 模型")
+ public class CallBackHeader {
+ @Schema(title = "名字", required = false)
+ private String name;
+ @Schema(title = "值", required = false)
+ private String value;
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Property.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Property.java
new file mode 100644
index 0000000..29cb56b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Property.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:Property
+ * @Date:2025/03/24 17:00
+ * @Filename:Property
+ * @description:Todo
+ */
+@Data
+@Schema(title = "属性")
+public class Property {
+ @Schema(title = "健", required = false)
+ private String key;
+ @Schema(title = "值", required = false)
+ private String value;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Report.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Report.java
new file mode 100644
index 0000000..7e01128
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Report.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:Report
+ * @Date:2025/03/24 17:01
+ * @Filename:Report
+ * @description:Todo
+ */
+@Data
+@Schema(title = "自定义报告-报告信息")
+public class Report {
+ @Schema(title = "名称", required = true)
+ private String name;
+ @Schema(title = "首页地址", required = true)
+ private String indexFileUrl;
+ @Schema(title = "报告类型", required = true)
+ private String type;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ReviewParam.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ReviewParam.java
new file mode 100644
index 0000000..f7828f6
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ReviewParam.java
@@ -0,0 +1,36 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:ReviewParam
+ * @Date:2025/03/24 17:02
+ * @Filename:ReviewParam
+ * @description:Todo
+ */
+@Data
+@Schema(title = "人工审核插件-审核信息")
+public class ReviewParam {
+ @Schema(title = "项目Id", required = true)
+ private String projectId;
+ @Schema(title = "流水线Id", required = true)
+ private String pipelineId;
+ @Schema(title = "构建Id", required = true)
+ private String buildId;
+ @Schema(title = "审核人", required = true)
+ private List reviewUsers;
+ @Schema(title = "审核结果", required = false)
+ private ManualReviewAction status;
+ @Schema(title = "描述", required = false)
+ private String desc;
+ @Schema(title = "审核意见", required = false)
+ private String suggest;
+ @Schema(title = "参数列表", required = false)
+ private List params;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SetContextVarData.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SetContextVarData.java
new file mode 100644
index 0000000..b655a43
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SetContextVarData.java
@@ -0,0 +1,23 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:SetContextVarData
+ * @Date:2025/03/24 17:02
+ * @Filename:SetContextVarData
+ * @description:Todo
+ */
+@Data
+public class SetContextVarData {
+ private String projectId;
+ private String pipelineId;
+ private String buildId;
+ private String contextName;
+ private String contextVal;
+ private Boolean readOnly;
+ private Boolean rewriteReadOnly;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageQualityRequest.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageQualityRequest.java
new file mode 100644
index 0000000..44daaf9
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageQualityRequest.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:StageQualityRequest
+ * @Date:2025/03/24 17:02
+ * @Filename:StageQualityRequest
+ * @description:Todo
+ */
+@Data
+@Schema(title = "stage准入准出-质量红线触发")
+public class StageQualityRequest {
+ @Schema(title = "准入准出标识", required = true)
+ private String position;
+ @Schema(title = "把关是否通过", required = true)
+ private Boolean pass;
+ @Schema(title = "第几次检查", required = true)
+ private Integer checkTimes;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageTagRequest.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageTagRequest.java
new file mode 100644
index 0000000..cac5661
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageTagRequest.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:StageTagRequest
+ * @Date:2025/03/24 17:03
+ * @Filename:StageTagRequest
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线-阶段标签信息请求体")
+public class StageTagRequest {
+ @Schema(title = "阶段标签名称", required = true)
+ private String stageTagName;
+ @Schema(title = "阶段标签权重", required = true)
+ private Integer weight;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubPipeline.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubPipeline.java
new file mode 100644
index 0000000..4fc9fc4
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubPipeline.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:SubPipeline
+ * @Date:2025/03/24 17:03
+ * @Filename:SubPipeline
+ * @description:Todo
+ */
+@Data
+@Schema(title = "子流水线基本信息")
+public class SubPipeline {
+ @Schema(title = "流水线名称", required = true)
+ private String pipelineName;
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubscriptionType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubscriptionType.java
new file mode 100644
index 0000000..e9fab09
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubscriptionType.java
@@ -0,0 +1,37 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import cd.casic.framework.commons.exception.ServiceException;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:SubscriptionType
+ * @Date:2025/03/24 17:03
+ * @Filename:SubscriptionType
+ * @description:Todo
+ */
+public enum SubscriptionType {
+ ALL(0),
+ ONLY_SUCCESS(1),
+ ONLY_FAILURE(2);
+
+ private final Integer type;
+
+ SubscriptionType(Integer type) {
+ this.type = type;
+ }
+
+ public Integer getType() {
+ return type;
+ }
+
+ public static SubscriptionType toType(Integer type) {
+ for (SubscriptionType subscriptionType : SubscriptionType.values()) {
+ if (subscriptionType.getType().equals(type)) {
+ return subscriptionType;
+ }
+ }
+ throw new ServiceException(-1000, "Unknown subscript type - " + type);
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/TransferResponseResult.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/TransferResponseResult.java
new file mode 100644
index 0000000..132be88
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/TransferResponseResult.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:TransferResponseResult
+ * @Date:2025/03/24 17:04
+ * @Filename:TransferResponseResult
+ * @description:Todo
+ */
+@Data
+@AllArgsConstructor
+@Schema(title = "流水线互转-Response-result")
+public class TransferResponseResult {
+ @Schema(title = "modelAndSetting")
+ private PipelineModelAndSetting modelAndSetting;
+ @Schema(title = "当前yaml内容")
+ private String newYaml;
+ @Schema(title = "定位")
+ private TransferMark mark;
+ @Schema(title = "互转报错信息")
+ private String error;
+ @Schema(title = "是否支持YAML解析", required = true)
+ private Boolean yamlSupported;
+ @Schema(title = "YAML解析异常信息")
+ private String yamlInvalidMsg;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/VmInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/VmInfo.java
new file mode 100644
index 0000000..5717b3f
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/VmInfo.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo
+ * @Project:ops-pro
+ * @name:VmInfo
+ * @Date:2025/03/24 17:05
+ * @Filename:VmInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "Vm信息")
+public class VmInfo {
+ @Schema(title = "IP", required = false)
+ private String ip;
+ @Schema(title = "名称", required = true)
+ private String name;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/Audit.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/Audit.java
new file mode 100644
index 0000000..ea4a09e
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/Audit.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo.audit;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.audit
+ * @Project:ops-pro
+ * @name:Audit
+ * @Date:2025/03/24 19:41
+ * @Filename:Audit
+ * @description:Todo
+ */
+@Data
+@Schema(title = "审计模型-Audit")
+public class Audit {
+ @Schema(title = "资源类型", required = true)
+ private String resourceType;
+ @Schema(title = "资源ID", required = true)
+ private String resourceId;
+ @Schema(title = "资源名称", required = true)
+ private String resourceName;
+ @Schema(title = "操作人", required = true)
+ private String userId;
+ @Schema(title = "操作", required = true)
+ private String action;
+ @Schema(title = "操作内容", required = true)
+ private String actionContent;
+ @Schema(title = "项目id", required = true)
+ private String projectId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditInfo.java
new file mode 100644
index 0000000..a70e72c
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditInfo.java
@@ -0,0 +1,34 @@
+package cd.casic.ci.process.api.process.pojo.audit;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.audit
+ * @Project:ops-pro
+ * @name:AuditInfo
+ * @Date:2025/03/24 19:41
+ * @Filename:AuditInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "审计模型-Audit")
+public class AuditInfo {
+ @Schema(title = "状态", required = true)
+ private String status;
+ @Schema(title = "资源类型", required = true)
+ private String resourceType;
+ @Schema(title = "资源ID", required = true)
+ private String resourceId;
+ @Schema(title = "资源名称", required = true)
+ private String resourceName;
+ @Schema(title = "操作人", required = true)
+ private String userId;
+ @Schema(title = "操作时间", required = true)
+ private Long updatedTime;
+ @Schema(title = "操作", required = true)
+ private String action;
+ @Schema(title = "操作内容", required = true)
+ private String actionContent;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditPage.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditPage.java
new file mode 100644
index 0000000..05fa6e0
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditPage.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo.audit;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.audit
+ * @Project:ops-pro
+ * @name:AuditPage
+ * @Date:2025/03/24 19:42
+ * @Filename:AuditPage
+ * @description:Todo
+ */
+@Schema(title = "Audit分页数据包装模型")
+public class AuditPage {
+ @Schema(title = "总记录行数", required = true)
+ private Long count;
+ @Schema(title = "第几页", required = true)
+ private Integer page;
+ @Schema(title = "每页多少条", required = true)
+ private Integer pageSize;
+ @Schema(title = "总共多少页", required = true)
+ private Integer totalPages;
+ @Schema(title = "数据", required = true)
+ private List records;
+ @Schema(title = "是否拥有创建权限", required = true)
+ private Boolean hasCreatePermission;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/QueryAudit.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/QueryAudit.java
new file mode 100644
index 0000000..c923f57
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/QueryAudit.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo.audit;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.audit
+ * @Project:ops-pro
+ * @name:QueryAudit
+ * @Date:2025/03/24 19:43
+ * @Filename:QueryAudit
+ * @description:Todo
+ */
+@Schema(title = "审计模型-Audit-查询")
+public class QueryAudit {
+ @Schema(title = "项目id", required = true)
+ private String projectId;
+ @Schema(title = "资源类型", required = true)
+ private String resourceType;
+ @Schema(title = "资源ID")
+ private String resourceId;
+ @Schema(title = "资源名称")
+ private String resourceName;
+ @Schema(title = "操作人")
+ private String userId;
+ @Schema(title = "开始时间")
+ private String startTime;
+ @Schema(title = "结束时间")
+ private String endTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroup.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroup.java
new file mode 100644
index 0000000..f124068
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroup.java
@@ -0,0 +1,36 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineGroup
+ * @Date:2025/03/24 19:50
+ * @Filename:PipelineGroup
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线标签组模型")
+public class PipelineGroup {
+ @Schema(title = "id", required = false)
+ private String id;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "名称", required = false)
+ private String name;
+ @Schema(title = "创建时间", required = false)
+ private Long createTime;
+ @Schema(title = "更新时间", required = false)
+ private Long updateTime;
+ @Schema(title = "创建者", required = false)
+ private String createUser;
+ @Schema(title = "更新者", required = false)
+ private String updateUser;
+ @Schema(title = "流水线标签", required = false)
+ private List labels;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupCreate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupCreate.java
new file mode 100644
index 0000000..3b388b1
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupCreate.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineGroupCreate
+ * @Date:2025/03/24 19:50
+ * @Filename:PipelineGroupCreate
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线创建模型")
+public class PipelineGroupCreate {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "名称", required = false)
+ private String name;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupLabels.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupLabels.java
new file mode 100644
index 0000000..b5afd97
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupLabels.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineGroupLabels
+ * @Date:2025/03/24 19:51
+ * @Filename:PipelineGroupLabels
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线标签模型")
+public class PipelineGroupLabels {
+ @Schema(title = "流水线名字", required = false)
+ private String groupName;
+ @Schema(title = "标签名字", required = false)
+ private List labelName;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupUpdate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupUpdate.java
new file mode 100644
index 0000000..03c31fc
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupUpdate.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineGroupUpdate
+ * @Date:2025/03/24 19:51
+ * @Filename:PipelineGroupUpdate
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线更新模型")
+public class PipelineGroupUpdate {
+ @Schema(title = "流水线id", required = false)
+ private String id;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "流水线名字", required = false)
+ private String name;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupWithLabels.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupWithLabels.java
new file mode 100644
index 0000000..1ef2f0f
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupWithLabels.java
@@ -0,0 +1,21 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineGroupWithLabels
+ * @Date:2025/03/24 19:51
+ * @Filename:PipelineGroupWithLabels
+ * @description:Todo
+ */
+@Data
+public class PipelineGroupWithLabels {
+ private String id;
+ private List labels;
+ private List labelNames;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabel.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabel.java
new file mode 100644
index 0000000..9594ff3
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabel.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineLabel
+ * @Date:2025/03/24 19:51
+ * @Filename:PipelineLabel
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线标签")
+public class PipelineLabel {
+ @Schema(title = "标签id", required = false)
+ private String id;
+ @Schema(title = "流水线id", required = false)
+ private String groupId;
+ @Schema(title = "标签名称", required = false)
+ private String name;
+ @Schema(title = "创建时间", required = false)
+ private Long createTime;
+ @Schema(title = "更新时间", required = false)
+ private Long uptimeTime;
+ @Schema(title = "创建者", required = false)
+ private String createUser;
+ @Schema(title = "更新者", required = false)
+ private String updateUser;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelCreate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelCreate.java
new file mode 100644
index 0000000..2167563
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelCreate.java
@@ -0,0 +1,18 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineLabelCreate
+ * @Date:2025/03/24 19:52
+ * @Filename:PipelineLabelCreate
+ * @description:Todo
+ */
+@Data
+public class PipelineLabelCreate {
+ private String groupId;
+ private String name;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelDetail.java
new file mode 100644
index 0000000..a0dc62c
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelDetail.java
@@ -0,0 +1,21 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineLabelDetail
+ * @Date:2025/03/24 19:52
+ * @Filename:PipelineLabelDetail
+ * @description:Todo
+ */
+@Data
+public class PipelineLabelDetail {
+ @Schema(title = "流水线标签信息", required = false)
+ private List pipelineLabelInfo;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelId.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelId.java
new file mode 100644
index 0000000..f86c87a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelId.java
@@ -0,0 +1,17 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineLabelId
+ * @Date:2025/03/24 19:52
+ * @Filename:PipelineLabelId
+ * @description:Todo
+ */
+@Data
+public class PipelineLabelId {
+ private String id;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelUpdate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelUpdate.java
new file mode 100644
index 0000000..fd34984
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelUpdate.java
@@ -0,0 +1,19 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineLabelUpdate
+ * @Date:2025/03/24 19:52
+ * @Filename:PipelineLabelUpdate
+ * @description:Todo
+ */
+@Data
+public class PipelineLabelUpdate {
+ private String id;
+ private String groupId;
+ private String name;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewView.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewView.java
new file mode 100644
index 0000000..38ada3b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewView.java
@@ -0,0 +1,43 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import cd.casic.ci.process.api.process.pojo.classify.enums.Logic;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineNewView
+ * @Date:2025/03/24 19:52
+ * @Filename:PipelineNewView
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图")
+public class PipelineNewView {
+ @Schema(title = "流水线id", required = false)
+ private String id;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "名称", required = false)
+ private String name;
+ @Schema(title = "是否项目", required = false)
+ private Boolean projected;
+ @Schema(title = "创建时间", required = false)
+ private Long createTime;
+ @Schema(title = "更新时间", required = false)
+ private Long updateTime;
+ @Schema(title = "创建者", required = false)
+ private String creator;
+ @Schema(title = "逻辑符", required = false)
+ private Logic logic;
+ @Schema(title = "流水线视图过滤器列表", required = false)
+ private List filters;
+ @Schema(title = "视图类型", required = true)
+ private Integer viewType;
+ @Schema(title = "流水线ID列表", required = true)
+ private List pipelineIds;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewViewSummary.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewViewSummary.java
new file mode 100644
index 0000000..0b0d335
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewViewSummary.java
@@ -0,0 +1,40 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineNewViewSummary
+ * @Date:2025/03/24 19:53
+ * @Filename:PipelineNewViewSummary
+ * @description:Todo
+ */
+@Data
+@Schema(title = "")
+public class PipelineNewViewSummary {
+ @Schema(title = "视图id", required = false)
+ private String id;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "视图名称", required = false)
+ private String name;
+ @Schema(title = "是否项目", required = false)
+ private Boolean projected;
+ @Schema(title = "创建时间", required = false)
+ private Long createTime;
+ @Schema(title = "更新时间", required = false)
+ private Long updateTime;
+ @Schema(title = "创建者", required = false)
+ private String creator;
+ @Schema(title = "是否置顶", required = false)
+ private Boolean top = false;
+ @Schema(title = "流水线组类型,1--动态,2--静态", required = true)
+ private Integer viewType;
+ @Schema(title = "流水线个数", required = true)
+ private Integer pipelineCount;
+ @Schema(title = "是否是PAC流水线组", required = true)
+ private Boolean pac = false;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineView.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineView.java
new file mode 100644
index 0000000..75599ba
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineView.java
@@ -0,0 +1,38 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineView
+ * @Date:2025/03/24 19:53
+ * @Filename:PipelineView
+ * @description:Todo
+ */
+@Data
+@Schema(title = "用户当前视图")
+public class PipelineView {
+ @Schema(title = "视图id", required = false)
+ private String id;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "视图名称", required = false)
+ private String name;
+ @Schema(title = "是否项目", required = false)
+ private Boolean projected;
+ @Schema(title = "创建时间", required = false)
+ private Long createTime;
+ @Schema(title = "更新时间", required = false)
+ private Long updateTime;
+ @Schema(title = "按流水线名过滤", required = false)
+ private String filterByPipelineName;
+ @Schema(title = "按创建人过滤", required = false)
+ private List filterByCreator;
+ @Schema(title = "流水线分组列表", required = false)
+ private List groups;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewAndPipelines.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewAndPipelines.java
new file mode 100644
index 0000000..d49a2d1
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewAndPipelines.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewAndPipelines
+ * @Date:2025/03/24 19:53
+ * @Filename:PipelineViewAndPipelines
+ * @description:Todo
+ */
+
+@Data
+@Schema(title = "")
+public class PipelineViewAndPipelines {
+ @Schema(title = "当前视图id", required = false)
+ private String currentViewId;
+ @Schema(title = "视图列表", required = false)
+ private List viewList;
+ @Schema(title = "流水线页面", required = false)
+ private PipelineViewPipelinePage pipelinePage;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkAdd.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkAdd.java
new file mode 100644
index 0000000..a683127
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkAdd.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewBulkAdd
+ * @Date:2025/03/24 19:54
+ * @Filename:PipelineViewBulkAdd
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线组批量添加")
+public class PipelineViewBulkAdd {
+ @Schema(title = "流水线ID列表")
+ private List pipelineIds;
+ @Schema(title = "视图ID列表")
+ private List viewIds;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkRemove.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkRemove.java
new file mode 100644
index 0000000..689e190
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkRemove.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewBulkRemove
+ * @Date:2025/03/24 20:00
+ * @Filename:PipelineViewBulkRemove
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线组批量移除")
+public class PipelineViewBulkRemove {
+ @Schema(title = "流水线ID列表")
+ private List pipelineIds;
+ @Schema(title = "视图ID")
+ private String viewId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewClassify.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewClassify.java
new file mode 100644
index 0000000..d715911
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewClassify.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewClassify
+ * @Date:2025/03/24 20:00
+ * @Filename:PipelineViewClassify
+ * @description:Todo
+ */
+@Data
+public class PipelineViewClassify {
+ private String label;
+ private List viewList;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewCreate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewCreate.java
new file mode 100644
index 0000000..b1a7d6a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewCreate.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewCreate
+ * @Date:2025/03/24 20:01
+ * @Filename:PipelineViewCreate
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图创建模型")
+public class PipelineViewCreate {
+ private String projectId;
+ private String name;
+ private Boolean projected = false;
+ private String filterByPipelineName;
+ private List filterByCreator;
+ private List labels;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewDict.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewDict.java
new file mode 100644
index 0000000..41f39f7
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewDict.java
@@ -0,0 +1,48 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewDict
+ * @Date:2025/03/24 20:01
+ * @Filename:PipelineViewDict
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线组与流水线的对应关系")
+public class PipelineViewDict {
+ @Schema(title = "个人流水线组列表")
+ private List personalViewList;
+ @Schema(title = "项目流水线列表")
+ private List projectViewList;
+ @Data
+ @Schema(title = "流水线组信息")
+ public static class ViewInfo {
+ @Schema(title = "流水线组ID")
+ private String viewId;
+ @Schema(title = "流水线组名")
+ private String viewName;
+ @Schema(title = "流水线列表")
+ private List pipelineList;
+ @Data
+ @Schema(title = "流水线信息")
+ public static class PipelineInfo {
+ @Schema(title = "流水线ID")
+ private String pipelineId;
+ @Schema(title = "流水线名称")
+ private String pipelineName;
+ @Schema(title = "流水线组ID")
+ private String viewId;
+ @Schema(title = "是否删除")
+ private Boolean delete;
+ }
+ }
+
+ public static final PipelineViewDict EMPTY = new PipelineViewDict();
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilter.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilter.java
new file mode 100644
index 0000000..ab02de3
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilter.java
@@ -0,0 +1,25 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewFilter
+ * @Date:2025/03/24 20:01
+ * @Filename:PipelineViewFilter
+ * @description:Todo
+ */
+@Data
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type")
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = PipelineViewFilterByName.class, name = PipelineViewFilterByName.CLASS_TYPE),
+ @JsonSubTypes.Type(value = PipelineViewFilterByCreator.class, name = PipelineViewFilterByCreator.CLASS_TYPE),
+ @JsonSubTypes.Type(value = PipelineViewFilterByLabel.class, name = PipelineViewFilterByLabel.CLASS_TYPE),
+ @JsonSubTypes.Type(value = PipelineViewFilterByPacRepo.class, name = PipelineViewFilterByPacRepo.CLASS_TYPE)
+})
+public abstract class PipelineViewFilter {
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByCreator.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByCreator.java
new file mode 100644
index 0000000..535bfb0
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByCreator.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewFilterByCreator
+ * @Date:2025/03/24 20:02
+ * @Filename:PipelineViewFilterByCreator
+ * @description:Todo
+ */
+
+@Data
+@Schema(title = "流水线视图-通过创建者过滤", description = PipelineViewFilterByCreator.CLASS_TYPE)
+public class PipelineViewFilterByCreator extends PipelineViewFilter {
+ public static final String CLASS_TYPE = "filterByCreator";
+ @Schema(title = "条件", required = false)
+ private Condition condition;
+ @Schema(title = "用户id 列表", required = false)
+ private List userIds;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByLabel.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByLabel.java
new file mode 100644
index 0000000..af5f854
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByLabel.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewFilterByLabel
+ * @Date:2025/03/24 20:02
+ * @Filename:PipelineViewFilterByLabel
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图-通过label过滤", description = PipelineViewFilterByLabel.CLASS_TYPE)
+public class PipelineViewFilterByLabel extends PipelineViewFilter {
+ public static final String CLASS_TYPE = "filterByLabel";
+ @Schema(title = "条件", required = false)
+ private Condition condition;
+ @Schema(title = "流水线id", required = false)
+ private String groupId;
+ @Schema(title = "标签id列表", required = false)
+ private List labelIds;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByName.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByName.java
new file mode 100644
index 0000000..81a336e
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByName.java
@@ -0,0 +1,23 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewFilterByName
+ * @Date:2025/03/24 20:02
+ * @Filename:PipelineViewFilterByName
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图-通过名字过滤", description = PipelineViewFilterByName.CLASS_TYPE)
+public class PipelineViewFilterByName extends PipelineViewFilter {
+ public static final String CLASS_TYPE = "filterByName";
+ @Schema(title = "条件", required = false)
+ private Condition condition;
+ @Schema(title = "流水线名字", required = false)
+ private String pipelineName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByPacRepo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByPacRepo.java
new file mode 100644
index 0000000..ba9d155
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByPacRepo.java
@@ -0,0 +1,25 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewFilterByPacRepo
+ * @Date:2025/03/24 20:05
+ * @Filename:PipelineViewFilterByPacRepo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图-通过PAC仓库过滤", description = "filterByPacRepo")
+public class PipelineViewFilterByPacRepo extends PipelineViewFilter {
+ @Schema(title = "条件", required = false)
+ private Condition condition;
+ @Schema(title = "代码库HashId", required = false)
+ private String repoHashId;
+ @Schema(title = "文件夹名称", required = false)
+ private String directory;
+ public static final String classType = "filterByPacRepo";
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewForm.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewForm.java
new file mode 100644
index 0000000..b01c4ee
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewForm.java
@@ -0,0 +1,37 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import cd.casic.ci.process.api.process.constant.PipelineViewType;
+import cd.casic.ci.process.api.process.pojo.classify.enums.Logic;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewForm
+ * @Date:2025/03/24 20:05
+ * @Filename:PipelineViewForm
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图表单")
+public class PipelineViewForm {
+ @Schema(title = "ID", required = false)
+ private String id;
+ @Schema(title = "视图名称", required = false)
+ private String name;
+ @Schema(title = "是否项目", required = false)
+ private boolean projected;
+ @Schema(title = "流水线组类型,1--动态,2--静态")
+ private int viewType = PipelineViewType.UNCLASSIFIED;
+ @Schema(title = "逻辑符", required = false)
+ private Logic logic = Logic.AND;
+ @Schema(title = "流水线视图过滤器列表", required = false)
+ private List filters = Collections.emptyList();
+ @Schema(title = "流水线列表", required = false)
+ private List pipelineIds = Collections.emptyList();
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewHitFilters.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewHitFilters.java
new file mode 100644
index 0000000..1206c2a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewHitFilters.java
@@ -0,0 +1,45 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewHitFilters
+ * @Date:2025/03/24 20:05
+ * @Filename:PipelineViewHitFilters
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线组命中情况")
+public class PipelineViewHitFilters {
+ @Schema(title = "条件列表")
+ private List filters = new ArrayList<>();
+ @Schema(title = "条件关系")
+ private String logic;
+
+ @Data
+ public static class FilterInfo {
+ @Schema(title = "关键字")
+ private String key;
+ @Schema(title = "命中列表")
+ private List hits = new ArrayList<>();
+
+ @Data
+ public static class Hit {
+ @Schema(title = "是否命中")
+ private boolean hit;
+ @Schema(title = "对应的值")
+ private String value;
+ }
+ }
+
+ public static final PipelineViewHitFilters EMPTY = new PipelineViewHitFilters();
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewId.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewId.java
new file mode 100644
index 0000000..c66b103
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewId.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewId
+ * @Date:2025/03/24 20:06
+ * @Filename:PipelineViewId
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图ID")
+public class PipelineViewId {
+ @Schema(title = "ID")
+ private String id;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewIdAndName.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewIdAndName.java
new file mode 100644
index 0000000..2067869
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewIdAndName.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewIdAndName
+ * @Date:2025/03/24 20:06
+ * @Filename:PipelineViewIdAndName
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线视图ID和名称")
+public class PipelineViewIdAndName {
+ @Schema(title = "ID")
+ private String id;
+ @Schema(title = "名称")
+ private String name;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewMatchDynamic.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewMatchDynamic.java
new file mode 100644
index 0000000..a5b822a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewMatchDynamic.java
@@ -0,0 +1,33 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewMatchDynamic
+ * @Date:2025/03/24 20:06
+ * @Filename:PipelineViewMatchDynamic
+ * @description:Todo
+ */
+@Data
+@Schema(title = "命中动态组情况")
+public class PipelineViewMatchDynamic {
+ @Schema(title = "流水线名称")
+ private String pipelineName;
+ @Schema(title = "标签列表")
+ private List labels;
+
+ @Data
+ @Schema(title = "标签信息")
+ public static class LabelInfo {
+ @Schema(title = "标签分组id", required = false)
+ private String groupId;
+ @Schema(title = "标签id列表", required = false)
+ private List labelIds;
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelineCount.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelineCount.java
new file mode 100644
index 0000000..b0d68b2
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelineCount.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewPipelineCount
+ * @Date:2025/03/24 20:07
+ * @Filename:PipelineViewPipelineCount
+ * @description:Todo
+ */
+@Data
+@AllArgsConstructor
+@Schema(title = "流水线组--详细数目")
+public class PipelineViewPipelineCount {
+ @Schema(title = "可查看流水线数目")
+ private int normalCount;
+ @Schema(title = "已删除流水线数目")
+ private int deleteCount;
+
+ public static final PipelineViewPipelineCount DEFAULT = new PipelineViewPipelineCount(0, 0);
+
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelinePage.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelinePage.java
new file mode 100644
index 0000000..9d15188
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelinePage.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewPipelinePage
+ * @Date:2025/03/24 20:07
+ * @Filename:PipelineViewPipelinePage
+ * @description:Todo
+ */
+@Data
+@AllArgsConstructor
+@Schema(title = "Pipeline分页数据包装模型")
+public class PipelineViewPipelinePage {
+ @Schema(title = "总记录行数", required = true)
+ private long count;
+ @Schema(title = "第几页", required = true)
+ private int page;
+ @Schema(title = "每页多少条", required = true)
+ private int pageSize;
+ @Schema(title = "总共多少页", required = true)
+ private int totalPages;
+ @Schema(title = "数据", required = true)
+ private List records;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPreview.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPreview.java
new file mode 100644
index 0000000..64efb48
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPreview.java
@@ -0,0 +1,41 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewPreview
+ * @Date:2025/03/24 20:08
+ * @Filename:PipelineViewPreview
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "Pipeline视图预览")
+public class PipelineViewPreview {
+ @Schema(title = "新增的流水线ID列表", required = true)
+ private List addedPipelineInfos = Collections.emptyList();
+ @Schema(title = "删除的流水线ID列表", required = true)
+ private List removedPipelineInfos = Collections.emptyList();
+ @Schema(title = "保留的流水线ID列表", required = true)
+ private List reservePipelineInfos = Collections.emptyList();
+
+ @Data
+ public static class PipelineInfo {
+ @Schema(title = "名称", required = true)
+ private String pipelineName;
+ @Schema(title = "ID", required = true)
+ private String pipelineId;
+ @Schema(title = "是否删除", required = true)
+ private boolean delete;
+ }
+
+ public static final PipelineViewPreview EMPTY = new PipelineViewPreview();
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewSettings.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewSettings.java
new file mode 100644
index 0000000..e0933ba
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewSettings.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewSettings
+ * @Date:2025/03/24 20:08
+ * @Filename:PipelineViewSettings
+ * @description:Todo
+ */
+
+@Data
+@Schema(title = "流水线视图设置模型")
+public class PipelineViewSettings {
+ @Schema(title = "当前视图id", required = false)
+ private String currentViewId;
+ @Schema(title = "当前视图列表", required = false)
+ private List currentViews;
+ @Schema(title = "视图分类列表:项目视图,系统视图,个人视图等分类。分类下包含下面的视图", required = false)
+ private List viewClassifies;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewTopForm.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewTopForm.java
new file mode 100644
index 0000000..6eea204
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewTopForm.java
@@ -0,0 +1,21 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewTopForm
+ * @Date:2025/03/24 20:08
+ * @Filename:PipelineViewTopForm
+ * @description:Todo
+ */
+
+@Data
+@Schema(title = "流水线视图表单")
+public class PipelineViewTopForm {
+ @Schema(title = "是否生效", required = true)
+ private boolean enabled;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewUpdate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewUpdate.java
new file mode 100644
index 0000000..3ebab62
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewUpdate.java
@@ -0,0 +1,35 @@
+package cd.casic.ci.process.api.process.pojo.classify;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify
+ * @Project:ops-pro
+ * @name:PipelineViewUpdate
+ * @Date:2025/03/24 20:08
+ * @Filename:PipelineViewUpdate
+ * @description:Todo
+ */
+
+@Data
+@Schema(title = "流水线视图更新模型")
+public class PipelineViewUpdate {
+ @Schema(title = "视图id", required = false)
+ private String id;
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "视图名称", required = false)
+ private String name;
+ @Schema(title = "是否项目", required = false)
+ private boolean projected = false;
+ @Schema(title = "按流水线名过滤", required = false)
+ private String filterByPipelineName;
+ @Schema(title = "按创建人过滤", required = false)
+ private List filterByCreator;
+ @Schema(title = "标签列表", required = false)
+ private List labels;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Condition.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Condition.java
new file mode 100644
index 0000000..fd2ae78
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Condition.java
@@ -0,0 +1,19 @@
+package cd.casic.ci.process.api.process.pojo.classify.enums;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify.enums
+ * @Project:ops-pro
+ * @name:Condition
+ * @Date:2025/03/24 19:49
+ * @Filename:Condition
+ * @description:Todo
+ */
+public enum Condition {
+ LIKE,
+ NOT_LIKE,
+ EQUAL,
+ NOT_EQUAL,
+ INCLUDE,
+ NOT_INCLUDE;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Logic.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Logic.java
new file mode 100644
index 0000000..7f72c0b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Logic.java
@@ -0,0 +1,15 @@
+package cd.casic.ci.process.api.process.pojo.classify.enums;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.classify.enums
+ * @Project:ops-pro
+ * @name:Logic
+ * @Date:2025/03/24 19:48
+ * @Filename:Logic
+ * @description:Todo
+ */
+public enum Logic {
+ AND,
+ OR;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/PipelineBuildCommit.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/PipelineBuildCommit.java
new file mode 100644
index 0000000..3be4584
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/PipelineBuildCommit.java
@@ -0,0 +1,33 @@
+package cd.casic.ci.process.api.process.pojo.code;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.code
+ * @Project:ops-pro
+ * @name:PipelineBuildCommit
+ * @Date:2025/03/24 20:15
+ * @Filename:PipelineBuildCommit
+ * @description:Todo
+ */
+@Data
+@Schema(title = "构建提交信息")
+public class PipelineBuildCommit {
+ private String projectId;
+ private String pipelineId;
+ private String buildId;
+ private String commitId;
+ private String authorName;
+ private String message;
+ private String repoType;
+ private LocalDateTime commitTime;
+ private String url;
+ private String eventType;
+ private String mrId;
+ private String channel;
+ private String action;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookBuildResult.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookBuildResult.java
new file mode 100644
index 0000000..2c20039
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookBuildResult.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo.code;
+
+import cd.casic.ci.process.api.process.pojo.BuildId;
+import cd.casic.ci.process.api.process.pojo.trigger.PipelineTriggerReasonDetail;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.code
+ * @Project:ops-pro
+ * @name:WebhookBuildResult
+ * @Date:2025/03/24 20:16
+ * @Filename:WebhookBuildResult
+ * @description:Todo
+ */
+@Data
+@Schema(title = "webhook触发结果")
+public class WebhookBuildResult {
+ @Schema(title = "触发结果")
+ private boolean result;
+ @Schema(title = "流水线信息")
+ private PipelineInfo pipelineInfo;
+ @Schema(title = "触发buildId")
+ private BuildId buildId;
+ @Schema(title = "触发失败原因")
+ private PipelineTriggerReasonDetail reasonDetail;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookCommit.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookCommit.java
new file mode 100644
index 0000000..358ee4b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookCommit.java
@@ -0,0 +1,29 @@
+package cd.casic.ci.process.api.process.pojo.code;
+
+import cd.casic.ci.log.scm.enums.RepositoryConfig;
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.code
+ * @Project:ops-pro
+ * @name:WebhookCommit
+ * @Date:2025/03/24 20:16
+ * @Filename:WebhookCommit
+ * @description:Todo
+ */
+@Data
+public class WebhookCommit {
+ private String userId;
+ private String pipelineId;
+ private Integer version;
+ private Map params;
+ private RepositoryConfig repositoryConfig;
+ private String repoName;
+ private String commitId;
+ private boolean block;
+ private CodeEventType eventType;
+ private CodeType codeType;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookInfo.java
new file mode 100644
index 0000000..5016bfa
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookInfo.java
@@ -0,0 +1,73 @@
+package cd.casic.ci.process.api.process.pojo.code;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.code
+ * @Project:ops-pro
+ * @name:WebhookInfo
+ * @Date:2025/03/24 20:16
+ * @Filename:WebhookInfo
+ * @description:Todo
+ */
+@Data
+public class WebhookInfo {
+ @Schema(title = "代码库类型", required = true)
+ private String codeType; // CodeType.name
+ @Schema(title = "代码库完整名称", required = true)
+ private String nameWithNamespace;
+ @Schema(title = "仓库url链接", required = false)
+ private String webhookRepoUrl;
+ @Schema(title = "分支名(目标分支)", required = false)
+ private String webhookBranch;
+ @Schema(title = "别名", required = false)
+ private String webhookAliasName;
+ @Schema(title = "webhook类型", required = false)
+ private String webhookType;
+ @Schema(title = "事件类型", required = false)
+ private String webhookEventType;
+ @Schema(title = "提交信息", required = false)
+ private String webhookMessage;
+ @Schema(title = "提交信息id", required = false)
+ private String webhookCommitId;
+ @Schema(title = "参考信息(commit_id,mr_id,tag,issue_id,review_id,note_id等)", required = true)
+ private String refId;
+ @Schema(title = "合并后commitId", required = false)
+ private String webhookMergeCommitSha;
+ @Schema(title = "源分支", required = false)
+ private String webhookSourceBranch;
+ @Schema(title = "mr id", required = false)
+ private String mrId;
+ @Schema(title = "mr iid", required = false)
+ private String mrIid;
+ @Schema(title = "mr url", required = false)
+ private String mrUrl;
+ @Schema(title = "webhook仓库授权用户", required = false)
+ private String repoAuthUser;
+ @Schema(title = "tag 名称", required = false)
+ private String tagName;
+ @Schema(title = "issue iid", required = false)
+ private String issueIid;
+ @Schema(title = "note id", required = false)
+ private String noteId;
+ @Schema(title = "review id", required = false)
+ private String reviewId;
+ @Schema(title = "父流水线项目ID", required = false)
+ private String parentProjectId;
+ @Schema(title = "父流水线流水线ID", required = false)
+ private String parentPipelineId;
+ @Schema(title = "父流水线名称", required = false)
+ private String parentPipelineName;
+ @Schema(title = "父流水线buildId", required = false)
+ private String parentBuildId;
+ @Schema(title = "父流水线构建号", required = false)
+ private String parentBuildNum;
+ @Schema(title = "触发材料url", required = false)
+ private String linkUrl;
+ @Schema(title = "自定义触发材料ID", required = false)
+ private String materialId;
+ @Schema(title = "自定义触发材料名", required = false)
+ private String materialName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/JobCommonSetting.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/JobCommonSetting.java
new file mode 100644
index 0000000..d8ec305
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/JobCommonSetting.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:JobCommonSetting
+ * @Date:2025/03/24 20:20
+ * @Filename:JobCommonSetting
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线job公共配置信息")
+public class JobCommonSetting {
+ @Schema(title = "每个job最大task个数", required = true)
+ private int maxTaskNum;
+ @Schema(title = "task公共配置", required = true)
+ private TaskCommonSetting taskCommonSetting;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineBranchVersion.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineBranchVersion.java
new file mode 100644
index 0000000..d4b9506
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineBranchVersion.java
@@ -0,0 +1,36 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:PipelineBranchVersion
+ * @Date:2025/03/24 20:21
+ * @Filename:PipelineBranchVersion
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线分支版本")
+public class PipelineBranchVersion {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "分支名", required = false)
+ private String branch;
+ @Schema(title = "版本号", required = false)
+ private int version;
+ @Schema(title = "创建者", required = false)
+ private String creator;
+ @Schema(title = "更新者", required = false)
+ private String updater;
+ @Schema(title = "创建时间", required = false)
+ private LocalDateTime createTime;
+ @Schema(title = "更新时间", required = false)
+ private LocalDateTime updateTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineCommonSetting.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineCommonSetting.java
new file mode 100644
index 0000000..eac9cea
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineCommonSetting.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:PipelineCommonSetting
+ * @Date:2025/03/24 20:21
+ * @Filename:PipelineCommonSetting
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线公共配置信息")
+public class PipelineCommonSetting {
+ @Schema(title = "每条流水线最大stage个数", required = true)
+ private int maxStageNum;
+ @Schema(title = "流水线stage公共配置信息", required = true)
+ private StageCommonSetting stageCommonSetting;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineModelVersion.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineModelVersion.java
new file mode 100644
index 0000000..d29c2aa
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineModelVersion.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:PipelineModelVersion
+ * @Date:2025/03/24 20:21
+ * @Filename:PipelineModelVersion
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线模型版本")
+public class PipelineModelVersion {
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "流水线创建人", required = true)
+ private String creator;
+ @Schema(title = "流水线模型", required = true)
+ private String model;
+ @Schema(title = "流水线模型版本", required = false)
+ private Integer version;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineResourceAndSetting.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineResourceAndSetting.java
new file mode 100644
index 0000000..8635492
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineResourceAndSetting.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import cd.casic.ci.process.api.process.pojo.PipelineDetail;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.Valid;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:PipelineResourceAndSetting
+ * @Date:2025/03/24 20:21
+ * @Filename:PipelineResourceAndSetting
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线资源与设置")
+public class PipelineResourceAndSetting {
+ @Schema(title = "流水线模型", required = true)
+ private PipelineDetail pipelineInfo;
+ @Schema(title = "流水线资源版本", required = true)
+ private PipelineResourceVersion pipelineResource;
+ @Schema(title = "流水线设置", required = false)
+ @Valid
+ private PipelineSetting setting;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineRunType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineRunType.java
new file mode 100644
index 0000000..6272120
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineRunType.java
@@ -0,0 +1,42 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:PipelineRunType
+ * @Date:2025/03/24 20:22
+ * @Filename:PipelineRunType
+ * @description:Todo
+ */
+public enum PipelineRunType {
+ @Schema(title = "可同时运行多个构建任务(默认)")
+ MULTIPLE,
+ @Schema(title = "同一时间最多只能运行一个构建任务")
+ SINGLE,
+ @Schema(title = "最多只能运行一个构建任务,且失败时锁定")
+ SINGLE_LOCK,
+ @Schema(title = "锁定流水线,任何触发方式都无法运行")
+ LOCK;
+ public static int toValue(PipelineRunType type) {
+ return switch (type) {
+ case MULTIPLE -> 1;
+ case SINGLE -> 2;
+ case SINGLE_LOCK -> 3;
+ case LOCK -> 4;
+ default -> 1;
+ };
+ }
+
+ public static PipelineRunType valueOf(int value) {
+ return switch (value) {
+ case 1 -> MULTIPLE;
+ case 2 -> SINGLE;
+ case 3 -> SINGLE_LOCK;
+ case 4 -> LOCK;
+ default -> MULTIPLE;
+ };
+ }
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineSettingVersion.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineSettingVersion.java
new file mode 100644
index 0000000..91d79e8
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineSettingVersion.java
@@ -0,0 +1,56 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import cd.casic.ci.commons.enums.BkStyleEnum;
+import cd.casic.ci.project.dal.pojo.PipelineAsCodeSettings;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:PipelineSettingVersion
+ * @Date:2025/03/24 20:22
+ * @Filename:PipelineSettingVersion
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线版本记录")
+public class PipelineSettingVersion {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "流水线名称", required = false)
+ private String pipelineName;
+ @Schema(title = "版本", required = false)
+ private int version;
+ @Schema(title = "描述", required = false)
+ private String desc;
+ @Schema(title = "标签列表", required = false)
+ private List labels;
+ @Schema(title = "构建号生成规则", required = false)
+ //@Field(patternStyle = BkStyleEnum.BUILD_NUM_RULE_STYLE, required = false)
+ private String buildNumRule;
+ @Schema(title = "订阅成功通知组", required = false)
+ private List successSubscriptionList;
+ @Schema(title = "订阅失败通知组", required = false)
+ private List failSubscriptionList;
+ @Schema(title = "Lock 类型", required = false)
+ private PipelineRunLockType runLockType;
+ @Schema(title = "最大排队时长", required = false)
+ private Integer waitQueueTimeMinute;
+ @Schema(title = "最大排队数量", required = false)
+ private Integer maxQueueSize;
+ @Schema(title = "并发时,设定的group", required = false)
+ //@Field(patternStyle = BkStyleEnum.PIPELINE_CONCURRENCY_GROUP_STYLE, required = false)
+ private String concurrencyGroup;
+ @Schema(title = "并发时,是否相同group取消正在执行的流水线", required = false)
+ private Boolean concurrencyCancelInProgress;
+ @Schema(title = "并发构建数量限制", required = false)
+ private Integer maxConRunningQueueSize;
+ @Schema(title = "YAML流水线特殊配置", required = false)
+ private PipelineAsCodeSettings pipelineAsCodeSettings;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineVersionSimple.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineVersionSimple.java
new file mode 100644
index 0000000..c3cf573
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineVersionSimple.java
@@ -0,0 +1,58 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:PipelineVersionSimple
+ * @Date:2025/03/24 20:23
+ * @Filename:PipelineVersionSimple
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线版本摘要")
+public class PipelineVersionSimple {
+ @Schema(title = "流水线ID", required = true)
+ private String pipelineId;
+ @Schema(title = "流水线创建人", required = true)
+ private String creator;
+ @Schema(title = "创建时间戳", required = true)
+ private long createTime;
+ @Schema(title = "更新操作人", required = true)
+ private String updater;
+ @Schema(title = "更新时间戳", required = true)
+ private Long updateTime;
+ @Schema(title = "流水线版本号", required = true)
+ private int version;
+ @Schema(title = "流水线版本名称", required = true)
+ private String versionName;
+ @Schema(title = "YAML编排版本", required = false)
+ private String yamlVersion;
+ @Schema(title = "是否还有构建记录引用该版本标识", required = false)
+ private Boolean referFlag;
+ @Schema(title = "关联构建记录总数", required = false)
+ private Integer referCount;
+ @Schema(title = "发布版本号", required = false)
+ private Integer versionNum;
+ @Schema(title = "编排版本号", required = false)
+ private Integer pipelineVersion;
+ @Schema(title = "触发器版本号", required = false)
+ private Integer triggerVersion;
+ @Schema(title = "配置版本号", required = false)
+ private Integer settingVersion;
+ @Schema(title = "草稿版本标识", required = false)
+ private VersionStatus status;
+ @Schema(title = "版本变更说明", required = false)
+ private String description;
+ @Schema(title = "调试构建ID", required = false)
+ private String debugBuildId;
+ @Schema(title = "该版本的来源版本(空时一定为主路径)", required = false)
+ private Integer baseVersion;
+ @Schema(title = "基准版本的版本名称")
+ private String baseVersionName;
+ @Schema(title = "当前最新正式版本标识", required = false)
+ private Boolean latestReleasedFlag;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/StageCommonSetting.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/StageCommonSetting.java
new file mode 100644
index 0000000..0fed264
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/StageCommonSetting.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:StageCommonSetting
+ * @Date:2025/03/24 20:24
+ * @Filename:StageCommonSetting
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线stage公共配置信息")
+public class StageCommonSetting {
+ @Schema(title = "每个stage最大job个数", required = true)
+ private int maxJobNum;
+ @Schema(title = "job公共配置", required = true)
+ private JobCommonSetting jobCommonSetting;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/SubscriptionResponse.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/SubscriptionResponse.java
new file mode 100644
index 0000000..db35d21
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/SubscriptionResponse.java
@@ -0,0 +1,35 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import com.google.common.collect.Lists;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.val;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:SubscriptionResponse
+ * @Date:2025/03/24 20:25
+ * @Filename:SubscriptionResponse
+ * @description:Todo
+ */
+@Data
+@Schema(title = "设置-订阅消息")
+public class SubscriptionResponse {
+ @Schema(title = "通知人员", required = false)
+ private String users = "";
+ @Schema(title = "通知方式(email, rtx)", required = true)
+ private List types = new CopyOnWriteArrayList();
+ @Schema(title = "分组id", required = false)
+ private List groups = List.of();
+ @Schema(title = "通知内容带上流水线详情连接", required = false)
+ private Boolean detailFlag = false;
+ @Schema(title = "自定义通知内容", required = false)
+ private String content = "";
+
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskCommonSetting.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskCommonSetting.java
new file mode 100644
index 0000000..679f636
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskCommonSetting.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:TaskCommonSetting
+ * @Date:2025/03/24 20:37
+ * @Filename:TaskCommonSetting
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线task公共配置信息")
+public class TaskCommonSetting {
+ @Schema(title = "最大输入参数个数", required = true)
+ private int maxInputNum;
+ @Schema(title = "最大输出参数个数", required = true)
+ private int maxOutputNum;
+ @Schema(title = "输入参数组件配置", required = true)
+ private List inputComponentCommonSettings;
+ @Schema(title = "输出参数组件配置", required = true)
+ private List outputComponentCommonSettings;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskComponentCommonSetting.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskComponentCommonSetting.java
new file mode 100644
index 0000000..40e860a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskComponentCommonSetting.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:TaskComponentCommonSetting
+ * @Date:2025/03/24 20:37
+ * @Filename:TaskComponentCommonSetting
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线task组件公共配置信息")
+public class TaskComponentCommonSetting {
+ @Schema(title = "组件类型", required = true)
+ private String componentType;
+ @Schema(title = "组件大小最大值(单位:字符)", required = true)
+ private int maxSize;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/UpdatePipelineModelRequest.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/UpdatePipelineModelRequest.java
new file mode 100644
index 0000000..32b58ca
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/UpdatePipelineModelRequest.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.setting;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.setting
+ * @Project:ops-pro
+ * @name:UpdatePipelineModelRequest
+ * @Date:2025/03/24 20:38
+ * @Filename:UpdatePipelineModelRequest
+ * @description:Todo
+ */
+@Data
+@Schema(title = "更新流水线模型请求报文")
+public class UpdatePipelineModelRequest {
+ @Schema(title = "流水线模型版本集合", required = true)
+ private List pipelineModelVersionList;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/PipelineBuildTaskInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/PipelineBuildTaskInfo.java
new file mode 100644
index 0000000..084bebc
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/PipelineBuildTaskInfo.java
@@ -0,0 +1,75 @@
+package cd.casic.ci.process.api.process.pojo.task;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.lang.model.type.ErrorType;
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.task
+ * @Project:ops-pro
+ * @name:PipelineBuildTaskInfo
+ * @Date:2025/03/24 20:40
+ * @Filename:PipelineBuildTaskInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线构建任务信息")
+public class PipelineBuildTaskInfo {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "模板id", required = false)
+ private String templateId;
+ @Schema(title = "构建id", required = false)
+ private String buildId;
+ @Schema(title = "阶段id", required = false)
+ private String stageId;
+ @Schema(title = "容器id", required = false)
+ private String containerId;
+ @Schema(title = "容器hash id", required = false)
+ private String containerHashId;
+ @Schema(title = "容器类型", required = false)
+ private String containerType;
+ @Schema(title = "任务序列", required = false)
+ private int taskSeq;
+ @Schema(title = "任务id", required = false)
+ private String taskId;
+ @Schema(title = "任务名称", required = false)
+ private String taskName;
+ @Schema(title = "任务类型", required = false)
+ private String taskType;
+ @Schema(title = "任务atom代码", required = false)
+ private String taskAtom;
+ @Schema(title = "状态", required = false)
+ private BuildStatus status;
+ @Schema(title = "任务参数集合", required = false)
+ private Map taskParams;
+ @Schema(title = "其他选项", required = false)
+ private ElementAdditionalOptions additionalOptions;
+ @Schema(title = "执行次数", required = false)
+ private Integer executeCount = 1;
+ @Schema(title = "启动者", required = false)
+ private String starter;
+ @Schema(title = "审批人", required = false)
+ private String approver;
+ @Schema(title = "子构建id", required = false)
+ private String subBuildId;
+ @Schema(title = "启动时间", required = false)
+ private Long startTime;
+ @Schema(title = "结束时间", required = false)
+ private Long endTime;
+ @Schema(title = "错误类型", required = false)
+ private ErrorType errorType;
+ @Schema(title = "错误代码", required = false)
+ private Integer errorCode;
+ @Schema(title = "错误信息", required = false)
+ private String errorMsg;
+
+ public String getTaskParam(String paramName) {
+ return taskParams.getOrDefault(paramName, "").toString().trim();
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/TaskBuildEndParam.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/TaskBuildEndParam.java
new file mode 100644
index 0000000..faf5fd7
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/TaskBuildEndParam.java
@@ -0,0 +1,42 @@
+package cd.casic.ci.process.api.process.pojo.task;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.lang.model.type.ErrorType;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.process.api.process.pojo.task
+ * @Project:ops-pro
+ * @name:TaskBuildEndParam
+ * @Date:2025/03/24 20:41
+ * @Filename:TaskBuildEndParam
+ * @description:Todo
+ */
+@Data
+@Schema(title = "任务构建结束参数")
+public class TaskBuildEndParam {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "构建id", required = false)
+ private String buildId;
+ @Schema(title = "容器作业id", required = false)
+ private String containerId;
+ @Schema(title = "任务id", required = false)
+ private String taskId;
+ @Schema(title = "执行次数", required = false)
+ private int executeCount;
+ @Schema(title = "状态", required = false)
+ private BuildStatus buildStatus;
+ @Schema(title = "插件版本", required = false)
+ private String atomVersion;
+ @Schema(title = "错误类型", required = false)
+ private ErrorType errorType;
+ @Schema(title = "错误代码", required = false)
+ private Integer errorCode;
+ @Schema(title = "错误信息", required = false)
+ private String errorMsg;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/BatchTemplateInstanceCreate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/BatchTemplateInstanceCreate.java
new file mode 100644
index 0000000..d614395
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/BatchTemplateInstanceCreate.java
@@ -0,0 +1,20 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:BatchTemplateInstanceCreate
+ * @Date:2025/03/24 18:54
+ * @Filename:BatchTemplateInstanceCreate
+ * @description:Todo
+ */
+@Data
+public class BatchTemplateInstanceCreate {
+ private List param;
+ private List instances;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/CopyTemplateReq.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/CopyTemplateReq.java
new file mode 100644
index 0000000..54f0558
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/CopyTemplateReq.java
@@ -0,0 +1,21 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:CopyTemplateReq
+ * @Date:2025/03/24 18:55
+ * @Filename:CopyTemplateReq
+ * @description:Todo
+ */
+@Data
+public class CopyTemplateReq {
+ @Schema(title = "模板名字", required = false)
+ private String templateName;
+ @Schema(title = "是否复制设置", required = false)
+ private Boolean isCopySetting;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/HighlightType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/HighlightType.java
new file mode 100644
index 0000000..a0a05b7
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/HighlightType.java
@@ -0,0 +1,25 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:HighlightType
+ * @Date:2025/03/24 18:55
+ * @Filename:HighlightType
+ * @description:Todo
+ */
+@Getter
+public enum HighlightType {
+ @Schema(title = "通知", required = true)
+ NOTIFY,
+ @Schema(title = "标签", required = true)
+ LABEL,
+ @Schema(title = "并发", required = true)
+ CONCURRENCY,
+ @Schema(title = "流水线模型", required = true)
+ PIPELINE_MODEL;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/MarketTemplateRequest.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/MarketTemplateRequest.java
new file mode 100644
index 0000000..7cd9958
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/MarketTemplateRequest.java
@@ -0,0 +1,34 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:MarketTemplateRequest
+ * @Date:2025/03/24 18:55
+ * @Filename:MarketTemplateRequest
+ * @description:Todo
+ */
+@Data
+public class MarketTemplateRequest {
+ @Schema(title = "项目列表", required = true)
+ private ArrayList projectCodeList;
+ @Schema(title = "模板代码", required = true)
+ private String templateCode;
+ @Schema(title = "模板名称", required = true)
+ private String templateName;
+ @Schema(title = "模板logo", required = false)
+ private String logoUrl;
+ @Schema(title = "范畴代码列表", required = false)
+ private List categoryCodeList;
+ @Schema(title = "是否为公共模版", required = true)
+ private Boolean publicFlag;
+ @Schema(title = "发布者", required = false)
+ private String publisher;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/OptionalTemplateList.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/OptionalTemplateList.java
new file mode 100644
index 0000000..d5dcc35
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/OptionalTemplateList.java
@@ -0,0 +1,90 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:OptionalTemplateList
+ * @Date:2025/03/24 18:55
+ * @Filename:OptionalTemplateList
+ * @description:Todo
+ */
+@Data
+public class OptionalTemplateList {
+ @Schema(title = "数量", required = false)
+ private Integer count;
+
+ @Schema(title = "页数", required = false)
+ private Integer page;
+
+ @Schema(title = "每页数量", required = false)
+ private Integer pageSize;
+
+ @Schema(title = "模板列表", required = false)
+ private Map templates;
+}
+
+@Data
+public class OptionalTemplate {
+ @Schema(title = "模版名称", required = true)
+ private String name;
+
+ @Schema(title = "模版ID", required = true)
+ private String templateId;
+
+ @Schema(title = "项目ID", required = true)
+ private String projectId;
+
+ @Schema(title = "版本ID", required = true)
+ private Long version;
+
+ @Schema(title = "最新版本号", required = true)
+ private String versionName;
+
+ @Schema(title = "模板类型", required = true)
+ private String templateType;
+
+ @Schema(title = "模板类型描述", required = true)
+ private String templateTypeDesc;
+
+ @Schema(title = "应用范畴", required = true)
+ private List category;
+
+ @Schema(title = "模版logo", required = true)
+ private String logoUrl;
+
+ @Schema(title = "阶段集合", required = true)
+ private List stages;
+
+ @Schema(title = "克隆模板设置项是否存在", required = false)
+ private CloneTemplateSettingExist cloneTemplateSettingExist;
+
+ @Schema(title = "模版描述", required = false)
+ private String desc;
+}
+
+@Data
+public class CloneTemplateSettingExist {
+ private Boolean notifySettingExist;
+ private Boolean concurrencySettingExist;
+ private Boolean labelSettingExist;
+ private Boolean inheritedDialect;
+ private String pipelineDialect;
+
+ public static CloneTemplateSettingExist fromSetting(PipelineSetting setting, Set pipelinesWithLabels) {
+ return new CloneTemplateSettingExist(
+ !setting.notifySettingIsNull(),
+ !setting.concurrencySettingIsNull(),
+ pipelinesWithLabels != null && pipelinesWithLabels.contains(setting.getPipelineId()),
+ setting.getPipelineAsCodeSettings().getInheritedDialect(),
+ setting.getPipelineAsCodeSettings().getPipelineDialect()
+ );
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/SaveAsTemplateReq.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/SaveAsTemplateReq.java
new file mode 100644
index 0000000..0ccc63a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/SaveAsTemplateReq.java
@@ -0,0 +1,19 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:SaveAsTemplateReq
+ * @Date:2025/03/24 18:58
+ * @Filename:SaveAsTemplateReq
+ * @description:Todo
+ */
+@Data
+public class SaveAsTemplateReq {
+ private String pipelineId;
+ private String templateName;
+ private Boolean isCopySetting;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModel.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModel.java
new file mode 100644
index 0000000..601620b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModel.java
@@ -0,0 +1,23 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateCompareModel
+ * @Date:2025/03/24 18:59
+ * @Filename:TemplateCompareModel
+ * @description:Todo
+ */
+@Data
+public class TemplateCompareModel {
+ @Schema(title = "构建号", required = false)
+ private BuildNo buildNo;
+ @Schema(title = "流水线变量列表", required = false)
+ private List params;
+ @Schema(title = "流水线模型", required = false)
+ private Model model;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModelResult.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModelResult.java
new file mode 100644
index 0000000..63c631f
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModelResult.java
@@ -0,0 +1,25 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateCompareModelResult
+ * @Date:2025/03/24 18:59
+ * @Filename:TemplateCompareModelResult
+ * @description:Todo
+ */
+@Data
+public class TemplateCompareModelResult {
+ @Schema(title = "版本列表", required = false)
+ private List versions;
+ @Schema(title = "来源模板模型", required = false)
+ private TemplateCompareModel origin;
+ @Schema(title = "目标模板模型", required = false)
+ private TemplateCompareModel target;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateDetailInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateDetailInfo.java
new file mode 100644
index 0000000..28dabb6
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateDetailInfo.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateDetailInfo
+ * @Date:2025/03/24 18:59
+ * @Filename:TemplateDetailInfo
+ * @description:Todo
+ */
+
+@Data
+public class TemplateDetailInfo {
+ @Schema(title = "模板代码", required = true)
+ private String templateCode;
+ @Schema(title = "模板名称", required = false)
+ private String templateName;
+ @Schema(title = "模板模型", required = false)
+ private Model templateModel;
+ @Schema(title = "模板版本号", required = true)
+ private Long templateVersion;
+ @Schema(title = "模板版本名称", required = false)
+ private String templateVersionName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateId.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateId.java
new file mode 100644
index 0000000..d15df70
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateId.java
@@ -0,0 +1,19 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateId
+ * @Date:2025/03/24 18:59
+ * @Filename:TemplateId
+ * @description:Todo
+ */
+@Data
+public class TemplateId {
+ @Schema(title = "模板id", required = false)
+ private String id;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceBaseStatus.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceBaseStatus.java
new file mode 100644
index 0000000..4b1e9af
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceBaseStatus.java
@@ -0,0 +1,21 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateInstanceBaseStatus
+ * @Date:2025/03/24 18:59
+ * @Filename:TemplateInstanceBaseStatus
+ * @description:Todo
+ */
+@Getter
+public enum TemplateInstanceBaseStatus {
+ @Schema(title = "初始化", required = true)
+ INIT,
+ @Schema(title = "实例化中", required = true)
+ INSTANCING;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceCreate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceCreate.java
new file mode 100644
index 0000000..72c8474
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceCreate.java
@@ -0,0 +1,23 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateInstanceCreate
+ * @Date:2025/03/24 19:00
+ * @Filename:TemplateInstanceCreate
+ * @description:Todo
+ */
+@Data
+public class TemplateInstanceCreate {
+ @Schema(title = "流水线名称", required = false)
+ private String pipelineName;
+ @Schema(title = "构建号(推荐版本号)", required = false)
+ private BuildNo buildNo;
+ @Schema(title = "流水线变量列表", required = false)
+ private List param;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceItemStatus.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceItemStatus.java
new file mode 100644
index 0000000..1a3c9ab
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceItemStatus.java
@@ -0,0 +1,19 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateInstanceItemStatus
+ * @Date:2025/03/24 19:00
+ * @Filename:TemplateInstanceItemStatus
+ * @description:Todo
+ */
+@Getter
+public enum TemplateInstanceItemStatus {
+ @Schema(title = "初始化", required = true)
+ INIT;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstancePage.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstancePage.java
new file mode 100644
index 0000000..d4893f3
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstancePage.java
@@ -0,0 +1,35 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateInstancePage
+ * @Date:2025/03/24 19:07
+ * @Filename:TemplateInstancePage
+ * @description:Todo
+ */
+@Data
+public class TemplateInstancePage {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "模板id", required = false)
+ private String templateId;
+ @Schema(title = "模板生成的流水线实例列表", required = false)
+ private List instances;
+ @Schema(title = "最新版本", required = false)
+ private TemplateVersion latestVersion;
+ @Schema(title = "数量", required = false)
+ private Integer count;
+ @Schema(title = "页数", required = false)
+ private Integer page;
+ @Schema(title = "每页数量", required = false)
+ private Integer pageSize;
+ @Schema(title = "是否有创建模板实例权限", required = false)
+ private Boolean hasCreateTemplateInstancePerm;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceParams.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceParams.java
new file mode 100644
index 0000000..7e47b25
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceParams.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateInstanceParams
+ * @Date:2025/03/24 19:08
+ * @Filename:TemplateInstanceParams
+ * @description:Todo
+ */
+
+@Data
+public class TemplateInstanceParams {
+ @Schema(title = "流水线模型", required = false)
+ private String pipelineId;
+ @Schema(title = "流水线名称", required = false)
+ private String pipelineName;
+ @Schema(title = "构建号,不建议使用", required = false)
+ private BuildNo buildNo;
+ @Schema(title = "流水线变量列表", required = false)
+ private List param;
+ @Schema(title = "是否更新了推荐版本号基准值", required = false)
+ private Boolean updateBuildNo;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceUpdate.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceUpdate.java
new file mode 100644
index 0000000..f46d142
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceUpdate.java
@@ -0,0 +1,25 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateInstanceUpdate
+ * @Date:2025/03/24 19:08
+ * @Filename:TemplateInstanceUpdate
+ * @description:Todo
+ */
+public class TemplateInstanceUpdate {
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "流水线那名称", required = false)
+ private String pipelineName;
+ @Schema(title = "构建版本号", required = false)
+ private BuildNo buildNo;
+ @Schema(title = "流水线变量列表, 建议先通过v4_app_template_get获取,再按需修改。", required = false)
+ private List param;
+ @Schema(title = "重置实例推荐版本为基准值", required = false)
+ private Boolean resetBuildNo;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstances.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstances.java
new file mode 100644
index 0000000..f976fa0
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstances.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateInstances
+ * @Date:2025/03/24 19:08
+ * @Filename:TemplateInstances
+ * @description:Todo
+ */
+@Data
+public class TemplateInstances {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "模型id", required = false)
+ private String templateId;
+ @Schema(title = "实例列表", required = false)
+ private List instances;
+ @Schema(title = "最新版本", required = false)
+ private TemplateVersion latestVersion;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateListModel.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateListModel.java
new file mode 100644
index 0000000..0e533f6
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateListModel.java
@@ -0,0 +1,34 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.mapstruct.ap.shaded.freemarker.template.TemplateModel;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateListModel
+ * @Date:2025/03/24 19:09
+ * @Filename:TemplateListModel
+ * @description:Todo
+ */
+@Data
+public class TemplateListModel {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "是否有操作权限", required = false)
+ private Boolean hasPermission;
+ @Schema(title = "模型", required = false)
+ private List models;
+ @Schema(title = "数量", required = false)
+ private Integer count;
+ @Schema(title = "是否有创建模板权限", required = false)
+ private Boolean hasCreatePermission;
+ @Schema(title = "是否开启模板权限", required = false)
+ private Boolean enableTemplatePermissionManage;
+}
+
+
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModel.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModel.java
new file mode 100644
index 0000000..373ed8c
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModel.java
@@ -0,0 +1,54 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateModel
+ * @Date:2025/03/24 19:19
+ * @Filename:TemplateModel
+ * @description:Todo
+ */
+@Data
+@Schema(title = "模板模型")
+public class TemplateModel {
+ @Schema(title = "模版名称", required = true)
+ private String name;
+ @Schema(title = "模版ID", required = true)
+ private String templateId;
+ @Schema(title = "版本ID", required = true)
+ private Long version;
+ @Schema(title = "最新版本号", required = true)
+ private String versionName;
+ @Schema(title = "模板类型", required = true)
+ private String templateType;
+ @Schema(title = "模板类型描述", required = true)
+ private String templateTypeDesc;
+ @Schema(title = "模版logo", required = true)
+ private String logoUrl;
+ @Schema(title = "是否关联到市场", required = true)
+ private Boolean storeFlag;
+ @Schema(title = "关联的代码库", required = true)
+ private List associateCodes;
+ @Schema(title = "关联的流水线", required = true)
+ private List associatePipelines;
+ @Schema(title = "是否有可更新实例", required = true)
+ private Boolean hasUpdateInstance;
+ @Schema(title = "是否有模版操作权限", required = true)
+ private Boolean hasPermission;
+ @Schema(title = "是否有模版查看权限", required = true)
+ private Boolean canView;
+ @Schema(title = "是否有模版编辑权限", required = true)
+ private Boolean canEdit;
+ @Schema(title = "是否有模版删除权限", required = true)
+ private Boolean canDelete;
+ @Schema(title = "创建者", required = false)
+ private String creator;
+ @Schema(title = "创建时间", required = false)
+ private String createTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModelDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModelDetail.java
new file mode 100644
index 0000000..2b97b68
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModelDetail.java
@@ -0,0 +1,43 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateModelDetail
+ * @Date:2025/03/24 19:27
+ * @Filename:TemplateModelDetail
+ * @description:Todo
+ */
+@Data
+public class TemplateModelDetail {
+ @Schema(title = "版本列表", required = false)
+ private List versions;
+ @Schema(title = "当前版本", required = false)
+ private TemplateVersion currentVersion;
+ @Schema(title = "最新版本", required = false)
+ private TemplateVersion latestVersion;
+ @Schema(title = "模板名称", required = false)
+ private String templateName;
+ @Schema(title = "解释说明", required = false)
+ private String description;
+ @Schema(title = "创建者", required = false)
+ private String creator;
+ @Schema(title = "模板模型", required = false)
+ private Model template;
+ @Schema(title = "模板类型", required = false)
+ private String templateType;
+ @Schema(title = "logo的url地址", required = false)
+ private String logoUrl;
+ @Schema(title = "是否有操作权限", required = false)
+ private boolean hasPermission;
+ @Schema(title = "参数列表", required = false)
+ private List params;
+ @Schema(title = "模板参数构建", required = false)
+ private List templateParams;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationMessage.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationMessage.java
new file mode 100644
index 0000000..c87b120
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationMessage.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateOperationMessage
+ * @Date:2025/03/24 19:29
+ * @Filename:TemplateOperationMessage
+ * @description:Todo
+ */
+
+@Data
+public class TemplateOperationMessage {
+ @Schema(title = "成功的流水线", required = false)
+ private List successPipelines;
+
+ @Schema(title = "失败的流水线", required = false)
+ private List failurePipelines;
+
+ @Schema(title = "失败信息", required = false)
+ private Map failureMessages;
+
+ @Schema(title = "成功的流水线id", required = false)
+ private List successPipelinesId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationRet.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationRet.java
new file mode 100644
index 0000000..09d2fe9
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationRet.java
@@ -0,0 +1,24 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateOperationRet
+ * @Date:2025/03/24 19:30
+ * @Filename:TemplateOperationRet
+ * @description:Todo
+ */
+@Data
+@Schema(title = "返回模型")
+public class TemplateOperationRet {
+ @Schema(title = "状态码", required = false)
+ private int status;
+ @Schema(title = "data 信息", required = false)
+ private TemplateOperationMessage data;
+ @Schema(title = "message 信息", required = false)
+ private String message;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipeline.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipeline.java
new file mode 100644
index 0000000..4ba12b0
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipeline.java
@@ -0,0 +1,36 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplatePipeline
+ * @Date:2025/03/24 19:30
+ * @Filename:TemplatePipeline
+ * @description:Todo
+ */
+@Data
+@Schema(title = "模板实例化的流水线")
+public class TemplatePipeline {
+ @Schema(title = "模板id", required = false)
+ private String templateId;
+ @Schema(title = "版本名称", required = false)
+ private String versionName;
+ @Schema(title = "版本", required = false)
+ private long version;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "流水线名称", required = false)
+ private String pipelineName;
+ @Schema(title = "更新时间", required = false)
+ private long updateTime;
+ @Schema(title = "是否有编辑权限", required = false)
+ private boolean hasPermission;
+ @Schema(title = "流水线模板状态", required = false)
+ private TemplatePipelineStatus status;
+ @Schema(title = "模板实例化错误信息", required = false)
+ private String instanceErrorInfo;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineInfo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineInfo.java
new file mode 100644
index 0000000..e732865
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineInfo.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplatePipelineInfo
+ * @Date:2025/03/24 19:30
+ * @Filename:TemplatePipelineInfo
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线模板信息")
+public class TemplatePipelineInfo {
+ @Schema(title = "模板id", required = false)
+ private String templateId;
+ @Schema(title = "版本名称", required = false)
+ private String versionName;
+ @Schema(title = "版本", required = false)
+ private Long version;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineStatus.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineStatus.java
new file mode 100644
index 0000000..cd0574a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineStatus.java
@@ -0,0 +1,17 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplatePipelineStatus
+ * @Date:2025/03/24 19:31
+ * @Filename:TemplatePipelineStatus
+ * @description:Todo
+ */
+public enum TemplatePipelineStatus {
+ PENDING_UPDATE, // 待更新
+ UPDATING, // 更新中
+ UPDATED, // 已更新
+ FAILED // 更新失败
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePreviewDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePreviewDetail.java
new file mode 100644
index 0000000..ca088dd
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePreviewDetail.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplatePreviewDetail
+ * @Date:2025/03/24 19:31
+ * @Filename:TemplatePreviewDetail
+ */
+@Data
+public class TemplatePreviewDetail {
+ @Schema(title = "模板模型")
+ private Model template;
+ @Schema(title = "模板Yaml")
+ private String templateYaml;
+ @Schema(title = "是否有操作权限", required = false)
+ private boolean hasPermission;
+ @Schema(title = "预览流水线设置")
+ private PipelineSetting setting;
+ @Schema(title = "高亮位置,可能多个")
+ private List highlightMarkList;
+ @Schema(title = "是否支持YAML解析", required = true)
+ private boolean yamlSupported = true;
+ @Schema(title = "YAML解析异常信息")
+ private String yamlInvalidMsg;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateType.java
new file mode 100644
index 0000000..ef4143e
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateType.java
@@ -0,0 +1,29 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import lombok.AllArgsConstructor;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateType
+ * @Date:2025/03/24 19:31
+ * @Filename:TemplateType
+ * @description:Todo
+ */
+@AllArgsConstructor
+public enum TemplateType {
+ CUSTOMIZE("customize"), // 自定义模板
+ CONSTRAINT("constraint"), // 来自商店
+ PUBLIC("public"); // 公共模版
+
+ private final String value;
+
+ public static String getTemplateTypeDesc(String type) {
+ return switch (type) {
+ case "CONSTRAINT" -> CONSTRAINT.value;
+ case "PUBLIC" -> PUBLIC.value;
+ default -> CUSTOMIZE.value;
+ };
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateVersion.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateVersion.java
new file mode 100644
index 0000000..d129fad
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateVersion.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateVersion
+ * @Date:2025/03/24 19:32
+ * @Filename:TemplateVersion
+ * @description:Todo
+ */
+@Data
+@Schema(title = "模板版本信息")
+public class TemplateVersion {
+ @Schema(title = "版本号", required = false)
+ private long version;
+ @Schema(title = "版本名称", required = false)
+ private String versionName;
+ @Schema(title = "更新时间", required = false)
+ private long updateTime;
+ @Schema(title = "构建者", required = false)
+ private String creator;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateWithPermission.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateWithPermission.java
new file mode 100644
index 0000000..eb1d188
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateWithPermission.java
@@ -0,0 +1,31 @@
+package cd.casic.ci.process.api.process.pojo.template;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import kotlin.Result;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.template
+ * @Project:ops-pro
+ * @name:TemplateWithPermission
+ * @Date:2025/03/24 19:32
+ * @Filename:TemplateWithPermission
+ * @description:Todo
+ */
+@Data
+@Schema(title = "模板-权限实体")
+public class TemplateWithPermission {
+ @Schema(title = "拥有列表权限的模板记录", required = true)
+ private Result extends Record> templatesWithListPermRecords;
+ @Schema(title = "拥有查看权限的模板列表ID", required = true)
+ private List templatesWithViewPermIds;
+ @Schema(title = "拥有编辑权限的模板列表ID", required = true)
+ private List templatesWithEditPermIds;
+ @Schema(title = "拥有删除权限的模板列表ID", required = true)
+ private List templatesWithDeletePermIds;
+ @Schema(title = "数量", required = true)
+ private int count;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetail.java
new file mode 100644
index 0000000..500f45b
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetail.java
@@ -0,0 +1,42 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerDetail
+ * @Date:2025/03/24 17:23
+ * @Filename:PipelineTriggerDetail
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发详情")
+public class PipelineTriggerDetail {
+ @Schema(title = "流水线触发详情ID")
+ private Long detailId;
+ @Schema(title = "蓝盾项目ID")
+ private String projectId;
+ @Schema(title = "事件ID")
+ private Long eventId;
+ @Schema(title = "触发状态")
+ private String status;
+ @Schema(title = "流水线Id")
+ private String pipelineId;
+ @Schema(title = "流水线名称")
+ private String pipelineName;
+ @Schema(title = "构建Id")
+ private String buildId;
+ @Schema(title = "构建编号")
+ private String buildNum;
+ @Schema(title = "原因")
+ private String reason;
+ @Schema(title = "原因详情")
+ private PipelineTriggerReasonDetail reasonDetail;
+ @Schema(title = "创建时间")
+ private Long createTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetailBuilder.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetailBuilder.java
new file mode 100644
index 0000000..4c74d23
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetailBuilder.java
@@ -0,0 +1,27 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerDetailBuilder
+ * @Date:2025/03/24 17:29
+ * @Filename:PipelineTriggerDetailBuilder
+ * @description:Todo
+ */
+@Data
+public class PipelineTriggerDetailBuilder {
+ private Long detailId;
+ private String projectId;
+ private Long eventId;
+ private String status;
+ private String pipelineId;
+ private String pipelineName;
+ private String buildId;
+ private String buildNum;
+ private String reason;
+ private PipelineTriggerReasonDetail reasonDetail;
+ private Long createTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEvent.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEvent.java
new file mode 100644
index 0000000..56d2f57
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEvent.java
@@ -0,0 +1,45 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerEvent
+ * @Date:2025/03/24 17:24
+ * @Filename:PipelineTriggerEvent
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发事件")
+public class PipelineTriggerEvent {
+ @Schema(title = "请求ID")
+ private String requestId;
+ @Schema(title = "项目ID")
+ private String projectId;
+ @Schema(title = "事件ID")
+ private Long eventId;
+ @Schema(title = "触发类型")
+ private String triggerType;
+ @Schema(title = "事件源")
+ private String eventSource;
+ @Schema(title = "事件类型")
+ private String eventType;
+ @Schema(title = "触发人")
+ private String triggerUser;
+ @Schema(title = "事件描述")
+ private String eventDesc;
+ @Schema(title = "重放事件ID")
+ private String replayRequestId;
+ @Schema(title = "事件请求参数, 记录手动/openapi/定时/远程触发启动参数")
+ private Map requestParams;
+ @Schema(title = "触发时间")
+ private LocalDateTime createTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventBuilder.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventBuilder.java
new file mode 100644
index 0000000..0b89e7c
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventBuilder.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import lombok.Builder;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerEventBuilder
+ * @Date:2025/03/24 17:31
+ * @Filename:PipelineTriggerEventBuilder
+ * @description:Todo
+ */
+@Data
+@Builder
+public class PipelineTriggerEventBuilder {
+ private String requestId;
+ private String projectId;
+ private Long eventId;
+ private String triggerType;
+ private String eventSource;
+ private String eventType;
+ private String triggerUser;
+ private String eventDesc;
+ private String replayRequestId;
+ private Map requestParams;
+ private LocalDateTime createTime;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventVo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventVo.java
new file mode 100644
index 0000000..0c1b260
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventVo.java
@@ -0,0 +1,54 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerEventVo
+ * @Date:2025/03/24 17:25
+ * @Filename:PipelineTriggerEventVo
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发事件视图对象")
+public class PipelineTriggerEventVo {
+ @Schema(title = "事件明细ID")
+ private Long detailId;
+ @Schema(title = "蓝盾项目ID")
+ private String projectId;
+ @Schema(title = "事件ID")
+ private Long eventId;
+ @Schema(title = "触发类型")
+ private String triggerType;
+ @Schema(title = "事件触发源,代码库触发-代码库ID")
+ private String eventSource;
+ @Schema(title = "事件类型")
+ private String eventType;
+ @Schema(title = "触发人")
+ private String triggerUser;
+ @Schema(title = "事件描述")
+ private String eventDesc;
+ @Schema(title = "事件时间")
+ private Long eventTime;
+ @Schema(title = "触发状态")
+ private String status;
+ @Schema(title = "流水线Id")
+ private String pipelineId;
+ @Schema(title = "流水线名称")
+ private String pipelineName;
+ @Schema(title = "构建Id")
+ private String buildId;
+ @Schema(title = "构建编号")
+ private String buildNum;
+ @Schema(title = "原因")
+ private String reason;
+ @Schema(title = "失败原因详情")
+ private List reasonDetailList;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedErrorCode.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedErrorCode.java
new file mode 100644
index 0000000..bc7b062
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedErrorCode.java
@@ -0,0 +1,32 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerFailedErrorCode
+ * @Date:2025/03/24 17:25
+ * @Filename:PipelineTriggerFailedErrorCode
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发事件原因详情-有错误码异常")
+public class PipelineTriggerFailedErrorCode implements PipelineTriggerReasonDetail {
+ @Schema(title = "错误码")
+ private String errorCode;
+ @Schema(title = "错误参数")
+ private List params;
+
+ @Override
+ public List getReasonDetailList() {
+ // 实现逻辑
+ return null;
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedFix.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedFix.java
new file mode 100644
index 0000000..4b8660d
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedFix.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerFailedFix
+ * @Date:2025/03/24 17:26
+ * @Filename:PipelineTriggerFailedFix
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发事件原因详情-兼容历史数据")
+public class PipelineTriggerFailedFix implements PipelineTriggerReasonDetail {
+ @Schema(title = "原因详情列表")
+ private List reasonDetailList;
+
+ @Override
+ public List getReasonDetailList() {
+ // 实现逻辑
+ return null;
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMatch.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMatch.java
new file mode 100644
index 0000000..268487a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMatch.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerFailedMatch
+ * @Date:2025/03/24 17:26
+ * @Filename:PipelineTriggerFailedMatch
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发事件原因详情-触发匹配失败")
+public class PipelineTriggerFailedMatch implements PipelineTriggerReasonDetail {
+ @Schema(title = "匹配失败的插件列表")
+ private List elements;
+
+ @Override
+ public List getReasonDetailList() {
+ // 实现逻辑
+ return null;
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMsg.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMsg.java
new file mode 100644
index 0000000..dada9ff
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMsg.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerFailedMsg
+ * @Date:2025/03/24 17:26
+ * @Filename:PipelineTriggerFailedMsg
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发事件原因详情-不需要转换的错误信息")
+public class PipelineTriggerFailedMsg implements PipelineTriggerReasonDetail {
+ @Schema(title = "错误信息")
+ private String msg;
+
+ @Override
+ public List getReasonDetailList() {
+ // 实现逻辑
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReason.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReason.java
new file mode 100644
index 0000000..51cfd77
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReason.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import lombok.AllArgsConstructor;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerReason
+ * @Date:2025/03/24 17:34
+ * @Filename:PipelineTriggerReason
+ * @description:Todo
+ */
+@AllArgsConstructor
+public enum PipelineTriggerReason {
+ TRIGGER_SUCCESS("Trigger success"),
+ TRIGGER_FAILED("Trigger failed"),
+ TRIGGER_NOT_MATCH("Does not meet the trigger condition :%s"),
+ UNKNOWN_ERROR("Unknown error");
+
+ private String trigger;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonDetail.java
new file mode 100644
index 0000000..15a6831
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonDetail.java
@@ -0,0 +1,31 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import io.swagger.v3.oas.annotations.media.Schema;
+
+import java.util.List;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerReasonDetail
+ * @Date:2025/03/24 17:27
+ * @Filename:PipelineTriggerReasonDetail
+ * @description:Todo
+ */
+
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type")
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = PipelineTriggerFailedMatch.class, name = "match"),
+ @JsonSubTypes.Type(value = PipelineTriggerFailedErrorCode.class, name = "errorCode"),
+ @JsonSubTypes.Type(value = PipelineTriggerFailedMsg.class, name = "msg"),
+ @JsonSubTypes.Type(value = PipelineTriggerFailedFix.class, name = "fix")
+})
+@Schema(title = "流水线触发事件原因详情-基类")
+public interface PipelineTriggerReasonDetail {
+ @JsonIgnore
+ List getReasonDetailList();
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonStatistics.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonStatistics.java
new file mode 100644
index 0000000..685d729
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonStatistics.java
@@ -0,0 +1,26 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerReasonStatistics
+ * @Date:2025/03/24 17:27
+ * @Filename:PipelineTriggerReasonStatistics
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "流水线触发原因统计")
+public class PipelineTriggerReasonStatistics {
+ @Schema(title = "触发成功数")
+ private int triggerSuccess;
+ @Schema(title = "触发失败数")
+ private int triggerFailed;
+ @Schema(title = "触发不匹配数")
+ private int triggerNotMatch;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerStatus.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerStatus.java
new file mode 100644
index 0000000..ba6b402
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerStatus.java
@@ -0,0 +1,19 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerStatus
+ * @Date:2025/03/24 17:27
+ * @Filename:PipelineTriggerStatus
+ * @description:Todo
+ */
+public enum PipelineTriggerStatus {
+ @Schema(title = "成功")
+ SUCCEED,
+ @Schema(title = "失败")
+ FAILED
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerType.java
new file mode 100644
index 0000000..cb3006f
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerType.java
@@ -0,0 +1,53 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import cd.casic.ci.log.scm.enums.ScmType;
+import io.swagger.v3.oas.annotations.media.Schema;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:PipelineTriggerType
+ * @Date:2025/03/24 17:27
+ * @Filename:PipelineTriggerType
+ * @description:Todo
+ */
+public enum PipelineTriggerType {
+ @Schema(title = "SVN 代码库")
+ CODE_SVN,
+ @Schema(title = "GIT 代码库")
+ CODE_GIT,
+ @Schema(title = "Gitlab 代码库")
+ CODE_GITLAB,
+ @Schema(title = "Github 代码库")
+ GITHUB,
+ @Schema(title = "TGIT 代码库")
+ CODE_TGIT,
+ @Schema(title = "P4 代码库")
+ CODE_P4,
+ @Schema(title = "手动触发")
+ MANUAL,
+ @Schema(title = "定时触发")
+ TIME_TRIGGER,
+ @Schema(title = "服务触发")
+ OPENAPI,
+ @Schema(title = "流水线触发")
+ PIPELINE,
+ @Schema(title = "远程触发")
+ REMOTE;
+
+ public static List toMap(ScmType scmType, String userId) {
+ // 实现逻辑
+ return null;
+ }
+
+ public static ScmType toScmType(String triggerType) {
+ // 实现逻辑
+ return null;
+ }
+
+ public static boolean webhookTrigger(String triggerType) {
+ // 实现逻辑
+ return false;
+ }
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventDetail.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventDetail.java
new file mode 100644
index 0000000..7b88790
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventDetail.java
@@ -0,0 +1,28 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:RepoTriggerEventDetail
+ * @Date:2025/03/24 17:27
+ * @Filename:RepoTriggerEventDetail
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "代码库webhook事件记录")
+public class RepoTriggerEventDetail {
+ @Schema(title = "项目ID")
+ private String projectId;
+ @Schema(title = "事件ID")
+ private Long eventId;
+ @Schema(title = "总流水线数")
+ private int total;
+ @Schema(title = "成功的流水线数")
+ private int success;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventVo.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventVo.java
new file mode 100644
index 0000000..88560ab
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventVo.java
@@ -0,0 +1,34 @@
+package cd.casic.ci.process.api.process.pojo.trigger;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.trigger
+ * @Project:ops-pro
+ * @name:RepoTriggerEventVo
+ * @Date:2025/03/24 17:28
+ * @Filename:RepoTriggerEventVo
+ * @description:Todo
+ */
+@Data
+@NoArgsConstructor
+@Schema(title = "代码库webhook事件记录")
+public class RepoTriggerEventVo {
+ @Schema(title = "项目ID")
+ private String projectId;
+ @Schema(title = "事件ID")
+ private Long eventId;
+ @Schema(title = "代码库ID")
+ private String repoHashId;
+ @Schema(title = "事件描述")
+ private String eventDesc;
+ @Schema(title = "触发时间")
+ private Long eventTime;
+ @Schema(title = "总流水线数")
+ private int total;
+ @Schema(title = "成功的流水线数")
+ private int success;
+}
\ No newline at end of file
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhook.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhook.java
new file mode 100644
index 0000000..590c2aa
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhook.java
@@ -0,0 +1,46 @@
+package cd.casic.ci.process.api.process.pojo.webhook;
+
+import cd.casic.ci.log.scm.enums.RepositoryType;
+import cd.casic.ci.log.scm.enums.ScmType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.webhook
+ * @Project:ops-pro
+ * @name:PipelineWebhook
+ * @Date:2025/03/24 17:08
+ * @Filename:PipelineWebhook
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线http回调模型")
+public class PipelineWebhook {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "代码库类型,见ScmType枚举", required = false)
+ private ScmType repositoryType;
+ @Schema(title = "代码库标识类型, ID 代码库HashId / NAME 别名", required = false)
+ private RepositoryType repoType;
+ @Schema(title = "插件配置的代码库HashId,repoHashId与repoName 不能同时为空,如果两个都不为空就用repoName", required = false)
+ private String repoHashId; // repoHashId 与 repoName 不能同时为空,如果两个都不为空就用repoName
+ @Schema(title = "代码库别名", required = false)
+ private String repoName;
+ @Schema(title = "代码库自增ID,唯一", required = false)
+ private Long id;
+ @Schema(title = "项目名称", required = false)
+ private String projectName;
+ @Schema(title = "拉取当前代码库所在的插件ID", required = false)
+ private String taskId;
+ @Schema(title = "事件类型", required = false)
+ private String eventType;
+ @Schema(title = "代码库hashId,插件配置解析后的代码库ID", required = false)
+ private String repositoryHashId;
+ @Schema(title = "代码库平台ID", required = false)
+ private String externalId;
+ @Schema(title = "代码库平台仓库名", required = false)
+ private String externalName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhookVersion.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhookVersion.java
new file mode 100644
index 0000000..d78edc7
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhookVersion.java
@@ -0,0 +1,42 @@
+package cd.casic.ci.process.api.process.pojo.webhook;
+
+import cd.casic.ci.log.scm.enums.RepositoryType;
+import cd.casic.ci.log.scm.enums.ScmType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.webhook
+ * @Project:ops-pro
+ * @name:PipelineWebhookVersion
+ * @Date:2025/03/24 17:08
+ * @Filename:PipelineWebhookVersion
+ * @description:Todo
+ */
+@Data
+@Schema(title = "流水线Webhook版本")
+public class PipelineWebhookVersion {
+ @Schema(title = "项目id", required = false)
+ private String projectId;
+ @Schema(title = "流水线id", required = false)
+ private String pipelineId;
+ @Schema(title = "流水线版本", required = false)
+ private Integer version;
+ @Schema(title = "插件ID", required = false)
+ private String taskId;
+ @Schema(title = "插件参数", required = false)
+ private String taskParams;
+ @Schema(title = "插件代码库类型配置, ID 代码库HashId / NAME 别名", required = false)
+ private RepositoryType taskRepoType;
+ @Schema(title = "插件配置的代码库HashId,repoHashId与repoName 不能同时为空,如果两个都不为空就用repoName", required = false)
+ private String taskRepoHashId; // repoHashId 与 repoName 不能同时为空,如果两个都不为空就用repoName
+ @Schema(title = "代码库别名", required = false)
+ private String taskRepoName;
+ @Schema(title = "代码库类型,见ScmType枚举", required = false)
+ private ScmType repositoryType;
+ @Schema(title = "代码库hashId,插件配置解析后的代码库ID", required = false)
+ private String repositoryHashId;
+ @Schema(title = "事件类型", required = false)
+ private String eventType;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookEventType.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookEventType.java
new file mode 100644
index 0000000..2eec5ae
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookEventType.java
@@ -0,0 +1,22 @@
+package cd.casic.ci.process.api.process.pojo.webhook;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.webhook
+ * @Project:ops-pro
+ * @name:WebhookEventType
+ * @Date:2025/03/24 17:09
+ * @Filename:WebhookEventType
+ * @description:Todo
+ */
+@Data
+@Schema(title = "WEBHOOK-事件类型")
+public class WebhookEventType {
+ @Schema(title = "eventType", required = true)
+ private String eventType;
+ @Schema(title = "eventTypeName", required = true)
+ private String eventTypeName;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerParams.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerParams.java
new file mode 100644
index 0000000..564a3de
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerParams.java
@@ -0,0 +1,30 @@
+package cd.casic.ci.process.api.process.pojo.webhook;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.webhook
+ * @Project:ops-pro
+ * @name:WebhookTriggerParams
+ * @Date:2025/03/24 17:09
+ * @Filename:WebhookTriggerParams
+ * @description:Todo
+ */
+
+@Data
+@Schema(title = "参数")
+public class WebhookTriggerParams {
+ @Schema(title = "启动参数(webhook之类的预置参数)", required = true)
+ private Map params;
+ @Schema(title = "启动参数(用户自定义参数)", required = false)
+ private List userParams;
+ @Schema(title = "手动触发参数", required = false)
+ private Map startValues;
+ @Schema(title = "触发审核人列表", required = false)
+ private List triggerReviewers;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerPipeline.java b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerPipeline.java
new file mode 100644
index 0000000..863b42a
--- /dev/null
+++ b/modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerPipeline.java
@@ -0,0 +1,19 @@
+package cd.casic.ci.process.api.process.pojo.webhook;
+
+import lombok.Data;
+
+/**
+ * @Author:mianbin
+ * @Package:cd.casic.ci.pipelineciprocessapi.process.pojo.webhook
+ * @Project:ops-pro
+ * @name:WebhookTriggerPipeline
+ * @Date:2025/03/24 17:09
+ * @Filename:WebhookTriggerPipeline
+ * @description:Todo
+ */
+@Data
+public class WebhookTriggerPipeline {
+ private String projectId;
+ private String pipelineId;
+ private Integer version;
+}
diff --git a/modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/pipelineciprocessapi/PipelineCiProcessApiApplicationTests.java b/modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/process/api/PipelineCiProcessApiApplicationTests.java
similarity index 82%
rename from modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/pipelineciprocessapi/PipelineCiProcessApiApplicationTests.java
rename to modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/process/api/PipelineCiProcessApiApplicationTests.java
index 54f22ff..7a00b4e 100644
--- a/modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/pipelineciprocessapi/PipelineCiProcessApiApplicationTests.java
+++ b/modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/process/api/PipelineCiProcessApiApplicationTests.java
@@ -1,4 +1,4 @@
-package cd.casic.ci.pipelineciprocessapi;
+package cd.casic.ci.process.api;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;