我的Jenkins Active选择参数之一中包含以下groovy脚本:
import groovy.json.JsonSlurper
import jenkins.model.Jenkins
versions = getArtifactsVersions()
def getArtifactsVersions(){
def responseJson = "curl -k -X GET https://{Artifatory_URL}/storage/my-repo/".execute().text
def projectList = (new groovy.json.JsonSlurper().parseText(responseJson)).children
return projectList
}
它假设要返回此路径中存在的Folders列表(不包含子目录),但是,我从中得到的结果是:
{uri=/TEST_FOR_YONI, folder=true}
{uri=/TEST_FOR_PKMLODEL_V2, folder=true}
我如何更改它以返回:
TEST_FOR_YONI
TEST_FOR_PKMLODEL_V2
为了进行调试,我运行了以下命令:
import groovy.json.JsonSlurper
import jenkins.model.Jenkins
def responseJson = "curl -k -X GET https://{Artifatory_URL}/storage/my-repo/".execute().text
print responseJson
并重新运行以下内容:
{
"repo" : "my-repo",
"path" : "/",
"created" : "2020-11-29T18:00:42.635+02:00",
"lastModified" : "2020-11-29T18:00:42.635+02:00",
"lastUpdated" : "2020-11-29T18:00:42.635+02:00",
"children" : [ {
"uri" : "/TEST_FOR_YONI",
"folder" : true
}, {
"uri" : "/TEST_FOR_PKLMODEL_V2",
"folder" : true
}
],
"uri" : "https://{Artifatory_URL}/storage/my-repo/"
}
def responseJson='''
{
"repo" : "my-repo",
"path" : "/",
"created" : "2020-11-29T18:00:42.635+02:00",
"lastModified" : "2020-11-29T18:00:42.635+02:00",
"lastUpdated" : "2020-11-29T18:00:42.635+02:00",
"children" : [ {
"uri" : "/TEST_FOR_YONI",
"folder" : true
}, {
"uri" : "/TEST_FOR_PKLMODEL_V2",
"folder" : true
}
],
"uri" : "https://{Artifatory_URL}/storage/my-repo/"
}
'''
def projectList = new groovy.json.JsonSlurper().parseText(responseJson).children.collect{ it.uri.substring(1) }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句