diff --git a/pom.xml b/pom.xml index cc3a31d6cf9bebdb77e1e60b40bc5ae3b87b692a..b133075e47b29f3d0d665688366e6e10561f900e 100644 --- a/pom.xml +++ b/pom.xml @@ -218,6 +218,35 @@ + + + com.huaweicloud.sdk + huaweicloud-sdk-cloudtest + 3.1.39 + + + com.fasterxml.jackson.core + jackson-core + + + com.fasterxml.jackson.core + jackson-databind + + + com.huaweicloud.sdk + huaweicloud-sdk-core + + + org.openeuler + bgmprovider + + + org.slf4j + slf4j-api + + + + diff --git a/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java b/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java index 2d9af92d673170144ce3ef0c7be94e59518f44df..152c77171dfe9481c4936ba3ab315cf8c6d6636e 100644 --- a/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java +++ b/src/main/java/com/huawei/jenkins/cloudpipeline/CodeArtsPipelineService.java @@ -2,9 +2,7 @@ package com.huawei.jenkins.cloudpipeline; import com.google.common.base.Preconditions; import com.huaweicloud.sdk.cloudpipeline.v2.CloudPipelineClient; -import com.huaweicloud.sdk.cloudpipeline.v2.model.RunPipelineDTO; -import com.huaweicloud.sdk.cloudpipeline.v2.model.RunPipelineRequest; -import com.huaweicloud.sdk.cloudpipeline.v2.model.RunPipelineResponse; +import com.huaweicloud.sdk.cloudpipeline.v2.model.*; import com.huaweicloud.sdk.cloudpipeline.v2.region.CloudPipelineRegion; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.auth.ICredential; @@ -35,10 +33,17 @@ public class CodeArtsPipelineService implements Serializable { request.withPipelineId(customInput.getPipeline_id()); RunPipelineDTO body = new RunPipelineDTO(); request.withBody(body); - String message = ""; + String status = "RUNNING"; try { RunPipelineResponse response = client.runPipeline(request); - message = response.getPipelineRunId(); + while (status.equals("RUNNING")) { + status = ShowPipelineRunDetail(client, listener, customInput); + try { + Thread.currentThread().sleep(10000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { @@ -47,7 +52,28 @@ public class CodeArtsPipelineService implements Serializable { e.printStackTrace(); listener.getLogger().println("ErrorMsg:" + e.getErrorMsg()); } - return message; + return status; + } + + + public static String ShowPipelineRunDetail(CloudPipelineClient client, TaskListener listener, CustomInput customInput) { + ShowPipelineRunDetailRequest request = new ShowPipelineRunDetailRequest(); + request.withProjectId(customInput.getProject_id()); + request.withPipelineId(customInput.getPipeline_id()); + String status = "RUNNING"; + try { + ShowPipelineRunDetailResponse response = client.showPipelineRunDetail(request); + status = response.getStatus(); + listener.getLogger().println("status:" + response.getStatus()); + } catch (ConnectionException e) { + e.printStackTrace(); + } catch (RequestTimeoutException e) { + e.printStackTrace(); + } catch (ServiceResponseException e) { + e.printStackTrace(); + listener.getLogger().println("ErrorMsg:" + e.getErrorMsg()); + } + return status; } private static void inputValidate(CustomInput customInput) {