Upon further thought, the custom exception is exactly what it should be. We obviously don't want further processing of output from an error. Thanks much!
On Thu, Apr 6, 2017 at 11:47 AM, Christian McHugh < [email protected]> wrote: > Would a custom exception allow for returning the requested output, or > would that only display in the Jenkins console? > > On Thu, Apr 6, 2017 at 11:32 AM, Robert Sandell <[email protected]> > wrote: > >> You could throw a custom Exception with the output contained within. >> >> /B >> >> On Thu, Apr 6, 2017 at 11:31 AM, Christian McHugh < >> [email protected]> wrote: >> >>> Greetings, >>> >>> For the saltstack plugin to support pipeline, it attempts to return the >>> job output. Since it should always return the output, in case of a problem, >>> the build is marked as a failure, but processing still occurs after the >>> salt step. >>> >>> So given a pipeline where a salt message is sent, followed by other >>> things (such as an echo) >>> pipeline { >>> agent { >>> label "agent1" >>> } >>> stages { >>> stage('run salt') { >>> steps { >>> script { >>> output = salt authtype: 'pam', clientInterface: >>> local(arguments: '"sleep 5; ls -la"', blockbuild: true, function: >>> 'cmd.run', jobPollTime: 6, minionTimeout: 4, target: '*', targettype: >>> 'glob'), credentialsId: 'b5f40401-01b9-4b27-a5e8-8ae94bc90250', >>> servername: 'http://localhost:8000' >>> echo output >>> } >>> } >>> } >>> stage('another thing') { >>> steps { >>> echo "next thing" >>> } >>> } >>> } >>> } >>> >>> >>> If salt runs into a problem, I would still like it to return the output >>> string, fail the build, but also stop processing. Currently marks the build >>> as a failure, but since there was no other exception raised, the pipeline >>> tasks continue >>> >>> ... >>> Some minions returned. Waiting 4 seconds >>> ERROR: Minions timed out: >>> ["minion1"] >>> >>> >>> [Pipeline] echo >>> [{"master":{"return":"total 20\ndrwx------ 3 root root 4096 Mar 25 07:51 >>> .\ndrwxr-xr-x 25 root root 4096 Mar 30 06:40 ..\n-rw-r--r-- 1 root root >>> 3106 Oct 22 2015 .bashrc\n-rw-r--r-- 1 root root 148 Aug 17 2015 >>> .profile\ndrwx------ 2 root root 4096 Mar 25 07:51 .ssh"}}] >>> [Pipeline] } >>> [Pipeline] // script >>> [Pipeline] } >>> [Pipeline] // stage >>> [Pipeline] stage >>> [Pipeline] { (another thing) >>> [Pipeline] echo >>> next thing >>> [Pipeline] } >>> [Pipeline] // stage >>> [Pipeline] } >>> [Pipeline] // node >>> [Pipeline] End of Pipeline >>> Finished: FAILURE >>> >>> >>> >>> I'm not sure how to handle the case of wanting to stop processing while >>> also returning the salt output. >>> protected String run() throws Exception { >>> ... >>> boolean validFunctionExecution = DoSomeWork(); >>> >>> if (!validFunctionExecution) { >>> listener.error("One or more minion did not return correctly\n"); >>> >>> run.setResult(Result.FAILURE); >>> } >>> >>> return saltOutput.toString(); >>> >>> } >>> >>> >>> >>> Does anyone have any advice or thoughts? >>> >>> Thanks! >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Jenkins Developers" 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/ms >>> gid/jenkinsci-dev/4abc0754-31dc-4717-be91-1777f031681a%40goo >>> glegroups.com >>> <https://groups.google.com/d/msgid/jenkinsci-dev/4abc0754-31dc-4717-be91-1777f031681a%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Robert Sandell >> *Software Engineer* >> *CloudBees Inc.* >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Jenkins Developers" group. >> To unsubscribe from this topic, visit https://groups.google.com/d/to >> pic/jenkinsci-dev/KsEzZSoGjo0/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion on the web visit https://groups.google.com/d/ms >> gid/jenkinsci-dev/CALzHZS2mieb49JAN6mxGBwfNGxdF94to4% >> 3DPxfTr1FyTSu%3Da2yQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS2mieb49JAN6mxGBwfNGxdF94to4%3DPxfTr1FyTSu%3Da2yQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" 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-dev/CAPnfjncxGoJYLKfWT2u%3Daeyq-50fJ%2Bmg4ORQdDY14MPDbuW9SQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
