Merge "Refactor release-mcp pipelines"
diff --git a/tag-git-repos.groovy b/tag-git-repos.groovy
index 52344d1..550a2a1 100644
--- a/tag-git-repos.groovy
+++ b/tag-git-repos.groovy
@@ -28,6 +28,9 @@
             def repos = GIT_REPO_LIST.tokenize('\n')
             def repoUrl, repoName, repoCommit, repoArray
             for (repo in repos){
+                if(repo.startsWith('#'))
+                  common.warningMsg("Skipping:" + repo.toString())
+                  continue
                 if(repo.trim().indexOf(' ') == -1){
                     throw new IllegalArgumentException("Wrong format of repository and commit input")
                 }
@@ -43,4 +46,4 @@
             throw e
         }
     }
-}
\ No newline at end of file
+}
diff --git a/test-drivetrain.groovy b/test-drivetrain.groovy
index 21d1a8a..559968b 100644
--- a/test-drivetrain.groovy
+++ b/test-drivetrain.groovy
@@ -34,10 +34,21 @@
 }
 
 def runJobOnJenkins(jenkinsUrl, userName, password, jobName, parameters){
+    def status = "null"
     def jenkinsDownCmd = "curl -OL ${jenkinsUrl}/jnlpJars/jenkins-cli.jar --output ./jenkins-cli.jar"
-    def runJobFromSaltMasterCmd = "java -jar jenkins-cli.jar -s ${jenkinsUrl} -noKeyAuth -auth admin:${password} build ${jobName} ${parameters} -s | grep -E 'SUCCESS|UNSTABLE'"
+    def runJobFromSaltMasterCmd = "java -jar jenkins-cli.jar -s ${jenkinsUrl} -noKeyAuth -auth ${userName}:${password} build ${jobName} ${parameters} -w"
+    def waitJobFromSaltMasterCmd = "curl -s -X GET '${jenkinsUrl}/job/${jobName}/lastBuild/api/json?tree=result' --user ${userName}:${password} | jq -r '.result'"
     salt.cmdRun(pepperEnv, "I@salt:master", jenkinsDownCmd)
     salt.cmdRun(pepperEnv, "I@salt:master", runJobFromSaltMasterCmd)
+    while (status == "null" || status.contains("parse error")){
+        status = salt.cmdRun(pepperEnv, "I@salt:master", waitJobFromSaltMasterCmd, false)
+        status = status.get("return")[0].values()[0].trim()
+        println("The job ${jobName} result is $status")
+        if(status == "FAILURE"){
+            throw new Exception("The job ${jobName} result is FAILURE.")
+        }
+        sleep(10)
+    }
 }
 
 timeout(time: 12, unit: 'HOURS') {