надеюсь, что у вас все в порядке, у меня вопрос noob.
Я работаю над Дженкинсом, и я пытаюсь получить информацию из файла json, но отображается как логическое (true / false), когда я распечатать сообщение. Я хочу напечатать информацию в виде строки, чтобы проверить информацию и сравнить с другим файлом.
Просто идея: у меня есть несколько флажков, и я хочу выбрать один или два, это изображение флажков и простой gui: Изображение GUI
Json file:
{ "data":[
{"feature":"Basic_Tests",
"scenario":[
"Test_1",
"Test_2",
"Test_3",
"Test_4",
"Test_5"
]},
{"feature":"Basic_test2",
"scenario":[
"Test_6",
"Test_7",
"Test_8"]}]}
Итак, First_option работает (сообщение: «Basic_test»), но, к сожалению, когда я попытка печати Second_option отображается как True, false, false, false , если я выберу «Test_1 »
edit 04/18:
Я добавлю немного кода:
Jenkinsfile:
node {
stage('Server Configuration') {
echo "Test"
}
stage('Testing_features') {
if("${Suite}" == "First_option")
{
if("${Select_Option}" == "Single_Feature_Multiple_TestCases")
{
echo "${Suite}" //Works shows String
echo "${Select_Option}" // Works
echo "${Features}" //Works
echo "${Test_cases}" //Shows boolean data but info is needed as string
}
}
else
{
echo "Select Another Suite"
}
}
}
Suite. groovy:
import groovy.json.JsonSlurper
if(Suite.equals("First_option"))
{
def process =["cat","/var/lib/json/features.json"].execute()
def jsonSlurper = new JsonSlurper()
List<String> artifacts = new ArrayList<String>()
def object = jsonSlurper.parseText(process.text)
assert object instanceof Map
for(i=0;i<object.data.size();i++){ artifacts.add(object.data[i].feature)
}
def x='''
<html>
<head>
</head>
<style>
body{color:black}
form {background-color: #C5D7DF;
}
</style>
<body >
<form>
'''
if(Select_Option.equals("Single_Feature_Multiple_TestCases"))
{
x+='''<table>'''
for(i=0;i<artifacts.size();i++)
{
if(i%3==0)
{
x+='''<tr >'''
}
x+="<td><input type='radio' name=\"value\" value="+artifacts[i] +">"+artifacts[i]+"</td>"
}
if(i%3==0)
{
x+='''</tr>'''
}
x+='''</form>
</body>
</html>
'''
return x
}}
test_cases. groovy:
import groovy.json.JsonSlurper
if(Suite.equals("First_option"))
{
def jsonSlurper = new JsonSlurper()
List<String> artifacts = new ArrayList<String>()
def process =["cat","/var/lib/json/features.json"].execute()
def object = jsonSlurper.parseText(process.text)
def scen;
assert object instanceof Map
def x='''
<html>
<head>
</head>
<body><form>'''
if(Select_Option.equals("Single_Feature_Multiple_TestCases"))
{
x+='''<table>'''
for(i=0;i<object.data.size();i++){
if((object.data[i].feature).equals(Features))
{
for(j=0;j<object.data[i].scenario.size();j++)
{
x+="<tr><td><input type='checkbox' name=\"value\" value="+object.data[i].scenario[j]+">"+object.data[i].scenario[j]+"</td></tr>"
}
}
}
x+='''</table></form>
</body>
</html>
'''
return x
}
else
{
x+="<input type='radio' name=\"value\" value=\"All Scenario\" checked> All Scenario"
x+='''
</form>
</body>
</html>
'''
return x
}
}
Результаты:
[Pipeline] { (Signalling)
[Pipeline] echo
Basic_Tests,
[Pipeline] echo
true,false,false,false,false,
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Добавление некоторые фотографии "Select_option" и "Suite" on jenkins
Suite
Select_Option
Если я что-то упустил, я скоро добавлю-я sh ...