我正在尝试编写一个执行 REST api 调用并获取 JSON 对象的 Groovy 脚本,然后,我需要从此 JSON 中获取特定字符串并检查它是否与我在脚本中提供的另一个字符串匹配。
我做了所有事情,直到比较部分,
我从 JSON 得到的字符串看起来像
[AAAAAA/BBBBBB/CCCCCC/file.txt]
这是我的 Groovy 脚本:
/*Import Section*/
//--------------//
groovy.json.*
/*Var Declaration*/
//---------------//
String errMessage = "There were no Junit tests impacted in this PR,
Comparison is: "
String scssMessage = "There were Junit tests impacted in this PR,
Comparison is: "
usr= "USERNAME"
pass= "PASSWORD"
pr_num = 92
String validPath = "AAAAAA/BBBBBB/CCCCCC/DDDDDD/EEEEEE"
def copmarison = !false
/*REST API call*/
//------------//
url= "http://{$usr}:
{$pass}@XX.XXX.X.XX:PPPP/rest/api/1.0/projects/XX/repos/TTTTT/pull-
requests/+{$pr_num}/changes?changescope"
process = [ 'bash', '-c', "curl ${url}" ].execute()
process.waitFor()
/*JSON parsing*/
//------------//
def info = new JsonSlurper().parseText(process.text)
def path = info.values.path.toString
/*Impacted JUNIT verifycation*/
//---------------------------//
if(path==validPath){
println ("$scssMessage"+"Valid"+"\n")
comparison=true
}else{
println ("$errMessage"+"Not Valid"+"\n")
comparison=!false
}
我确定我的比较不好,我希望比较并查找我的“路径”的一部分是否包含在我的“有效路径”中。
例如,以下情况表示为真:
AAAAAA/BBBBBB/CCCCCC/file.txt
包含在:
AAAAAA/BBBBBB/CCCCCC/DDDDDD/EEEEEE
我需要找到一种方法来进行这种比较
请帮忙