从jenkinsfile运行shell命令

从jenkinsfile运行shell命令,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我为一个回购配置了jenkins管道作业。从Jenkins文件中,我运行的命令如下 statusCode = sh (script: "java -jar assembly.jar --file ${workingDir}/excel/Case-Metadata.xlsx --name ${workingDir}/opCo.json --json ${workingDir}/opCo.json --pot opCo.pot", returnStatus: true ) //printing

我为一个回购配置了jenkins管道作业。从Jenkins文件中,我运行的命令如下

statusCode = sh (script: "java -jar assembly.jar --file 
${workingDir}/excel/Case-Metadata.xlsx --name ${workingDir}/opCo.json --json 
${workingDir}/opCo.json --pot opCo.pot", returnStatus: true )
//printing value of statusCode as
sh "echo 'command status is ${statusCode}'"
if (statusCode != 0)
{
   currentBuild.result = 'FAILURE'
   error "Shell command failed"
}
当我运行作业时,它会抛出如下错误

java.lang.NullPointerException at FXSheet$$anonfun$getcaseCategories$1$$anonfun$apply$mcVI$sp$26$$anonfun$apply$mcVI$sp$27.apply$mcVI$sp(FXSheet.scala:969)

即使命令失败,statusCode的值仍为“0”。

这听起来像是
assembly.jar中的一个可能问题,没有抛出异常以使用正确的退出代码退出程序。我同意mkobit。这似乎是assembly.jar的问题,而不是Jenkins shell步骤的问题。如果存在任何错误(如java.lang.NullPointerException),如何使Jenkins build失败该错误在对源文件进行一些更改并生成jar文件后消失。但我可能不知道在代码的哪一部分提前发生了这个问题。所以我想写一个条件,如果在构建过程中发生nullpointerexception,我想让构建失败。这样我就可以检查是否发生了问题。否则,如果build status为绿色,那么我不知道问题在哪里。
assembly.jar
中听起来可能有问题,没有抛出异常以使用正确的退出代码退出程序。我同意mkobit。这似乎是assembly.jar的问题,而不是Jenkins shell步骤的问题。如果存在任何错误(如java.lang.NullPointerException),如何使Jenkins build失败该错误在对源文件进行一些更改并生成jar文件后消失。但我可能不知道在代码的哪一部分提前发生了这个问题。所以我想写一个条件,如果在构建过程中发生nullpointerexception,我想让构建失败。这样我就可以检查是否发生了问题。否则,如果构建状态为绿色,则我不知道存在该问题