You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@continuum.apache.org by Bob Herrrmann <bo...@jadn.com> on 2006/01/05 04:22:16 UTC

Custom Notifier

I would like to use my own Custom Notifier for sending email.   Our
build/test process generates 10mb of output (we have a fairly large project
with over 3000 tests.)   I would like to  write a customer Notifier which
summarizes this output to just a few lines (usually we are only interested
in what changed and what broke - failing tests.)   Is there an obvious way
to do this?

A crude way would be to email the output to a email address that pipes the
email into a shell script which uses java or sed or grep or something to
respin the email.  It could then forward the resulting message to the proper
people, I was hoping for something like plugging in a new class or some
such.

Thanks
-bob

Re: Custom Notifier

Posted by Emmanuel Venisse <em...@venisse.net>.
Tis exception says that you try to acces to a non populated field in a partial BuildResult object.

You can get the full object with that:
continuum.getBuildResult( partialBuildResult.getId() )

Emmanuel

Kolodziej, Maciej a écrit :
> Emmanuel,
> 
> I'm also creating a custom notifier for my project. I created a test version by copying the original mail notifier to a different package, created my own jar file and put it into apps/continuum/lib. I also copied the proper fragment of application.xml, changing only the roleHint and class name. 
> 
> When I run a build on my local continuum install, I get a NullPointerException from the code where it uses the "continuum" field (calls continuum.getChangesSinceLastSuccess()). So it seems continuum object is not injected. But the original email notifier was working without it. When I add a "requirement" tag with continuum class name (copied from "load-on-start" tag) I get the following exception after the build status changes from FAILURE to SUCCESS:
> 
> 2007-05-15 14:30:58,130 [Thread-2] ERROR ContinuumNotificationDispatcher - Error
>  while trying to use the custom-mailnotifier.
> org.codehaus.plexus.notification.NotificationException: Error while generating m
> ail contents.
>         at com.sabre.hotels.tools.continuum.notification.mail.MailContinuumNotif
> ier.buildComplete(MailContinuumNotifier.java:296)
>         at com.sabre.hotels.tools.continuum.notification.mail.MailContinuumNotif
> ier.sendNotification(MailContinuumNotifier.java:211)
>         at org.apache.maven.continuum.notification.DefaultContinuumNotificationD
> ispatcher.sendNotification(DefaultContinuumNotificationDispatcher.java:173)
>         at org.apache.maven.continuum.notification.DefaultContinuumNotificationD
> ispatcher.buildComplete(DefaultContinuumNotificationDispatcher.java:96)
>         at org.apache.maven.continuum.buildcontroller.DefaultBuildController.bui
> ld(DefaultBuildController.java:378)
>         at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.e
> xecuteTask(BuildProjectTaskExecutor.java:47)
>         at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$Exe
> cutorRunnable.run(ThreadedTaskQueueExecutor.java:103)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: javax.jdo.JDODetachedFieldAccessException: You have just attempted to
>  access field "scmResult" yet this field was not detached when you detached the
> object. Either dont access this field, or detach the field when detaching the ob
> ject.
>         at org.apache.maven.continuum.model.project.BuildResult.jdoGetscmResult(
> BuildResult.java)
>         at org.apache.maven.continuum.model.project.BuildResult.getScmResult(Bui
> ldResult.java:202)
>         at org.apache.maven.continuum.DefaultContinuum.getChangesSinceLastSucces
> s(DefaultContinuum.java:656)
>         at com.sabre.hotels.tools.continuum.notification.mail.MailContinuumNotif
> ier.buildComplete(MailContinuumNotifier.java:254)
>         ... 7 more
> 
> Any ideas how to make it work?
> 
> Thanks,
> Maciek.
>  
> 
>> -----Original Message-----
>> From: Emmanuel Venisse [mailto:emmanuel@venisse.net] 
>> Sent: Thursday, January 05, 2006 9:55
>> To: continuum-users@maven.apache.org
>> Subject: Re: Custom Notifier
>>
>> You can look at continuum-notifier-mail
>>
>> Emmanuel
>>
>> Bob Herrrmann a écrit :
>>> I would like to use my own Custom Notifier for sending email.   Our
>>> build/test process generates 10mb of output (we have a 
>> fairly large project
>>> with over 3000 tests.)   I would like to  write a customer 
>> Notifier which
>>> summarizes this output to just a few lines (usually we are 
>> only interested
>>> in what changed and what broke - failing tests.)   Is there 
>> an obvious way
>>> to do this?
>>>
>>> A crude way would be to email the output to a email address 
>> that pipes the
>>> email into a shell script which uses java or sed or grep or 
>> something to
>>> respin the email.  It could then forward the resulting 
>> message to the proper
>>> people, I was hoping for something like plugging in a new 
>> class or some
>>> such.
>>>
>>> Thanks
>>> -bob
>>>
>>
> 
> 
> 


RE: Custom Notifier

Posted by "Kolodziej, Maciej" <Ma...@sabre-holdings.com>.
Emmanuel,

I'm also creating a custom notifier for my project. I created a test version by copying the original mail notifier to a different package, created my own jar file and put it into apps/continuum/lib. I also copied the proper fragment of application.xml, changing only the roleHint and class name. 

When I run a build on my local continuum install, I get a NullPointerException from the code where it uses the "continuum" field (calls continuum.getChangesSinceLastSuccess()). So it seems continuum object is not injected. But the original email notifier was working without it. When I add a "requirement" tag with continuum class name (copied from "load-on-start" tag) I get the following exception after the build status changes from FAILURE to SUCCESS:

2007-05-15 14:30:58,130 [Thread-2] ERROR ContinuumNotificationDispatcher - Error
 while trying to use the custom-mailnotifier.
org.codehaus.plexus.notification.NotificationException: Error while generating m
ail contents.
        at com.sabre.hotels.tools.continuum.notification.mail.MailContinuumNotif
ier.buildComplete(MailContinuumNotifier.java:296)
        at com.sabre.hotels.tools.continuum.notification.mail.MailContinuumNotif
ier.sendNotification(MailContinuumNotifier.java:211)
        at org.apache.maven.continuum.notification.DefaultContinuumNotificationD
ispatcher.sendNotification(DefaultContinuumNotificationDispatcher.java:173)
        at org.apache.maven.continuum.notification.DefaultContinuumNotificationD
ispatcher.buildComplete(DefaultContinuumNotificationDispatcher.java:96)
        at org.apache.maven.continuum.buildcontroller.DefaultBuildController.bui
ld(DefaultBuildController.java:378)
        at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.e
xecuteTask(BuildProjectTaskExecutor.java:47)
        at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$Exe
cutorRunnable.run(ThreadedTaskQueueExecutor.java:103)
        at java.lang.Thread.run(Thread.java:595)
Caused by: javax.jdo.JDODetachedFieldAccessException: You have just attempted to
 access field "scmResult" yet this field was not detached when you detached the
object. Either dont access this field, or detach the field when detaching the ob
ject.
        at org.apache.maven.continuum.model.project.BuildResult.jdoGetscmResult(
BuildResult.java)
        at org.apache.maven.continuum.model.project.BuildResult.getScmResult(Bui
ldResult.java:202)
        at org.apache.maven.continuum.DefaultContinuum.getChangesSinceLastSucces
s(DefaultContinuum.java:656)
        at com.sabre.hotels.tools.continuum.notification.mail.MailContinuumNotif
ier.buildComplete(MailContinuumNotifier.java:254)
        ... 7 more

Any ideas how to make it work?

Thanks,
Maciek.
 

> -----Original Message-----
> From: Emmanuel Venisse [mailto:emmanuel@venisse.net] 
> Sent: Thursday, January 05, 2006 9:55
> To: continuum-users@maven.apache.org
> Subject: Re: Custom Notifier
> 
> You can look at continuum-notifier-mail
> 
> Emmanuel
> 
> Bob Herrrmann a écrit :
> > I would like to use my own Custom Notifier for sending email.   Our
> > build/test process generates 10mb of output (we have a 
> fairly large project
> > with over 3000 tests.)   I would like to  write a customer 
> Notifier which
> > summarizes this output to just a few lines (usually we are 
> only interested
> > in what changed and what broke - failing tests.)   Is there 
> an obvious way
> > to do this?
> > 
> > A crude way would be to email the output to a email address 
> that pipes the
> > email into a shell script which uses java or sed or grep or 
> something to
> > respin the email.  It could then forward the resulting 
> message to the proper
> > people, I was hoping for something like plugging in a new 
> class or some
> > such.
> > 
> > Thanks
> > -bob
> > 
> 
> 

Re: Custom Notifier

Posted by Bob Herrrmann <bo...@jadn.com>.
True, Use the Source Luke :-)   Thanks, I will do that.

On 1/5/06, Emmanuel Venisse <em...@venisse.net> wrote:
>
> You can look at continuum-notifier-mail
>
> Emmanuel
>
> Bob Herrrmann a écrit :
> > I would like to use my own Custom Notifier for sending email.   Our
> > build/test process generates 10mb of output (we have a fairly large
> project
> > with over 3000 tests.)   I would like to  write a customer Notifier
> which
> > summarizes this output to just a few lines (usually we are only
> interested
> > in what changed and what broke - failing tests.)   Is there an obvious
> way
> > to do this?
> >
> > A crude way would be to email the output to a email address that pipes
> the
> > email into a shell script which uses java or sed or grep or something to
> > respin the email.  It could then forward the resulting message to the
> proper
> > people, I was hoping for something like plugging in a new class or some
> > such.
> >
> > Thanks
> > -bob
> >
>
>

Re: Custom Notifier

Posted by Emmanuel Venisse <em...@venisse.net>.
You can look at continuum-notifier-mail

Emmanuel

Bob Herrrmann a écrit :
> I would like to use my own Custom Notifier for sending email.   Our
> build/test process generates 10mb of output (we have a fairly large project
> with over 3000 tests.)   I would like to  write a customer Notifier which
> summarizes this output to just a few lines (usually we are only interested
> in what changed and what broke - failing tests.)   Is there an obvious way
> to do this?
> 
> A crude way would be to email the output to a email address that pipes the
> email into a shell script which uses java or sed or grep or something to
> respin the email.  It could then forward the resulting message to the proper
> people, I was hoping for something like plugging in a new class or some
> such.
> 
> Thanks
> -bob
>