Hi,
I'm not sure I understood your issue on calling functions. Maybe there
is only a bit of confusion about the Jenkins pipeline syntax.
From what you said, you are already calling functions into the post
sections: "cleanWs()" is a function, "emailext body: ... " is a function.
So, maybe you are confused by the fact Jenkins syntax in post doesn't
allow something like:
post {
aFunction()
}
So, nope, the above doesn't work. Because the "post" syntax are blocks
based on the result of the pipeline and you actually listed all possible
options:
"always, changed, fixed, regression, aborted, success, unsuccessful,
unstable, failure, notBuilt, cleanup"
And if I understood, you want to call a function that does different
things depending on the pipeline result ... then, you need to used "always":
post {
always {
aFunction(BUILD_RESULT)
}
}
And then the function will do different things depending of the
BUILD_RESULT value:
if (BUILD_RESULT == "SUCCESS") {
message = "Pipeline failed"
} else {
message = "Pipeline ... whatever"
}
I hope that helps.
Cheers,
Gianluca.
On 20/12/2020 17:35, Kernel Panic wrote:
Hello there.
I looking for an elagant way to execute code from the post {} section,
I want to write a clean Jenkinsfile and execute code from shared
libraries as
posible.
In the post section I have the tipical clean working directory like this:
always {
cleanWs()
}
I also send notification based on pipeline completion, I mean, aobrted
, failed,
changed and so on, but I want to call a function to do that, I want
to remove the
email code I have something like this:
emailext body: 'Check console output at $BUILD_URL to view the
results. \n\n ${CHANGES} \n\n ---------------------------------
\n${BUILD_LOG, maxLines=50, escapeHtml=false}',
to: "${EMAIL_ADDRESSES}",
subject: 'Pipeline Execution Failed: $PROJECT_NAME -
#$BUILD_NUMBER'
The problem seems that from the post you only can call an expected
function of
type: always, changed, fixed, regression, aborted, success,
unsuccessful, unstable, failure, notBuilt, cleanup.
Is there another way to accomplish this to write a more clean Post
section?
Thanks
Regards
--
You received this message because you are subscribed to the Google
Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/ea74e553-88a7-4925-ade2-27462aaceab1n%40googlegroups.com
<https://groups.google.com/d/msgid/jenkinsci-users/ea74e553-88a7-4925-ade2-27462aaceab1n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups "Jenkins
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/7379987a-7062-0c47-d447-98f6a6999142%40gmail.com.