Hi Ulli-- Thanks for the response. I appreciate the pointers.
Allen Allen Fisher Continuous Integration Engineer MakeMusic, Inc E: afis...@makemusic.com<mailto:afis...@makemusic.com> P: 952.906.3664 S: allen_fisher W: www.makemusic.com<http://www.makemusic.com> On Oct 30, 2012, at 11:58 AM, Ulli Hafner wrote: I don't know how to cancel sending an email so my answer is only for the warnings part of your mail. Maybe slide knows how to cancel the sending. In your script you basically need a reference to one of the warnings result actions (there is one action per parser). There is no TOKEN yet that exposes all the warnings. If you have this action instance in your script, then you can navigate to the warnings using the available Java methods on that class. E.g. action.result.numberOfAnnotations will give the totals, while action.result.warnings will return the warnings. The best way would be if you open the source code of the plug-in to see which methods are available... Ulli Am 30.10.2012 um 17:47 schrieb Slide <slide.o....@gmail.com<mailto:slide.o....@gmail.com>>: You basically need to determine how to access the information you want using Java and then translate that into groovy. You'd want to get at the warnings publisher for the current build and then look at the API's available for that to get the information you need. If there is a WARNINGS_NEW token, then you could look at how the Java creates that token and go from there. slide On Tue, Oct 30, 2012 at 8:57 AM, Fisher, Allen <afis...@makemusic.com<mailto:afis...@makemusic.com>> wrote: Hi List-- We're on a tear to clean up warnings in our applications. The Warnings Plugin has been invaluable in that effort (Thanks, Ulli!). It's going to be a while until we can turn "Warnings as errors" as a global option, so in the mean time, we want to alert the dev team when the warning count goes up after a build. I'm working on using EMAIL-EXT to create the email that goes out for this issue. I've had some success in listing the counts of new/fixed/total warnings. It works great except it sends the email for every build, not just the ones with new errors. According to the documentation for email-ext, I should be able to put in a pre-send script that sets "cancel" to false. I've made several stabs at this (I'm not a Groovy guy, so I'm probably missing something pretty obvious), but no matter what I've done, I can't get it to cancel the email: This is one of the attempts, using code I found on stack overflow: if (${WARNINGS_NEW}==0) { cancel = true; } Email was triggered for: Success Sending email for trigger: Success Sending email to: afis...@makemusic.com<mailto:afis...@makemusic.com> groovy.lang.MissingMethodException: No signature of method: Script1.$() is applicable for argument types: (Script1$_run_closure1) values: [Script1$_run_closure1@1fcba664] Possible solutions: is(java.lang.Object), run(), run(), any(), use([Ljava.lang.Object;), any(groovy.lang.Closure) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141) at Script1.run(Script1.groovy:1) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589) at hudson.plugins.emailext.ExtendedEmailPublisher.executePresendScript(ExtendedEmailPublisher.java:322) at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:281) at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:265) at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:225) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:807) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:782) at hudson.model.Build$BuildExecution.cleanUp(Build.java:192) at hudson.model.Run.execute(Run.java:1560) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) And it still sends the mail. I also have a question about getting a list of the new warnings in the body of the email. I'm not sure how to get at them. I've written some python that pulls out the new warnings using the REST API, but it seems that there should be a token that I could get at, or is there a groovy call I could make? Thanks for all your help! Allen Fisher Continuous Integration Engineer MakeMusic, Inc E: afis...@makemusic.com<mailto:afis...@makemusic.com> P: 952.906.3664 S: allen_fisher W: www.makemusic.com<http://www.makemusic.com> -- Website: http://earl-of-code.com