我在Jenkins Pipeline作业中使用以下命令:
sh "postman-combine-collections -f *.postman_collection.json -o out.collection.json"
sh "newman run out.collection.json -e apigee-${params.Environment}-environment.postman_environment.json"
它始终只运行第一个集合。
我正在使用Postman-combine-collections v1.1.0。
谢谢!
答案 0 :(得分:1)
在尝试两次运行newman时,我遇到了同样的问题。我想使用两个不同的环境文件。如果newman失败退出(退出代码!= 0),则Jenkins作业将停止。
如果使用-x(-suppress-exit-code),则执行第二次运行。不幸的是,这种方式将第一次运行的退出代码设置为0。第一次运行失败的测试不会使Jenkins作业失败。
这是我的解决方法:
sh """
set +e
newman run collection.json -e environment01.json
if [ $? != 0 ]
then
newman run collection.json -e environment02.json
exit 1
else
newman run collection.json -e environment02.json
fi
"""
通过明确定义“ set + e”,詹金斯继续失败。如果第一次运行的退出代码不为零,则无论第二次运行得到什么结果,Jenkins都会以返回代码1退出。如果第一次运行成功,则第二次运行将确定Jenkins作业的结果。