我有以下groovy脚本执行以下操作 - 检查特定作业的所有构建,以查看它是否具有与当前构建相同的构建参数 - 使用与当前构建相同的参数停止构建
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;
}
}
}
}
}
脚本输出了一堆网址,因为这行:
def projectXml = new XmlSlurper().parseText("curl http://test.corp.test.com:8080/job/FractureAUT/api/xml".execute().text);
它并没有做它想做的事情。我怎样才能使这条线
def projectXml = new XmlSlurper().parseText("curl http://test.corp.test.com:8080/job/FractureAUT/api/xml".execute().text);
不会将网址输出到屏幕上吗?
我得到以下输出
189http://test.corp.test.com:8080 /工作/ FractureAUT / 189 / 188http://test.corp.test.com:8080 /工作/ FractureAUT / 188 / 187http://test.corp .test.com:8080 /工作/ FractureAUT / 187 / 186http://test.corp.test.com:8080 /工作/ FractureAUT / 186 / 185http://test.corp.test.com:8080 /工作/ 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 /工作/ FractureAUT / 182 / 181http://test.corp.test.com:8080 /工作/ FractureAUT / 181 / 179http://test.corp.test.com:8080 /工作/ 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 /工作/ FractureAUT / 176 / 174http://test.corp.test.com:8080 /工作/ FractureAUT / 174 / 173http://test.corp.test.com:8080 /工作/ FractureAUT /173/172http://test.corp.test.com:8080/job/FractureAUT/172/171http://test.corp.test.com:8080/job/FractureAUT/171/170http://test.corp .test.com:8080 /工作/ FractureAUT / 170 / 169http://test.corp.test。 COM:8080 /工作/ FractureAUT / 169 / 168http://test.corp.test.com:8080 /工作/ FractureAUT / 168 / 167http://test.corp.test.com:8080 /工作/ FractureAUT / 167 / 166http://test.corp.test.com:8080 /工作/ FractureAUT / 166 / 165http://test.corp.test.com:8080 /工作/ FractureAUT / 165 / 164http://test.corp.test。 COM:8080 /工作/ FractureAUT / 164 / 163http://test.corp.test.com:8080 /工作/ FractureAUT / 163 / 162http://test.corp.test.com:8080 /工作/ FractureAUT / 162 / 161http://test.corp.test.com:8080 /工作/ FractureAUT / 161 / 160http://test.corp.test.com:8080 /工作/ FractureAUT / 160 / 159http://test.corp.test。 COM:8080 /工作/ FractureAUT / 159 / 158http://test.corp.test.com:8080 /工作/ FractureAUT / 158 / 157http://test.corp.test.com:8080 /工作/ FractureAUT / 157 / 156http://test.corp.test.com:8080 /工作/ FractureAUT / 156 / 155http://test.corp.test.com:8080 /工作/ FractureAUT / 155 / 154http://test.corp.test。 COM:8080 /工作/ FractureAUT / 154 / 153http://test.corp.test.com:8080 /工作/ FractureAUT / 153 / 152http://test.corp.test.com:8080 /工作/ FractureAUT / 152 / 151http://test.corp.test.com:8080 /工作/ 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 /工作/ FractureAUT / 146 / 144http://test.corp.test.com:8080 /工作/ FractureAUT / 144 / 143http://test.corp.test.com:8080 /工作/ 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 /工作/ FractureAUT / 140 / 139http://test.corp.test.com:8080 /工作/ FractureAUT / 139 / 138http://test.corp.test.com:8080 /工作/ FractureAUT / 138 /137http://test.corp.test.com:8080/job/FractureAUT/137/136http://test.corp.test.com:8080/job/FractureAUT/136/135http://test.corp.test .COM:8080 /工作/ FractureAUT / 135 / 134http://test.corp.test.com:8080 /工作/ FractureAUT / 134 / 133http://test.corp.test.com:8080 /工作/ 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 /工作/ FractureAUT / 130 / 129http://test.corp.test.co米:8080 /工作/ FractureAUT / 129 / 128http://test.corp.test.com:8080 /工作/ FractureAUT / 128 / 127http://test.corp.test.com:8080 /工作/ FractureAUT / 127 / 126http://test.corp.test.com:8080 /工作/ FractureAUT / 126 / 125http://test.corp.test.com:8080 /工作/ FractureAUT / 125 / 124http://test.corp.test。 COM:8080 /工作/ FractureAUT / 124 / 123http://test.corp.test.com:8080 /工作/ FractureAUT / 123 / 122http://test.corp.test.com:8080 /工作/ FractureAUT / 122 / 121http://test.corp.test.com:8080 /工作/ FractureAUT / 121 / 120http://test.corp.test.com:8080 /工作/ FractureAUT / 120 / 119http://test.corp.test。 COM:8080 /工作/ FractureAUT / 119 / 118http://test.corp.test.com:8080 /工作/ FractureAUT / 118 / 117http://test.corp.test.com:8080 /工作/ FractureAUT / 117 / 116http://test.corp.test.com:8080 /工作/ FractureAUT / 116 / 115http://test.corp.test.com:8080 /工作/ FractureAUT / 115 / 114http://test.corp.test。 COM:8080 /工作/ FractureAUT / 114 / 113http://test.corp.test.com:8080 /工作/ FractureAUT / 113 / 112http://test.corp.test.com:8080 /工作/ FractureAUT / 112 / 111http://test.corp.test.com:8080 /工作/ FractureAUT /一分之一百一十一10http://test.corp.test.com:8080 /工作/ FractureAUT / 110 / 109http://test.corp.test.com:8080 /工作/ FractureAUT / 109 / 108http://test.corp.test。 COM:8080 /工作/ FractureAUT / 108 / 107http://test.corp.test.com:8080 /工作/ FractureAUT / 107 / 106http://test.corp.test.com:8080 /工作/ FractureAUT / 106 / 105http://test.corp.test.com:8080 /工作/ FractureAUT / 105 / 104http://test.corp.test.com:8080 /工作/ FractureAUT / 104 / 103http://test.corp.test。 COM:8080 /工作/ FractureAUT / 103 / 102http://test.corp.test.com:8080 /工作/ FractureAUT / 102 / 101http://test.corp.test.com:8080 /工作/ FractureAUT / 101 / 100http://test.corp.test.com:8080 /工作/ FractureAUT / 100 / 99http://test.corp.test.com:8080 /工作/ FractureAUT / 99 / 98http://test.corp.test。 COM:8080 /工作/ FractureAUT / 98 / 97http://test.corp.test.com:8080 /工作/ FractureAUT / 97 / 96http://test.corp.test.com:8080 /工作/ FractureAUT / 96 / 95http://test.corp.test.com:8080 /工作/ FractureAUT / 95 / 94http://test.corp.test.com:8080 /工作/ FractureAUT / 94 / 93http://test.corp.test。 COM:8080 /工作/ FractureAUT / 93 / 92http://test.corp.test.com:8080 /工作/ Fractu reAUT / 92 / 91http://test.corp.test.com:8080 /工作/ FractureAUT / 91 / 90http://test.corp.test.com:8080 /工作/ FractureAUT / 90 / 89http://测试。 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 /工作/ FractureAUT / 86 / 85http://test.corp.test.com:8080 /工作/ FractureAUT / 85 /
为什么我得到上面的输出?
答案 0 :(得分:1)
你为什么要调用curl?只需从groovy中检索URL的内容:
def xmlString = new URL("http://test.corp.test.com:8080/job/FractureAUT/api/xml").getText()
def projectXML = new XMLSlurper().parseText(xmlString)
答案 1 :(得分:1)
XmlSlurper可以直接解析URL:
def projectXml = new XmlSlurper().parse('http://test.corp.test.com:8080/job/FractureAUT/api/xml')
答案 2 :(得分:0)
我认为屏幕上的输出是因为curl
。因此,可以尝试使用-s
或--silent
选项将其静音:
def projectXml = new XmlSlurper().parseText("curl -s 'http://test.corp.test.com:8080/job/FractureAUT/api/xml'".execute().text);