Browse Source

refactor:修改invokebuild方法返回buildId

TianChenjiang 5 years ago
parent
commit
1efc7dbc0e

+ 1 - 1
seecoder-build-client/src/main/java/cn/seecoder/build/client/SeecoderBuildApi.java

@@ -27,5 +27,5 @@ public interface SeecoderBuildApi {
 
     InputStream getArtifact(String jobName, Integer buildId, String path) throws SeecoderBuildException;
 
-    void invokeBuild(Integer pipelineId, String jobName, Map<String,String> params) throws SeecoderBuildException;
+    Integer invokeBuild(Integer pipelineId, String jobName, Map<String,String> params) throws SeecoderBuildException;
 }

+ 2 - 2
seecoder-build-client/src/main/java/cn/seecoder/build/client/SeecoderBuildClient.java

@@ -254,7 +254,7 @@ public class SeecoderBuildClient implements SeecoderBuildApi {
     }
 
     @Override
-    public void invokeBuild(Integer pipelineId, String jobName, Map<String, String> params) throws SeecoderBuildException {
+    public Integer invokeBuild(Integer pipelineId, String jobName, Map<String, String> params) throws SeecoderBuildException {
         try {
             ObjectMapper objectMapper = new ObjectMapper();
             Map<String, Object> paramsMap = new HashMap<>();
@@ -268,7 +268,7 @@ public class SeecoderBuildClient implements SeecoderBuildApi {
                     .build();
             final Call call = client.newCall(request);
             Response response = call.execute();
-            processResponse(objectMapper, response, null);
+            return processResponse(objectMapper, response, Integer.class);
         } catch (IOException e) {
             logger.error("IOException", e);
             throw SeecoderBuildException.IO_ERROR;

+ 1 - 1
seecoder-build-server/src/main/java/cn/seecoder/build/server/service/JobService.java

@@ -18,5 +18,5 @@ public interface JobService {
 
     InputStream getArtifact(String jobName, Integer buildId, String path) throws ServiceException;
 
-    void invokeBuild(Integer pipelineId, String jobName, Map<String,String> params) throws ServiceException;
+    Integer invokeBuild(Integer pipelineId, String jobName, Map<String,String> params) throws ServiceException;
 }

+ 4 - 2
seecoder-build-server/src/main/java/cn/seecoder/build/server/service/impl/JobServiceImpl.java

@@ -9,6 +9,7 @@ import cn.seecoder.build.server.service.facade.jenkins.JenkinsApi;
 import cn.seecoder.build.server.service.model.converter.PipelineConverter;
 import cn.seecoder.build.server.util.ServiceException;
 import com.offbytwo.jenkins.model.BuildWithDetails;
+import com.offbytwo.jenkins.model.QueueItem;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -84,7 +85,7 @@ public class JobServiceImpl implements JobService {
     }
 
     @Override
-    public void invokeBuild(Integer pipelineId, String jobName, Map<String, String> params) throws ServiceException {
+    public Integer invokeBuild(Integer pipelineId, String jobName, Map<String, String> params) throws ServiceException {
         Pipeline pipeline = pipelineDAO.findById(pipelineId).orElse(null);
         if (pipeline == null) {
             throw ServiceException.BAD_REQUEST;
@@ -100,6 +101,7 @@ public class JobServiceImpl implements JobService {
                 }
             });
         }
-        jenkinsApi.invokeBuild(jobName, params);
+        QueueItem item = jenkinsApi.invokeBuild(jobName, params);
+        return item.getExecutable().getNumber().intValue();
     }
 }