1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/vars/handlePipelineStepErrors.groovy
Marcus Holl b7468a7ae4 Step name is not a string literal anymore
Having the step name always the same like the file name, which is in turn the class name is
redundant.
2018-11-29 09:54:05 +01:00

35 lines
1.1 KiB
Groovy

import groovy.text.SimpleTemplateEngine
import groovy.transform.Field
@Field STEP_NAME = getClass().getName()
void call(Map parameters = [:], body) {
def stepParameters = parameters.stepParameters //mandatory
def stepName = parameters.stepName //mandatory
def verbose = parameters.get('echoDetails', true)
def message = ''
try {
if (stepParameters == null && stepName == null)
error "step handlePipelineStepErrors requires following mandatory parameters: stepParameters, stepName"
if (verbose)
echo "--- BEGIN LIBRARY STEP: ${stepName} ---"
body()
} catch (Throwable err) {
if (verbose)
message += SimpleTemplateEngine.newInstance()
.createTemplate(libraryResource('com.sap.piper/templates/error.log'))
.make([
stepName: stepName,
stepParameters: stepParameters?.toString(),
error: err
]).toString()
throw err
} finally {
if (verbose)
message += "--- END LIBRARY STEP: ${stepName} ---"
echo message
}
}