2016-08-19 5 views
0

다음과 같은 그루비 스크립트가 있습니다. - 특정 작업에 대한 모든 빌드가 현재 빌드와 동일한 빌드 매개 변수를 가지고 있는지 확인합니다. - 같은 매개 변수로 빌드를 중지합니다.groovy 스크립트와 관련된 문제

def projectXml = new XmlSlurper().parseText("curl http://test.corp.test.com:8080/job/FractureAUT/api/xml".execute().text); 

을하고 그것이 어떻게 가정 일을하지 않습니다

import hudson.tasks.Ant 

def myBuildNumber = build.getEnvVars()['BUILD_NUMBER'].toInteger(); 
def myFractureNO = build.getEnvVars()['FRACTURE_NO'].toInteger(); 


def projectXml = new XmlSlurper().parseText("curl http://test.corp.test.com:8080/job/FractureAUT/api/xml".execute().text); 

projectXml.build.each { 
    if(it.number.toInteger() < myBuildNumber) 
    { 
     def jobXml = new XmlSlurper().parseText(("curl http://test.corp.test.com:8080/job/FractureAUT/" + it.number + "/api/xml").execute().text); 

     def myparams = jobXml.getAction(hudson.model.ParametersAction.class); 
     for(p in myparams) { 
      printlin p.name.toString(); 
      if (p.name.toString == "FRACTURE_NO") { 
       if (p.value.toString() == myFractureNO.toString()) { 
       "curl http://test.corp.adobe.com:8080/job/FractureAUT/" + it.number + "/stop".execute().waitFor(); 
       break; 
       } 
      } 
     } 

    } 
} 

스크립트 현재 빌드 때문에 라인의 화면에 URL을 잔뜩 출력합니다. 어떻게해야 그 줄을 만들 수 있습니까?

def projectXml = new XmlSlurper().parseText("curl http://test.corp.test.com:8080/job/FractureAUT/api/xml".execute().text); 

URL을 화면에 출력하지 않습니까? //test.corp.test.com : 8080/작업/FractureAUT가/189/188http : //test.corp.test.com : 8080/작업

나는 다음과 같은 출력을

189http를 얻을 수 /FractureAUT/188/187http://test.corp.test.com:8080/job/FractureAUT/187/186http://test.corp.test.com:8080/job/FractureAUT/186/185http://test .corp.test.com : 8080/job/FractureAUT/185/184http : //test.corp.test.com : 8080/job/FractureAUT/184/183http : //test.corp.test.com : 8080/job /FractureAUT/183/182http://test.corp.test.com:8080/job/FractureAUT/182/181http://test.corp.test.com:8080/job/FractureAUT/181/179http://test .corp.test.com : 8080/job/FractureAUT/179/178http : //test.corp.test.com : 8080/job/FractureAUT/178/177http : //test.corp.test.com : 8080/job /FractureAUT/177/176http://test.corp.test .com : 8080/job/FractureAUT/176/174http : //test.corp.test.com : 8080/job/FractureAUT/174/173http : //test.corp.test.com : 8080/job/FractureAUT/173/172/.com : 8080/job/FractureAUT/170/169http : //test.corp.test.com : 8080/job/FractureAUT/169/168http : //test.corp.test.com : 8080/job/FractureAUT/168 /167http://test.corp.test.com:8080/job/FractureAUT/167/166http://test.corp.test.com:8080/job/FractureAUT/166/165http://test.corp.test .com : 8080/job/FractureAUT/165/164http : //test.corp.test.com : 8080/job/FractureAUT/164/163http : //test.corp.test.com : 8080/job/FractureAUT/163 /162http://test.corp.test.com:8080/job/FractureAUT/162/161http://test.corp.test.com:8080/job/FractureAUT/161/160http://test.corp.test .com : 8080/job/FractureAUT/160/159http : //test.corp.test.com : 8080/job/FractureAUT/159/158http : //test.corp.test.com : 8080/job/FractureAUT/158 /157http://test.corp.test.com:8080/job/FractureAUT/15 7/156http : //test.corp.test.com : 8080/job/FractureAUT/156/155http : //test.corp.test.com : 8080/job/FractureAUT/155/154http : //test.corp. test.com:8080/job/FractureAUT/154/153http://test.corp.test.com:8080/job/FractureAUT/153/152http://test.corp.test.com:8080/job/FractureAUT/ 152/151http : //test.corp.test.com : 8080/job/FractureAUT/151/150http : //test.corp.test.com : 8080/job/FractureAUT/150/148http : //test.corp. test.com:8080/job/FractureAUT/148/146http://test.corp.test.com:8080/job/FractureAUT/146/144http://test.corp.test.com:8080/job/FractureAUT/ 144/143http : //test.corp.test.com : 8080/job/FractureAUT/143/142http : //test.corp.test.com : 8080/job/FractureAUT/142/141http : //test.corp. test.com:8080/job/FractureAUT/141/140http://test.corp.test.com:8080/job/FractureAUT/140/139http://test.corp.test.com:8080/job/FractureAUT/ 139/138http : //test.corp.test.com : 8080/job/FractureAUT/138/137http : //test.corp.test.com : 8080/job/FractureAUT/137/136http : //test.corp. test.com:8080/job/FractureAUT/136/135http://test.corp.test.c Ø 8080/job/FractureAUT/135/134http : //test.corp.test.com : 8080/job/FractureAUT/134/133http : //test.corp.test.com : 8080/job/FractureAUT/133/132http : //test.corp.test.com : 8080/job/FractureAUT/132/131http : //test.corp.test.com : 8080/job/FractureAUT/131/130http : //test.corp.test. com/8080/job/FractureAUT/130/129http : //test.corp.test.com : 8080/job/FractureAUT/129/128http : //test.corp.test.com : 8080/job/FractureAUT/128/127http : //test.corp.test.com : 8080/job/FractureAUT/127/126http : //test.corp.test.com : 8080/job/FractureAUT/126/125http : //test.corp.test. : 8080/job/FractureAUT/125/124http : //test.corp.test.com : 8080/job/FractureAUT/124/123http : //test.corp.test.com : 8080/job/FractureAUT/123/122http : //test.corp.test.com : 8080/job/FractureAUT/122/121http : //test.corp.test.: 8080/job/FractureAUT/119/120http : //test.corp.test.com : 8080/job/FractureAUT/120/119http : //test.corp.test.com : 8080/job/FractureAUT/119/118http : //test.corp.test.com : 8080/job/FractureAUT/118/117http : //test.corp.test.com : 8080/job/FractureAUT/117/116http : //test.corp.test. com/8080/job/FractureAUT/116/115http : //test.corp.test.com : 8080/job/FractureAUT/115/114http : //test.corp.test.com : 8080/job/FractureAUT/114/113http : //test.corp.test.com : 8080/job/FractureAUT/113/112http : //test.corp.test.com : 8080/job/FractureAUT/112/111http : //test.corp.test. : 8080/job/FractureAUT/111/110http : //test.corp.test.com : 8080/job/FractureAUT/110/109http : //test.corp.test.com : 8080/job/FractureAUT/109/108http : //test.corp.test.com : 8080/job/FractureAUT/108/107http : //test.corp.test.com : 8080/job/FractureAUT/107/106http : //test.corp.test. : 8080/job/FractureAUT/104/105http : //test.corp.test.com : 8080/job/FractureAUT/105/104http : //test.corp.test.com : 8080/job/FractureAUT/104/103http : //test.corp.test.com : 8080/job/FractureAUT/103 /102http://test.corp.test.com:8080/job/FractureAUT/102/101http://test.corp.test.com:8080/job/FractureAUT/101/100http://test.corp.test .com : 8080/job/FractureAUT/100/99http : //test.corp.test.com : 8080/job/FractureAUT/99/98http : //test.corp.test.com : 8080/job/FractureAUT/98 /97http://test.corp.test.com:8080/job/FractureAUT/97/96http://test.corp.test.com:8080/job/FractureAUT/96/95http://test.corp.test .com : 8080/job/FractureAUT/95/94http : //test.corp.test.com : 8080/job/FractureAUT/94/93http : //test.corp.test.com : 8080/job/FractureAUT/93 /92http://test.corp.test.com:8080/job/FractureAUT/92/91http://test.corp.test.com:8080/job/FractureAUT/91/90http://test.corp.test .com : 8080/job/FractureAUT/90/89http : //test.corp.test.com : 8080/job/FractureAUT/89/88http : //test.corp.test.com : 8080/job/FractureAUT/88 /87http://test.corp.test.com:8080/job/FractureAUT/87/86http://test.corp.test.com:8080/job/FractureAUT/86/85http://test.corp.test .com : 8080/직업/FractureAUT/85/

왜 출력을 얻습니까?

+0

질문이 여기 어딘가에 있습니까? ;-) – BalRog

+0

나는 이해하지 못한다. 구문 분석 된 XML에서'text'를 호출하면 문자열이 반환됩니다. 반환 된 XML로 처리하지 않겠습니까? –

+0

문자열이 콘솔에 출력됩니다. 문자열이 화면에 출력되는 것을 원하지 않습니다. – Jasmine

답변

1

을 전혀 컬 호출하는 이유는 무엇입니까? 그냥 그루비에서 URL의 내용을 검색 :

def xmlString = new URL("http://test.corp.test.com:8080/job/FractureAUT/api/xml").getText() 
def projectXML = new XMLSlurper().parseText(xmlString) 
+0

나는 여전히 다음과 같은 결과를 얻는다. 189http : //test.corp.test.com : 8080/job/FractureAUT/189/188http : //test.corp.test.com : 8080/job/FractureAUT/188/187http : //test.corp.test.com : 8080/job/FractureAUT/187/186 – Jasmine

0

화면의 출력이 curl 인 것 같습니다. 그래서 -s 또는 --silent 옵션을 침묵 시도 할 수 있습니다 :

def projectXml = new XmlSlurper().parseText("curl -s 'http://test.corp.test.com:8080/job/FractureAUT/api/xml'".execute().text); 
+0

작동하지 않았습니다. 죄송합니다 – Jasmine

+0

출력은 무엇입니까? – alpert

+0

url 묶음 – Jasmine

1

XmlSlurper 직접 URL을 구문 분석 할 수 있습니다 :

def projectXml = new XmlSlurper().parse('http://test.corp.test.com:8080/job/FractureAUT/api/xml') 
관련 문제