Details
-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Minor
-
Resolution: Fixed
-
Component/s: core
-
Labels:
-
Environment:Jenkins 2.78
Pipeline job
-
Similar Issues:
Description
If I surround a General build step (as described in the snippet generator) in a try-catch block, within a scripted Jenkins file, the error is not caught.
for example I expected the following code block to mark the build as unstable. But an error is thrown at the archiveArtifacts step.
node(){ stage('Failing Archive'){ try{ archiveArtifacts 'non existent path' } catch (err) { echo 'Archive failed!' currentBuild.result = 'UNSTABLE' } } }
EDIT (abayer): More generally - CoreStep executions of a SimpleBuildStep (such as archiveArtifacts, which is actually calling the ArtifactArchiver publisher from core), only throw an exception if the SimpleBuildStep itself throws an exception. And as a general rule, failure-but-not-error cases (like the non-existent path case here) of a SimpleBuildStep don't throw an exception, since the FreeStyleBuild they were initially used in would proceed anyway (especially in the case of publishers/recorders, which are the most common SimpleBuildStep implementations), after having set the build status.
Attachments
Issue Links
- is duplicated by
-
JENKINS-45200 Archiving artifacts fails, but build step is shown with a green dot
-
- Resolved
-
-
JENKINS-44407 archiveArtifacts step failure is not displayed
-
- Closed
-
- is related to
-
JENKINS-51913 Post-build action "Archive the artifacts" prints exception to console when no artifacts found
-
- In Review
-
- relates to
-
JENKINS-31931 archive step sets result to FAILURE but does not fail the job
-
- Resolved
-
- links to
Activity
Field | Original Value | New Value |
---|---|---|
Component/s | core [ 15593 ] |
Link |
This issue is duplicated by |
Component/s | workflow-basic-steps-plugin [ 21712 ] | |
Component/s | pipeline [ 21692 ] |
Summary | Try-catch doesn't catch errors from general build steps | CoreStep execution of SimpleBuildSteps doesn't actually fail in Pipeline |
Assignee | Andrew Bayer [ abayer ] |
Description |
If I surround a General build step (as described in the snippet generator) in a try-catch block, within a scripted Jenkins file, the error is not caught. for example I expected the following code block to mark the build as unstable. But an error is thrown at the archiveArtifacts step. {code:java} node(){ stage('Failing Archive'){ try{ archiveArtifacts 'non existent path' } catch (err) { echo 'Archive failed!' currentBuild.result = 'UNSTABLE' } } } {code} |
If I surround a General build step (as described in the snippet generator) in a try-catch block, within a scripted Jenkins file, the error is not caught. for example I expected the following code block to mark the build as unstable. But an error is thrown at the archiveArtifacts step. {code:java} node(){ stage('Failing Archive'){ try{ archiveArtifacts 'non existent path' } catch (err) { echo 'Archive failed!' currentBuild.result = 'UNSTABLE' } } } {code} EDIT (abayer): More generally - {{CoreStep}} executions of a {{SimpleBuildStep}} (such as {{archiveArtifacts}}, which is actually calling the {{ArtifactArchiver}} publisher from core), only throw an exception if the {{SimpleBuildStep}} itself throws an exception. And as a general rule, failure-but-not-error cases (like the non-existent path case here) of a {{SimpleBuildStep}} don't throw an exception, since the {{FreeStyleBuild}} they were initially used in would proceed anyway (especially in the case of publishers/recorders, which are the most common {{SimpleBuildStep}} implementations), after having set the build status. |
Link |
This issue relates to |
Component/s | core [ 15593 ] | |
Component/s | workflow-basic-steps-plugin [ 21712 ] |
Assignee | Andrew Bayer [ abayer ] | Jesse Glick [ jglick ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Summary | CoreStep execution of SimpleBuildSteps doesn't actually fail in Pipeline | archiveArtifacts step failure is not displayed |
Remote Link | This issue links to "PR 3265 (Web Link)" [ 19955 ] |
Status | In Progress [ 3 ] | In Review [ 10005 ] |
Resolution | Fixed [ 1 ] | |
Status | In Review [ 10005 ] | Resolved [ 5 ] |
Link |
This issue is duplicated by |
Link | This issue is related to JENKINS-51913 [ JENKINS-51913 ] |
This is log output, not an exception. What is this issue about?