diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ApplicationWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ApplicationWorker.java index bb6c2336..59f69f20 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ApplicationWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ApplicationWorker.java @@ -6,6 +6,7 @@ import cd.casic.ci.process.engine.context.ConstantContextHolder; import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.engine.worker.base.HttpWorker; +import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline; import cd.casic.ci.process.process.dataObject.target.TargetVersion; @@ -51,6 +52,9 @@ public class ApplicationWorker extends HttpWorker { @Resource private TargetVersionServiceImpl targetVersionService; + @Resource + private PipTaskDao pipTaskDao; + @Override public void execute(TaskRunContext context) { @@ -92,7 +96,7 @@ public class ApplicationWorker extends HttpWorker { append(context,"目标文件不存在或不可读"); } - handleUpload(pipTask.getTaskProperties(), file,context); + handleUpload(pipTask, file,context); }catch (Exception e){ append(context,"==================SCA-应用包审查分析节点执行失败================="); append(context,"SCA-应用包审查分析节点执行失败失败,请检查当前节点配置!"); @@ -104,7 +108,8 @@ public class ApplicationWorker extends HttpWorker { localVariables.put("statusCode", statusCode + ""); } - private void handleUpload(Map applicationConfigInfo, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + private void handleUpload(PipTask pipTask, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + Map applicationConfigInfo = pipTask.getTaskProperties(); RestTemplate restTemplate = getRestTemplateWithoutSANCheck(); String scaUploadUrl = ConstantContextHolder.getScaIp() + "/openapi/v1/app-package/detect-file"; MultiValueMap body = buildRequestBody(applicationConfigInfo, file); @@ -122,6 +127,11 @@ public class ApplicationWorker extends HttpWorker { JSONObject data = response.getJSONObject("data"); Integer scaTaskId = data.getInteger("scaTaskId"); + //更新xmTraceId数据到task表 + applicationConfigInfo.put("xmTraceId",response.getJSONObject("xmTraceId").toString()); + pipTask.setTaskProperties(applicationConfigInfo); + pipTaskDao.updateById(pipTask); + pollTaskStatus(restTemplate, scaTaskId); } else if (message.equals("应用已经存在")) { append(context,message); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/CodingWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/CodingWorker.java index af22ca04..2ca3352f 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/CodingWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/CodingWorker.java @@ -5,10 +5,9 @@ import cd.casic.ci.process.common.WorkAtom; import cd.casic.ci.process.engine.context.ConstantContextHolder; import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.engine.worker.base.HttpWorker; +import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import cd.casic.ci.process.process.dataObject.task.PipTask; -import cd.casic.ci.process.process.service.pipeline.PipelineService; -import cd.casic.ci.process.process.service.target.impl.TargetVersionServiceImpl; import cd.casic.framework.commons.exception.ServiceException; import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import cn.hutool.core.util.ObjectUtil; @@ -38,10 +37,7 @@ public class CodingWorker extends HttpWorker { public static final Integer REPO_TYPE_GIT=8; @Resource - private PipelineService pipelineService; - - @Resource - private TargetVersionServiceImpl targetVersionService; + private PipTaskDao pipTaskDao; @Override public void execute(TaskRunContext context) { @@ -102,6 +98,12 @@ public class CodingWorker extends HttpWorker { append(context,"===============SCA上传成功================="); JSONObject data = response.getJSONObject("data"); Integer scaTaskId = data.getInteger("scaTaskId"); + + //更新xmTraceId数据到task表 + codingConfigInfo.put("xmTraceId",response.getJSONObject("xmTraceId").toString()); + pipTask.setTaskProperties(codingConfigInfo); + pipTaskDao.updateById(pipTask); + //轮询请求状态 pollTaskStatus(restTemplate, scaTaskId); } else if (response.getString("message").equals("应用已经存在")){ diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java index 4b88fb22..85afce9a 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaBinaryWorker.java @@ -6,6 +6,7 @@ import cd.casic.ci.process.engine.context.ConstantContextHolder; import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.engine.worker.base.HttpWorker; +import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline; import cd.casic.ci.process.process.dataObject.target.TargetVersion; @@ -52,6 +53,9 @@ public class ScaBinaryWorker extends HttpWorker { @Resource private TargetVersionServiceImpl targetVersionService; + @Resource + private PipTaskDao pipTaskDao; + @Override public void execute(TaskRunContext context) { int statusCode = 0; @@ -96,7 +100,7 @@ public class ScaBinaryWorker extends HttpWorker { append(context, "文件存在但不可读: " + file.getAbsolutePath()); } else { // 正常处理文件上传 - handleUpload(pipTask.getTaskProperties(), file, context); + handleUpload(pipTask, file, context); } }catch (Exception e){ append(context,"==================SCA-BINARY节点执行失败================="); @@ -111,7 +115,9 @@ public class ScaBinaryWorker extends HttpWorker { // localVariables.put(EngineRuntimeConstant.LOG_KEY, pipTaskLog); } - private void handleUpload(Map scaBinaryConfigInfo, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + private void handleUpload(PipTask pipTask, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + Map scaBinaryConfigInfo = pipTask.getTaskProperties(); + RestTemplate restTemplate = getRestTemplateWithoutSANCheck(); String scaUploadUrl = ConstantContextHolder.getScaIp() + "/openapi/v1/binary/detect-file"; MultiValueMap body = buildRequestBody(scaBinaryConfigInfo, file); @@ -129,6 +135,11 @@ public class ScaBinaryWorker extends HttpWorker { JSONObject data = response.getJSONObject("data"); Integer scaTaskId = data.getInteger("scaTaskId"); + //更新xmTraceId数据到task表 + scaBinaryConfigInfo.put("xmTraceId",response.getJSONObject("xmTraceId").toString()); + pipTask.setTaskProperties(scaBinaryConfigInfo); + pipTaskDao.updateById(pipTask); + pollTaskStatus(restTemplate, scaTaskId); } else if (message.equals("应用已经存在")) { append(context,message); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaMirrorWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaMirrorWorker.java index 88075554..87f3e439 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaMirrorWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaMirrorWorker.java @@ -6,6 +6,7 @@ import cd.casic.ci.process.engine.context.ConstantContextHolder; import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.engine.worker.base.HttpWorker; +import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline; import cd.casic.ci.process.process.dataObject.target.TargetVersion; @@ -53,6 +54,9 @@ public class ScaMirrorWorker extends HttpWorker { @Resource private TargetVersionServiceImpl targetVersionService; + @Resource + private PipTaskDao pipTaskDao; + @Override public void execute(TaskRunContext context) { int statusCode = 0; @@ -95,7 +99,7 @@ public class ScaMirrorWorker extends HttpWorker { append(context,"目标文件不存在或不可读"); } - handleUpload(pipTask.getTaskProperties(), file,context); + handleUpload(pipTask, file,context); }catch (Exception e){ append(context,"==================SCA-MIRROR节点执行失败================="); append(context,"SCA-MIRROR节点执行失败失败,请检查当前节点配置!"); @@ -109,7 +113,8 @@ public class ScaMirrorWorker extends HttpWorker { // localVariables.put(EngineRuntimeConstant.LOG_KEY, pipTaskLog); } - private void handleUpload(Map scaMirrorConfigInfo, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + private void handleUpload(PipTask pipTask, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + Map scaMirrorConfigInfo = pipTask.getTaskProperties(); RestTemplate restTemplate = getRestTemplateWithoutSANCheck(); String scaUploadUrl = ConstantContextHolder.getScaIp() + "/openapi/v1/image/detect-file"; MultiValueMap body = buildRequestBody(scaMirrorConfigInfo, file); @@ -127,6 +132,11 @@ public class ScaMirrorWorker extends HttpWorker { JSONObject data = response.getJSONObject("data"); Integer scaTaskId = data.getInteger("scaTaskId"); + //更新xmTraceId数据到task表 + scaMirrorConfigInfo.put("xmTraceId",response.getJSONObject("xmTraceId").toString()); + pipTask.setTaskProperties(scaMirrorConfigInfo); + pipTaskDao.updateById(pipTask); + pollTaskStatus(restTemplate, scaTaskId); } else if (message.equals("应用已经存在")) { append(context,message); diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaSbomWorker.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaSbomWorker.java index 3cb9e736..69cea733 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaSbomWorker.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/engine/worker/ScaSbomWorker.java @@ -6,6 +6,7 @@ import cd.casic.ci.process.engine.context.ConstantContextHolder; import cd.casic.ci.process.engine.runContext.BaseRunContext; import cd.casic.ci.process.engine.runContext.TaskRunContext; import cd.casic.ci.process.engine.worker.base.HttpWorker; +import cd.casic.ci.process.process.dal.pipeline.PipTaskDao; import cd.casic.ci.process.process.dataObject.base.PipBaseElement; import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline; import cd.casic.ci.process.process.dataObject.target.TargetVersion; @@ -52,6 +53,9 @@ public class ScaSbomWorker extends HttpWorker { @Resource private TargetVersionServiceImpl targetVersionService; + @Resource + private PipTaskDao pipTaskDao; + @Override public void execute(TaskRunContext context) { int statusCode = 0; @@ -93,7 +97,7 @@ public class ScaSbomWorker extends HttpWorker { append(context,"目标文件不存在或不可读"); } - handleUpload(pipTask.getTaskProperties(), file,context); + handleUpload(pipTask, file,context); }catch (Exception e){ append(context,"==================SCA-SBOM节点执行失败================="); append(context,"SCA-SBOM节点执行失败失败,请检查当前节点配置!"); @@ -106,7 +110,8 @@ public class ScaSbomWorker extends HttpWorker { localVariables.put("statusCode", statusCode + ""); } - private void handleUpload(Map scaSbomConfigInfo, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + private void handleUpload(PipTask pipTask, File file, BaseRunContext context) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + Map scaSbomConfigInfo = pipTask.getTaskProperties(); RestTemplate restTemplate = getRestTemplateWithoutSANCheck(); String scaUploadUrl = ConstantContextHolder.getScaIp() + "/openapi/v1/sbom/detect-file"; MultiValueMap body = buildRequestBody(scaSbomConfigInfo, file); @@ -124,6 +129,11 @@ public class ScaSbomWorker extends HttpWorker { JSONObject data = response.getJSONObject("data"); Integer scaTaskId = data.getInteger("scaTaskId"); + //更新xmTraceId数据到task表 + scaSbomConfigInfo.put("xmTraceId",response.getJSONObject("xmTraceId").toString()); + pipTask.setTaskProperties(scaSbomConfigInfo); + pipTaskDao.updateById(pipTask); + pollTaskStatus(restTemplate, scaTaskId); } else if (message.equals("应用已经存在")) { append(context,message);