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) {