I am using declarative pipeline syntax. I want to re trigger my build for 3 times if it fails. I want to add this step in my pipeline may be in post step: Something like below:
post { failure{ retrigger //try for 3 times atleast } } I am using declarative pipeline syntax. I want to re trigger my build for 3 times if it fails. I want to add this step in my pipeline may be in post step: Something like below:
post { failure{ retrigger //try for 3 times atleast } } The other answer is incorrect. There is indeed a builtin to retry arbitrary sections of your job called retry.
If you want to retry the whole job three times, you can wrap your entire job in a retry block:
retry(count: 3) { // your job definition here } However, if it's safe to do so, I would recommend wrapping individual steps or stages instead:
stage('my first stage') { retry(count: 3) { sh('some-command') sh('some-other-command') } } retry at the top of a stage block I get "Unknown stage section "retry"." error when validating. There is a retry parameter in the global options when using declarative pipeline :
pipeline { agent any options { retry(3) } stages { ... } } There doesn't seem to be a built in pipeline step to do this, and neither does there seem to be a existing plugin that works with pipelines. I'd recommend having a look at the stackoverflow answer: https://stackoverflow.com/a/46852240/1019835
You can implement that code as a shared library, which would allow you to share your solution between projects. Have a look at this tutorial to do that: https://jenkins.io/doc/book/pipeline/shared-libraries/