Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-21861

option to include attachment with console.txt from failed slaves

    Details

    • Similar Issues:

      Description

      1. It would be nice to have configuration checkbox in email-ext, to attach zip file with job console logs from failed slaves, like:
      failed_console.zip:
      slave1_console.txt
      slave2_console.txt
      slave3_console.txt

      Currently, the build.zip from master node is ~useless because all interesting info is at slaves and requires manual work to extract.

      2. Also, the build.zip attached in the email-ext contains file named "log", can you change it to log.txt to let "double click" open it in notepad automatically?

        Attachments

          Activity

          dubman Mike Dubman created issue -
          slide_o_mix Alex Earl made changes -
          Field Original Value New Value
          Status Open [ 1 ] In Progress [ 3 ]
          Hide
          slide_o_mix Alex Earl added a comment -

          I'm trying to figure out what logs you are looking to have included...when I attach the normal build log and that build was run on a slave, I get the full console output just like I do when run on master. I already fixed the issue with the file being named just "log" it will now be named "build.log"

          Show
          slide_o_mix Alex Earl added a comment - I'm trying to figure out what logs you are looking to have included...when I attach the normal build log and that build was run on a slave, I get the full console output just like I do when run on master. I already fixed the issue with the file being named just "log" it will now be named "build.log"
          Hide
          dubman Mike Dubman added a comment -

          Thank you for looking into this!

          • On your system you probably run job on jenkins "master" machine, hence its console contains all job output.
          • Jenkins can be configured to run jobs on "slaves" nodes only (master is not in use), so master serves for launching jobs only but real work is done by slaves and only slaves console contain job`s output.
          Show
          dubman Mike Dubman added a comment - Thank you for looking into this! On your system you probably run job on jenkins "master" machine, hence its console contains all job output. Jenkins can be configured to run jobs on "slaves" nodes only (master is not in use), so master serves for launching jobs only but real work is done by slaves and only slaves console contain job`s output.
          Hide
          dubman Mike Dubman added a comment -

          multi-slave jenkins config, no master used.

          Show
          dubman Mike Dubman added a comment - multi-slave jenkins config, no master used.
          dubman Mike Dubman made changes -
          Attachment multi-slave-config-Capture.JPG [ 25327 ]
          Hide
          slide_o_mix Alex Earl added a comment -

          @Mike, my jobs run on slave machines. I can set it up so that they don't run on master at all and I still get the full log output from the job.

          Show
          slide_o_mix Alex Earl added a comment - @Mike, my jobs run on slave machines. I can set it up so that they don't run on master at all and I still get the full log output from the job.
          Hide
          slide_o_mix Alex Earl added a comment -

          I'll dig into this a bit more and see what I can find.

          Show
          slide_o_mix Alex Earl added a comment - I'll dig into this a bit more and see what I can find.
          Hide
          dubman Mike Dubman added a comment -

          hmmm.. interesting, we have tens projects (multi-configuration projects) and mail sent from master always look like this:

          hpc-ompi-shmem - Build # 2217 - Still Failing:

          Git:
          origin/master 368c6bb3261e77d1c12f473ed692ca21bf28c7d3

          Check console output at http://hpc-master.lab.mtl.com:8080/job/hpc-ompi-shmem/2217/ to view the results.
          Build log:
          ...
          Started by an SCM change
          [EnvInject] - Loading node environment variables.
          Building on master in workspace /scrap/jenkins/workspace/hpc-ompi-shmem-2

          Deleting project workspace... done

          Checkout:hpc-ompi-shmem-2 / /scrap/jenkins/workspace/hpc-ompi-shmem-2 - hudson.remoting.LocalChannel@7fd2c81d
          Using strategy: Default
          Last Built Revision: Revision 9fe0dd82ba28da9e918d0c8495c42d04dac628ac (origin/master, origin/HEAD) Cloning the remote Git repository Cloning repository http://bgate.mellanox.com:8080/git/ompi-vendor.git
          git --version
          git version 1.8.4.3
          Fetching upstream changes from origin
          Seen branch in repository origin/HEAD
          Seen branch in repository origin/master
          Seen branch in repository origin/mellanox-master Seen branch in repository origin/mellanox-shmem-from-v1.6 Seen branch in repository origin/mellanox-test_branch Seen branch in repository origin/mellanox-v1.6 Seen branch in repository origin/mellanox-v1.7 Seen branch in repository origin/ompi-hcoll-datatype Seen branch in repository origin/test_branch Seen branch in repository origin/v1.6 Seen branch in repository origin/v1.7 Seen 11 remote branches Multiple candidate revisions Scheduling another build to catch up with hpc-ompi-shmem Commencing build of Revision 368c6bb3261e77d1c12f473ed692ca21bf28c7d3 (origin/master, origin/HEAD) Checking out Revision 368c6bb3261e77d1c12f473ed692ca21bf28c7d3 (origin/master, origin/HEAD) Warning : There are multiple branch changesets here No emails were triggered.
          Triggering r-vmb-rhel6-u3-x86-64
          Triggering r-vmb-fedora14-x86-64
          Triggering r-vmb-rhel5-u10-x86-64
          Triggering r-vmb-rhel6-u2-x86-64
          Triggering r-vmb-rhel6-u4-x86-64
          Triggering hpc-test-node
          Triggering r-vmb-sles11-sp3-x86-64
          Triggering r-vmb-rhel5-u9-x86-64
          Triggering r-vmb-centos5-u7-x86-64
          Triggering r-vmb-sles11-sp1-x86-64
          Triggering r-vmb-fedora16-x86-64
          Triggering r-vmb-fedora17-x86-64
          Triggering r-vmb-rhel5-u8-x86-64
          Triggering r-vmb-ubuntu13-u10-x86-64
          Triggering r-vmb-rhel7-u0-beta-x86-64
          Triggering r-vmb-rhel6-u5-x86-64
          Triggering r-vmb-sles11-sp2-x86-64
          Triggering r-vmb-ole6-u2-x86-64
          Triggering r-vmb-centos6-u0-x86-64
          Triggering r-vmb-rhel6-u1-x86-64
          Triggering r-vmb-ubuntu12-u4-x86-64
          Triggering r-vmb-sles11-sp0-x86-64
          r-vmb-rhel6-u3-x86-64 completed with result SUCCESS
          r-vmb-fedora14-x86-64 completed with result SUCCESS
          r-vmb-rhel5-u10-x86-64 completed with result SUCCESS
          r-vmb-rhel6-u2-x86-64 completed with result SUCCESS
          r-vmb-rhel6-u4-x86-64 completed with result SUCCESS
          hpc-test-node completed with result FAILURE
          r-vmb-sles11-sp3-x86-64 completed with result SUCCESS
          r-vmb-rhel5-u9-x86-64 completed with result SUCCESS
          r-vmb-centos5-u7-x86-64 completed with result SUCCESS
          r-vmb-sles11-sp1-x86-64 completed with result SUCCESS
          r-vmb-fedora16-x86-64 completed with result SUCCESS
          r-vmb-fedora17-x86-64 completed with result SUCCESS
          r-vmb-rhel5-u8-x86-64 completed with result SUCCESS
          r-vmb-ubuntu13-u10-x86-64 completed with result SUCCESS
          r-vmb-rhel7-u0-beta-x86-64 completed with result SUCCESS
          r-vmb-rhel6-u5-x86-64 completed with result SUCCESS
          r-vmb-sles11-sp2-x86-64 completed with result SUCCESS
          r-vmb-ole6-u2-x86-64 completed with result SUCCESS
          r-vmb-centos6-u0-x86-64 completed with result SUCCESS
          r-vmb-rhel6-u1-x86-64 completed with result SUCCESS
          r-vmb-ubuntu12-u4-x86-64 completed with result SUCCESS
          r-vmb-sles11-sp0-x86-64 completed with result SUCCESS
          Email was triggered for: Failure
          Sending email for trigger: Failure

          Show
          dubman Mike Dubman added a comment - hmmm.. interesting, we have tens projects (multi-configuration projects) and mail sent from master always look like this: hpc-ompi-shmem - Build # 2217 - Still Failing: Git: origin/master 368c6bb3261e77d1c12f473ed692ca21bf28c7d3 Check console output at http://hpc-master.lab.mtl.com:8080/job/hpc-ompi-shmem/2217/ to view the results. Build log: ... Started by an SCM change [EnvInject] - Loading node environment variables. Building on master in workspace /scrap/jenkins/workspace/hpc-ompi-shmem-2 Deleting project workspace... done Checkout:hpc-ompi-shmem-2 / /scrap/jenkins/workspace/hpc-ompi-shmem-2 - hudson.remoting.LocalChannel@7fd2c81d Using strategy: Default Last Built Revision: Revision 9fe0dd82ba28da9e918d0c8495c42d04dac628ac (origin/master, origin/HEAD) Cloning the remote Git repository Cloning repository http://bgate.mellanox.com:8080/git/ompi-vendor.git git --version git version 1.8.4.3 Fetching upstream changes from origin Seen branch in repository origin/HEAD Seen branch in repository origin/master Seen branch in repository origin/mellanox-master Seen branch in repository origin/mellanox-shmem-from-v1.6 Seen branch in repository origin/mellanox-test_branch Seen branch in repository origin/mellanox-v1.6 Seen branch in repository origin/mellanox-v1.7 Seen branch in repository origin/ompi-hcoll-datatype Seen branch in repository origin/test_branch Seen branch in repository origin/v1.6 Seen branch in repository origin/v1.7 Seen 11 remote branches Multiple candidate revisions Scheduling another build to catch up with hpc-ompi-shmem Commencing build of Revision 368c6bb3261e77d1c12f473ed692ca21bf28c7d3 (origin/master, origin/HEAD) Checking out Revision 368c6bb3261e77d1c12f473ed692ca21bf28c7d3 (origin/master, origin/HEAD) Warning : There are multiple branch changesets here No emails were triggered. Triggering r-vmb-rhel6-u3-x86-64 Triggering r-vmb-fedora14-x86-64 Triggering r-vmb-rhel5-u10-x86-64 Triggering r-vmb-rhel6-u2-x86-64 Triggering r-vmb-rhel6-u4-x86-64 Triggering hpc-test-node Triggering r-vmb-sles11-sp3-x86-64 Triggering r-vmb-rhel5-u9-x86-64 Triggering r-vmb-centos5-u7-x86-64 Triggering r-vmb-sles11-sp1-x86-64 Triggering r-vmb-fedora16-x86-64 Triggering r-vmb-fedora17-x86-64 Triggering r-vmb-rhel5-u8-x86-64 Triggering r-vmb-ubuntu13-u10-x86-64 Triggering r-vmb-rhel7-u0-beta-x86-64 Triggering r-vmb-rhel6-u5-x86-64 Triggering r-vmb-sles11-sp2-x86-64 Triggering r-vmb-ole6-u2-x86-64 Triggering r-vmb-centos6-u0-x86-64 Triggering r-vmb-rhel6-u1-x86-64 Triggering r-vmb-ubuntu12-u4-x86-64 Triggering r-vmb-sles11-sp0-x86-64 r-vmb-rhel6-u3-x86-64 completed with result SUCCESS r-vmb-fedora14-x86-64 completed with result SUCCESS r-vmb-rhel5-u10-x86-64 completed with result SUCCESS r-vmb-rhel6-u2-x86-64 completed with result SUCCESS r-vmb-rhel6-u4-x86-64 completed with result SUCCESS hpc-test-node completed with result FAILURE r-vmb-sles11-sp3-x86-64 completed with result SUCCESS r-vmb-rhel5-u9-x86-64 completed with result SUCCESS r-vmb-centos5-u7-x86-64 completed with result SUCCESS r-vmb-sles11-sp1-x86-64 completed with result SUCCESS r-vmb-fedora16-x86-64 completed with result SUCCESS r-vmb-fedora17-x86-64 completed with result SUCCESS r-vmb-rhel5-u8-x86-64 completed with result SUCCESS r-vmb-ubuntu13-u10-x86-64 completed with result SUCCESS r-vmb-rhel7-u0-beta-x86-64 completed with result SUCCESS r-vmb-rhel6-u5-x86-64 completed with result SUCCESS r-vmb-sles11-sp2-x86-64 completed with result SUCCESS r-vmb-ole6-u2-x86-64 completed with result SUCCESS r-vmb-centos6-u0-x86-64 completed with result SUCCESS r-vmb-rhel6-u1-x86-64 completed with result SUCCESS r-vmb-ubuntu12-u4-x86-64 completed with result SUCCESS r-vmb-sles11-sp0-x86-64 completed with result SUCCESS Email was triggered for: Failure Sending email for trigger: Failure
          Hide
          slide_o_mix Alex Earl added a comment -

          What is "Trigger for matrix projects" set to in the job configuration? There are three options there, Only Parent, Only Configurations or Both. I believe the default is only for the parent, you may want to try either Only Configurations, or Both.

          Show
          slide_o_mix Alex Earl added a comment - What is "Trigger for matrix projects" set to in the job configuration? There are three options there, Only Parent, Only Configurations or Both. I believe the default is only for the parent, you may want to try either Only Configurations, or Both.
          dubman Mike Dubman made changes -
          Attachment matrixCap.PNG [ 25333 ]
          Hide
          dubman Mike Dubman added a comment -

          tried all options - same result.
          matrix projects - this is a plugin to create jenkins job:

          we use:

          Build multi-configuration project wizard and it contains "matrix setup" to define run dimensions (per OS, per lib version, ...) - see attached

          Show
          dubman Mike Dubman added a comment - tried all options - same result. matrix projects - this is a plugin to create jenkins job: we use: Build multi-configuration project wizard and it contains "matrix setup" to define run dimensions (per OS, per lib version, ...) - see attached
          Hide
          slide_o_mix Alex Earl added a comment -

          What is the specific name of the plugin? I can't find one called "Matrix Projects"

          Show
          slide_o_mix Alex Earl added a comment - What is the specific name of the plugin? I can't find one called "Matrix Projects"
          Hide
          dubman Mike Dubman added a comment -

          Actually, our projects of type: Build multi-configuration project

          Show
          dubman Mike Dubman added a comment - Actually, our projects of type: Build multi-configuration project
          Hide
          slide_o_mix Alex Earl added a comment -

          I just created a job that is multi-configuration and selected "Trigger for each configuration" and I got a separate email for each axis. I do need to setup a build slave and verify the same thing occurs. I'll try and do that tonight.

          Show
          slide_o_mix Alex Earl added a comment - I just created a job that is multi-configuration and selected "Trigger for each configuration" and I got a separate email for each axis. I do need to setup a build slave and verify the same thing occurs. I'll try and do that tonight.
          Hide
          mrose Michael Rose added a comment -

          This template looks like it was intended to contain the aggregated information that we are looking for (https://wiki.jenkins-ci.org/download/attachments/3604514/jenkins-matrix-email-html.template?version=1&modificationDate=1332562186406), but it just crashed when I tried using it.

          Exception raised during template rendering: null java.lang.NullPointerException at java.util.TreeMap.getEntry(TreeMap.java:341) at java.util.TreeMap.get(TreeMap.java:272) at java_util_Map$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at SimpleTemplateScript29.run(SimpleTemplateScript29.groovy:126) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:165) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:177) at hudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:193) at hudson.plugins.emailext.plugins.content.ScriptContent.evaluate(ScriptContent.java:80) at hudson.plugins.emailext.EmailExtTemplateAction.renderTemplate(EmailExtTemplateAction.java:73) at sun.reflect.GeneratedMethodAccessor1605.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:465) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:186) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:79) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679)

          Show
          mrose Michael Rose added a comment - This template looks like it was intended to contain the aggregated information that we are looking for ( https://wiki.jenkins-ci.org/download/attachments/3604514/jenkins-matrix-email-html.template?version=1&modificationDate=1332562186406 ), but it just crashed when I tried using it. Exception raised during template rendering: null java.lang.NullPointerException at java.util.TreeMap.getEntry(TreeMap.java:341) at java.util.TreeMap.get(TreeMap.java:272) at java_util_Map$get.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at SimpleTemplateScript29.run(SimpleTemplateScript29.groovy:126) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:165) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:177) at hudson.plugins.emailext.plugins.content.ScriptContent.renderTemplate(ScriptContent.java:193) at hudson.plugins.emailext.plugins.content.ScriptContent.evaluate(ScriptContent.java:80) at hudson.plugins.emailext.EmailExtTemplateAction.renderTemplate(EmailExtTemplateAction.java:73) at sun.reflect.GeneratedMethodAccessor1605.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:465) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:186) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:79) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679)
          Hide
          slide_o_mix Alex Earl added a comment -

          @Michael Rose, that has nothing to do with this issue.

          Show
          slide_o_mix Alex Earl added a comment - @Michael Rose, that has nothing to do with this issue.
          Hide
          mrose Michael Rose added a comment -

          Correct me if I'm wrong, but I thought the issue was that Mike Dubman wanted to see the console output for all his configurations in one email.

          Show
          mrose Michael Rose added a comment - Correct me if I'm wrong, but I thought the issue was that Mike Dubman wanted to see the console output for all his configurations in one email.
          Hide
          slide_o_mix Alex Earl added a comment - - edited

          No, he wants the build log attached to the email, not inside the email. Also, it looks like you are having multiple issues with greenballs involved. Have you tried uninstalling that plugin?

          Show
          slide_o_mix Alex Earl added a comment - - edited No, he wants the build log attached to the email, not inside the email. Also, it looks like you are having multiple issues with greenballs involved. Have you tried uninstalling that plugin?
          Hide
          slide_o_mix Alex Earl added a comment -

          I can't reproduce this issue no matter what I have tried. The logs are correctly zipped up and attached.

          Show
          slide_o_mix Alex Earl added a comment - I can't reproduce this issue no matter what I have tried. The logs are correctly zipped up and attached.
          Hide
          dubman Mike Dubman added a comment -

          Alex
          We can have a screen-sharing session to show you what is meant here.
          Please drop me a line if interested.
          Thanks

          Show
          dubman Mike Dubman added a comment - Alex We can have a screen-sharing session to show you what is meant here. Please drop me a line if interested. Thanks
          Hide
          slide_o_mix Alex Earl added a comment -

          My IT department blocks most things, so I couldn't do it doing "work" hours.

          Show
          slide_o_mix Alex Earl added a comment - My IT department blocks most things, so I couldn't do it doing "work" hours.
          Hide
          slide_o_mix Alex Earl added a comment -

          Is this still an issue?

          Show
          slide_o_mix Alex Earl added a comment - Is this still an issue?
          Hide
          tom_ghyselinck Tom Ghyselinck added a comment - - edited

          Hi Alex,

          I have been watching this issue.
          We're also very interested in the collection of console logs from matrix Jobs.

          We also have very large multi-configuration Jobs, building for several configurations.

          We are only interested in a single e-mail, saying the build failed (or was unstable or fixed)
          Since otherwise our mail-box gets bloated with e-mail from our build servers.

          But since we still want to know why the builds failed, we need the specific console log from every configuration.
          (or at least every failed or every unstable Job).

          Show
          tom_ghyselinck Tom Ghyselinck added a comment - - edited Hi Alex, I have been watching this issue. We're also very interested in the collection of console logs from matrix Jobs . We also have very large multi-configuration Jobs, building for several configurations. We are only interested in a single e-mail, saying the build failed (or was unstable or fixed ) Since otherwise our mail-box gets bloated with e-mail from our build servers. But since we still want to know why the builds failed, we need the specific console log from every configuration. (or at least every failed or every unstable Job).
          Hide
          slide_o_mix Alex Earl added a comment -

          Hi Tom,

          Did you try changing the "Trigger for matrix projects" setting in the job configuration along with the attach build log?

          Thanks,

          Alex

          Show
          slide_o_mix Alex Earl added a comment - Hi Tom, Did you try changing the "Trigger for matrix projects" setting in the job configuration along with the attach build log? Thanks, Alex
          Hide
          dubman Mike Dubman added a comment -

          Hi ALex,
          yes - this is still an issue for "Matrix projects".
          works as advertised on "freestyle" projects.

          I tried to change "send log for all slaves" and for "master only" - it did not help.
          Currently, as a work-around we have some ugly script to fetch consoles and attach to the outgoing email.
          We could have screen sharing session if needed to demo the problem - but it is the same as in screenshot.

          Thanks

          Show
          dubman Mike Dubman added a comment - Hi ALex, yes - this is still an issue for "Matrix projects". works as advertised on "freestyle" projects. I tried to change "send log for all slaves" and for "master only" - it did not help. Currently, as a work-around we have some ugly script to fetch consoles and attach to the outgoing email. We could have screen sharing session if needed to demo the problem - but it is the same as in screenshot. Thanks
          Hide
          slide_o_mix Alex Earl added a comment -

          A screen sharing session would be useful, I'm just not sure when during the day I could do it. What timezone are you in?

          Show
          slide_o_mix Alex Earl added a comment - A screen sharing session would be useful, I'm just not sure when during the day I could do it. What timezone are you in?
          Hide
          tom_ghyselinck Tom Ghyselinck added a comment -

          Hi Alex Earl,

          Sorry for the late reply, haven't got any build failures since

          When I configure the Job as suggested, we get a separate e-mail for every configuration in the matrix.

          What I'd like to see is a single e-mail for the multi-configuration Job including the console logs for all configurations in the matrix.

          For example:

          • MyMultiJob
            1. CONFIG_VAR=a
            2. CONFIG_VAR=b
            3. CONFIG_VAR=c

          Now, when a and c configurations in MyMultiJob fail, I get an e-mail for:

          1. MyMultiJob >> a
          2. MyMultiJob >> c

          I want a single e-mail:

          • MyMultiJob (including console log for MyMultiJob, MyMultiJob >> a, and MyMultiJob >> c)
          Show
          tom_ghyselinck Tom Ghyselinck added a comment - Hi Alex Earl , Sorry for the late reply, haven't got any build failures since When I configure the Job as suggested, we get a separate e-mail for every configuration in the matrix. What I'd like to see is a single e-mail for the multi-configuration Job including the console logs for all configurations in the matrix. For example: MyMultiJob CONFIG_VAR=a CONFIG_VAR=b CONFIG_VAR=c Now, when a and c configurations in MyMultiJob fail, I get an e-mail for: MyMultiJob >> a MyMultiJob >> c I want a single e-mail : MyMultiJob (including console log for MyMultiJob , MyMultiJob >> a , and MyMultiJob >> c )
          Hide
          lgorman luke gorman added a comment - - edited

          I have a similar requirement. I think the easiest solution would be, just to run a script as a post build action that copies the console logs from your worker jobs into the workspace of the master job. you can then just attach these files.

          Show
          lgorman luke gorman added a comment - - edited I have a similar requirement. I think the easiest solution would be, just to run a script as a post build action that copies the console logs from your worker jobs into the workspace of the master job. you can then just attach these files.
          Hide
          slide_o_mix Alex Earl added a comment -

          I really don't have a setup that I can test this out on, so if someone wants to implement something and issue a pull request, that would also be helpful. I don't run matrix jobs at all in my company, so I just don't have what is needed to develop the feature.

          Show
          slide_o_mix Alex Earl added a comment - I really don't have a setup that I can test this out on, so if someone wants to implement something and issue a pull request, that would also be helpful. I don't run matrix jobs at all in my company, so I just don't have what is needed to develop the feature.
          Hide
          lgorman luke gorman added a comment -

          this bit of bash does the trick

          IFS=",";
          JOBS="$TRIGGERED_JOB_NAMES"
          JOBARRAY=($JOBS)
          
          for JOB in "${JOBARRAY[@]}"
          do
            echo $JOB
            NUMBER_NAME="TRIGGERED_BUILD_NUMBER_${JOB}"
            NUMBER=$(eval echo \$$NUMBER_NAME) 
            echo $NUMBER
            cp $JENKINS_HOME/jobs/$JOB/builds/$NUMBER/log $WORKSPACE/${JOB}_log.txt
          done
          
          Show
          lgorman luke gorman added a comment - this bit of bash does the trick IFS=","; JOBS="$TRIGGERED_JOB_NAMES" JOBARRAY=($JOBS) for JOB in "${JOBARRAY[@]}" do echo $JOB NUMBER_NAME="TRIGGERED_BUILD_NUMBER_${JOB}" NUMBER=$(eval echo \$$NUMBER_NAME) echo $NUMBER cp $JENKINS_HOME/jobs/$JOB/builds/$NUMBER/log $WORKSPACE/${JOB}_log.txt done
          Hide
          dubman Mike Dubman added a comment -

          it does not for matrix projects

          Show
          dubman Mike Dubman added a comment - it does not for matrix projects
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Alex Earl
          Path:
          src/main/java/hudson/plugins/emailext/AttachmentUtils.java
          src/test/java/hudson/plugins/emailext/ExtendedEmailPublisherMatrixTest.java
          src/test/java/hudson/plugins/emailext/ExtendedEmailPublisherTest.java
          http://jenkins-ci.org/commit/email-ext-plugin/8a47a78f5ed91c15f18e3a0cf2e2696b48514bec
          Log:
          Fix JENKINS-21861

          Add check for MatrixBuild

          Compare: https://github.com/jenkinsci/email-ext-plugin/compare/6acb6e2e76d8...8a47a78f5ed9

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Alex Earl Path: src/main/java/hudson/plugins/emailext/AttachmentUtils.java src/test/java/hudson/plugins/emailext/ExtendedEmailPublisherMatrixTest.java src/test/java/hudson/plugins/emailext/ExtendedEmailPublisherTest.java http://jenkins-ci.org/commit/email-ext-plugin/8a47a78f5ed91c15f18e3a0cf2e2696b48514bec Log: Fix JENKINS-21861 Add check for MatrixBuild Compare: https://github.com/jenkinsci/email-ext-plugin/compare/6acb6e2e76d8...8a47a78f5ed9
          Hide
          slide_o_mix Alex Earl added a comment -

          Should be in 2.40

          Show
          slide_o_mix Alex Earl added a comment - Should be in 2.40
          slide_o_mix Alex Earl made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          rtyler R. Tyler Croy made changes -
          Workflow JNJira [ 153862 ] JNJira + In-Review [ 194728 ]

            People

            • Assignee:
              slide_o_mix Alex Earl
              Reporter:
              dubman Mike Dubman
            • Votes:
              3 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: