snippetMinor
Jenkins Groovy to parse console output and mark build failure
Viewed 0 times
jenkinsoutputparseandconsolebuildfailuregroovymark
Problem
What would be a Groovy or pipeline step to parse Jenkins console output, identify a string and mark the build as failure if the string is matched?
Solution
This question seems similar to another on StackOverflow, but seems to be a close, but not exact duplicate of
https://stackoverflow.com/questions/37018509/jenkinsfile-build-log
To quote those :
if you just want to check, that your log contains string myTestString you can just call manager.logContains('.myTestString.')
If you want to get some information from the first matching line you can use manager.getLogMatcher(regexp)
You could use the Groovy flow control to break the build - you just need a step to execute the test:
Following the example on the link :
https://stackoverflow.com/questions/37018509/jenkinsfile-build-log
To quote those :
if you just want to check, that your log contains string myTestString you can just call manager.logContains('.myTestString.')
If you want to get some information from the first matching line you can use manager.getLogMatcher(regexp)
You could use the Groovy flow control to break the build - you just need a step to execute the test:
Following the example on the link :
node {
stage('CheckLog') {
steps {
if (manager.logContains('.*myTestString.*')) {
error("Build failed because of this and that..")
}
}
}Code Snippets
node {
stage('CheckLog') {
steps {
if (manager.logContains('.*myTestString.*')) {
error("Build failed because of this and that..")
}
}
}Context
StackExchange DevOps Q#5363, answer score: 5
Revisions (0)
No revisions yet.