Используйте это, чтобы получить статус выхода команды:
def samAppBuildStatus = sh returnStatus: true, script: 'cd sam-app-folder; sam build | grep "Succeeded"'
или это, если вы не хотите видеть stderr
в выводе:
def samAppBuildStatus = sh returnStatus: true, script: 'cd sam-app-folder; sam build 2>&1 | grep "Succeeded"'
затем в вашем Jenkinsfile
вы можете сделать что-то вроде этого:
if (!samAppBuildStatus){
echo "build success [$samAppBuildStatus]"
} else {
echo "build failed [$samAppBuildStatus]"
}
Причина !
в том, что определения true
и false
между shell и groovy отличаются (0
это true
для оболочки).