From df804de7d2b63599f9952e5e9750c54972253266 Mon Sep 17 00:00:00 2001 From: "mian-bin@hotmail.com" Date: Mon, 24 Mar 2025 20:44:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=96=B0=E7=9A=84=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=EF=BC=8C=E4=BD=86=E6=98=AF=E6=A8=A1=E5=9E=8B=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E8=BF=90=E8=A1=8C=EF=BC=8C=E5=A6=82=E6=9E=9C=E8=A6=81?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=EF=BC=8C=E6=8A=8Aci-process=E5=8D=B8?= =?UTF-8?q?=E8=BD=BDpom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- framework/commons/pom.xml | 5 + .../pipeline-ci-process-api/pom.xml | 7 + .../PipelineCiProcessApiApplication.java | 14 - .../constant/PipelineBuildParamKey.java | 91 +++ .../process/constant/PipelineViewType.java | 16 + .../process/constant/ProcessMessageCode.java | 560 ++++++++++++++++++ .../api/process/pojo/AccessRepository.java | 22 + .../api/process/pojo/BuildBasicInfo.java | 26 + .../pojo/BuildFormRepositoryValue.java | 18 + .../api/process/pojo/BuildHistory.java | 81 +++ .../api/process/pojo/BuildHistoryRemark.java | 20 + .../process/pojo/BuildHistoryVariables.java | 40 ++ .../pojo/BuildHistoryWithPipelineVersion.java | 24 + .../process/pojo/BuildHistoryWithVars.java | 78 +++ .../ci/process/api/process/pojo/BuildId.java | 28 + .../api/process/pojo/BuildJobResult.java | 18 + .../process/pojo/BuildManualStartupInfo.java | 26 + .../process/pojo/BuildStageProgressInfo.java | 20 + .../api/process/pojo/BuildStageStatus.java | 36 ++ .../process/api/process/pojo/BuildTask.java | 54 ++ .../api/process/pojo/BuildTaskPauseInfo.java | 30 + .../process/pojo/BuildTaskProgressInfo.java | 24 + .../api/process/pojo/BuildTaskResult.java | 48 ++ .../process/pojo/BuildTemplateAcrossInfo.java | 33 ++ .../api/process/pojo/BuildVariables.java | 51 ++ .../process/pojo/CreateCallBackResult.java | 25 + .../api/process/pojo/DockerEnableProject.java | 26 + .../api/process/pojo/JobMutexGroup.java | 20 + .../process/pojo/PTemplateOrderByType.java | 16 + .../api/process/pojo/PTemplateSortType.java | 15 + .../process/api/process/pojo/Permission.java | 21 + .../ci/process/api/process/pojo/Pipeline.java | 120 ++++ .../api/process/pojo/PipelineAtomRel.java | 30 + .../pojo/PipelineAtomReplaceHistory.java | 38 ++ .../process/pojo/PipelineBuildMaterial.java | 39 ++ .../process/pojo/PipelineCallBackInfo.java | 23 + .../api/process/pojo/PipelineCollation.java | 16 + .../pojo/PipelineContainerMonitor.java | 30 + .../api/process/pojo/PipelineCopy.java | 28 + .../api/process/pojo/PipelineDetail.java | 81 +++ .../api/process/pojo/PipelineDetailInfo.java | 55 ++ .../process/api/process/pojo/PipelineId.java | 20 + .../api/process/pojo/PipelineIdAndName.java | 26 + .../api/process/pojo/PipelineIdInfo.java | 24 + .../api/process/pojo/PipelineListRequest.java | 22 + .../api/process/pojo/PipelineName.java | 24 + .../pojo/PipelineNotifyTemplateEnum.java | 54 ++ .../process/pojo/PipelineOperationDetail.java | 46 ++ .../process/pojo/PipelineOperationLog.java | 36 ++ .../api/process/pojo/PipelinePermissions.java | 32 + .../api/process/pojo/PipelineProjectRel.java | 26 + .../api/process/pojo/PipelineRemoteToken.java | 20 + .../api/process/pojo/PipelineSortType.java | 17 + .../api/process/pojo/PipelineStageTag.java | 30 + .../api/process/pojo/PipelineStatus.java | 54 ++ .../api/process/pojo/PipelineTemplate.java | 41 ++ .../process/pojo/PipelineTemplateInfo.java | 45 ++ .../api/process/pojo/PipelineUser.java | 30 + .../pojo/PipelineVersionReleaseRequest.java | 32 + .../api/process/pojo/ProcessConstants.java | 17 + .../pojo/ProjectPipelineCallBackHistory.java | 55 ++ .../ci/process/api/process/pojo/Property.java | 22 + .../ci/process/api/process/pojo/Report.java | 24 + .../process/api/process/pojo/ReviewParam.java | 36 ++ .../api/process/pojo/SetContextVarData.java | 23 + .../api/process/pojo/StageQualityRequest.java | 24 + .../api/process/pojo/StageTagRequest.java | 22 + .../process/api/process/pojo/SubPipeline.java | 22 + .../api/process/pojo/SubscriptionType.java | 37 ++ .../process/pojo/TransferResponseResult.java | 32 + .../ci/process/api/process/pojo/VmInfo.java | 22 + .../process/api/process/pojo/audit/Audit.java | 32 + .../api/process/pojo/audit/AuditInfo.java | 34 ++ .../api/process/pojo/audit/AuditPage.java | 30 + .../api/process/pojo/audit/QueryAudit.java | 30 + .../process/pojo/classify/PipelineGroup.java | 36 ++ .../pojo/classify/PipelineGroupCreate.java | 22 + .../pojo/classify/PipelineGroupLabels.java | 24 + .../pojo/classify/PipelineGroupUpdate.java | 24 + .../classify/PipelineGroupWithLabels.java | 21 + .../process/pojo/classify/PipelineLabel.java | 32 + .../pojo/classify/PipelineLabelCreate.java | 18 + .../pojo/classify/PipelineLabelDetail.java | 21 + .../pojo/classify/PipelineLabelId.java | 17 + .../pojo/classify/PipelineLabelUpdate.java | 19 + .../pojo/classify/PipelineNewView.java | 43 ++ .../pojo/classify/PipelineNewViewSummary.java | 40 ++ .../process/pojo/classify/PipelineView.java | 38 ++ .../classify/PipelineViewAndPipelines.java | 27 + .../pojo/classify/PipelineViewBulkAdd.java | 24 + .../pojo/classify/PipelineViewBulkRemove.java | 24 + .../pojo/classify/PipelineViewClassify.java | 20 + .../pojo/classify/PipelineViewCreate.java | 26 + .../pojo/classify/PipelineViewDict.java | 48 ++ .../pojo/classify/PipelineViewFilter.java | 25 + .../classify/PipelineViewFilterByCreator.java | 26 + .../classify/PipelineViewFilterByLabel.java | 27 + .../classify/PipelineViewFilterByName.java | 23 + .../classify/PipelineViewFilterByPacRepo.java | 25 + .../pojo/classify/PipelineViewForm.java | 37 ++ .../pojo/classify/PipelineViewHitFilters.java | 45 ++ .../process/pojo/classify/PipelineViewId.java | 20 + .../pojo/classify/PipelineViewIdAndName.java | 22 + .../classify/PipelineViewMatchDynamic.java | 33 ++ .../classify/PipelineViewPipelineCount.java | 27 + .../classify/PipelineViewPipelinePage.java | 32 + .../pojo/classify/PipelineViewPreview.java | 41 ++ .../pojo/classify/PipelineViewSettings.java | 27 + .../pojo/classify/PipelineViewTopForm.java | 21 + .../pojo/classify/PipelineViewUpdate.java | 35 ++ .../pojo/classify/enums/Condition.java | 19 + .../process/pojo/classify/enums/Logic.java | 15 + .../pojo/code/PipelineBuildCommit.java | 33 ++ .../process/pojo/code/WebhookBuildResult.java | 28 + .../api/process/pojo/code/WebhookCommit.java | 29 + .../api/process/pojo/code/WebhookInfo.java | 73 +++ .../pojo/setting/JobCommonSetting.java | 22 + .../pojo/setting/PipelineBranchVersion.java | 36 ++ .../pojo/setting/PipelineCommonSetting.java | 22 + .../pojo/setting/PipelineModelVersion.java | 28 + .../setting/PipelineResourceAndSetting.java | 27 + .../process/pojo/setting/PipelineRunType.java | 42 ++ .../pojo/setting/PipelineSettingVersion.java | 56 ++ .../pojo/setting/PipelineVersionSimple.java | 58 ++ .../pojo/setting/StageCommonSetting.java | 22 + .../pojo/setting/SubscriptionResponse.java | 35 ++ .../pojo/setting/TaskCommonSetting.java | 28 + .../setting/TaskComponentCommonSetting.java | 22 + .../setting/UpdatePipelineModelRequest.java | 22 + .../pojo/task/PipelineBuildTaskInfo.java | 75 +++ .../process/pojo/task/TaskBuildEndParam.java | 42 ++ .../template/BatchTemplateInstanceCreate.java | 20 + .../pojo/template/CopyTemplateReq.java | 21 + .../process/pojo/template/HighlightType.java | 25 + .../pojo/template/MarketTemplateRequest.java | 34 ++ .../pojo/template/OptionalTemplateList.java | 90 +++ .../pojo/template/SaveAsTemplateReq.java | 19 + .../pojo/template/TemplateCompareModel.java | 23 + .../template/TemplateCompareModelResult.java | 25 + .../pojo/template/TemplateDetailInfo.java | 28 + .../api/process/pojo/template/TemplateId.java | 19 + .../template/TemplateInstanceBaseStatus.java | 21 + .../pojo/template/TemplateInstanceCreate.java | 23 + .../template/TemplateInstanceItemStatus.java | 19 + .../pojo/template/TemplateInstancePage.java | 35 ++ .../pojo/template/TemplateInstanceParams.java | 28 + .../pojo/template/TemplateInstanceUpdate.java | 25 + .../pojo/template/TemplateInstances.java | 27 + .../pojo/template/TemplateListModel.java | 34 ++ .../process/pojo/template/TemplateModel.java | 54 ++ .../pojo/template/TemplateModelDetail.java | 43 ++ .../template/TemplateOperationMessage.java | 32 + .../pojo/template/TemplateOperationRet.java | 24 + .../pojo/template/TemplatePipeline.java | 36 ++ .../pojo/template/TemplatePipelineInfo.java | 26 + .../pojo/template/TemplatePipelineStatus.java | 17 + .../pojo/template/TemplatePreviewDetail.java | 30 + .../process/pojo/template/TemplateType.java | 29 + .../pojo/template/TemplateVersion.java | 26 + .../pojo/template/TemplateWithPermission.java | 31 + .../pojo/trigger/PipelineTriggerDetail.java | 42 ++ .../trigger/PipelineTriggerDetailBuilder.java | 27 + .../pojo/trigger/PipelineTriggerEvent.java | 45 ++ .../trigger/PipelineTriggerEventBuilder.java | 32 + .../pojo/trigger/PipelineTriggerEventVo.java | 54 ++ .../PipelineTriggerFailedErrorCode.java | 32 + .../trigger/PipelineTriggerFailedFix.java | 30 + .../trigger/PipelineTriggerFailedMatch.java | 30 + .../trigger/PipelineTriggerFailedMsg.java | 30 + .../pojo/trigger/PipelineTriggerReason.java | 22 + .../trigger/PipelineTriggerReasonDetail.java | 31 + .../PipelineTriggerReasonStatistics.java | 26 + .../pojo/trigger/PipelineTriggerStatus.java | 19 + .../pojo/trigger/PipelineTriggerType.java | 53 ++ .../pojo/trigger/RepoTriggerEventDetail.java | 28 + .../pojo/trigger/RepoTriggerEventVo.java | 34 ++ .../process/pojo/webhook/PipelineWebhook.java | 46 ++ .../pojo/webhook/PipelineWebhookVersion.java | 42 ++ .../pojo/webhook/WebhookEventType.java | 22 + .../pojo/webhook/WebhookTriggerParams.java | 30 + .../pojo/webhook/WebhookTriggerPipeline.java | 19 + .../PipelineCiProcessApiApplicationTests.java | 2 +- 182 files changed, 6263 insertions(+), 15 deletions(-) delete mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/pipelineciprocessapi/PipelineCiProcessApiApplication.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineBuildParamKey.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/PipelineViewType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/constant/ProcessMessageCode.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/AccessRepository.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildBasicInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildFormRepositoryValue.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistory.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryRemark.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryVariables.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithPipelineVersion.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildHistoryWithVars.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildId.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildJobResult.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildManualStartupInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageProgressInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildStageStatus.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTask.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskPauseInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskProgressInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTaskResult.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildTemplateAcrossInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/BuildVariables.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/CreateCallBackResult.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/DockerEnableProject.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/JobMutexGroup.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateOrderByType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PTemplateSortType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Permission.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Pipeline.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomRel.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineAtomReplaceHistory.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineBuildMaterial.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCallBackInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCollation.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineContainerMonitor.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineCopy.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineDetailInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineId.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdAndName.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineIdInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineListRequest.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineName.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineNotifyTemplateEnum.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineOperationLog.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelinePermissions.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineProjectRel.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineRemoteToken.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineSortType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStageTag.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineStatus.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineTemplateInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineUser.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/PipelineVersionReleaseRequest.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProcessConstants.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ProjectPipelineCallBackHistory.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Property.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/Report.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/ReviewParam.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SetContextVarData.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageQualityRequest.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/StageTagRequest.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubPipeline.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/SubscriptionType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/TransferResponseResult.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/VmInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/Audit.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/AuditPage.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/audit/QueryAudit.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroup.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupCreate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupLabels.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupUpdate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineGroupWithLabels.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabel.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelCreate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelId.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineLabelUpdate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewView.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineNewViewSummary.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineView.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewAndPipelines.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkAdd.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewBulkRemove.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewClassify.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewCreate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewDict.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilter.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByCreator.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByLabel.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByName.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewFilterByPacRepo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewForm.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewHitFilters.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewId.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewIdAndName.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewMatchDynamic.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelineCount.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPipelinePage.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewPreview.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewSettings.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewTopForm.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/PipelineViewUpdate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Condition.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/classify/enums/Logic.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/PipelineBuildCommit.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookBuildResult.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookCommit.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/code/WebhookInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/JobCommonSetting.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineBranchVersion.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineCommonSetting.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineModelVersion.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineResourceAndSetting.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineRunType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineSettingVersion.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/PipelineVersionSimple.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/StageCommonSetting.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/SubscriptionResponse.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskCommonSetting.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/TaskComponentCommonSetting.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/setting/UpdatePipelineModelRequest.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/PipelineBuildTaskInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/task/TaskBuildEndParam.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/BatchTemplateInstanceCreate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/CopyTemplateReq.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/HighlightType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/MarketTemplateRequest.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/OptionalTemplateList.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/SaveAsTemplateReq.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModel.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateCompareModelResult.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateDetailInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateId.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceBaseStatus.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceCreate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceItemStatus.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstancePage.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceParams.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstanceUpdate.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateInstances.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateListModel.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModel.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateModelDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationMessage.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateOperationRet.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipeline.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineInfo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePipelineStatus.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplatePreviewDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateVersion.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/template/TemplateWithPermission.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerDetailBuilder.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEvent.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventBuilder.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerEventVo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedErrorCode.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedFix.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMatch.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerFailedMsg.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReason.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerReasonStatistics.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerStatus.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/PipelineTriggerType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventDetail.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/trigger/RepoTriggerEventVo.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhook.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/PipelineWebhookVersion.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookEventType.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerParams.java create mode 100644 modules/ci-process/pipeline-ci-process-api/src/main/java/cd/casic/ci/process/api/process/pojo/webhook/WebhookTriggerPipeline.java rename modules/ci-process/pipeline-ci-process-api/src/test/java/cd/casic/ci/{pipelineciprocessapi => process/api}/PipelineCiProcessApiApplicationTests.java (82%) 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 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;