[Buildbot-devel] problem with email notifications

Stephen Davis stephendavis at mac.com
Sat Jul 9 00:03:42 UTC 2005


I've got my builds set up to send build failure email notification to  
interested users in addition to myself.  Unfortunately, only I get  
the emails.  Here's a relevant snippet from my master.cfg:

status.append( mail.MailNotifier 
(    fromaddr="buildbot at builder.xxx.com",
                                     mode='problem',
                                     extraRecipients= 
["stephend at xxx.com"],
                                     builders=["Builder1"],
                                     sendToInterestedUsers=True,
                                     lookup=MyLookup() ) )

My custom email lookup class "MyLookup" is:

class MyLookup:
     from buildbot import interfaces
     if implements:
         implements( interfaces.IEmailLookup )
     else:
         __implements__ = interfaces.IEmailLookup,
     def getAddress( self, user ):
         addresses = {    'user1' : user1 at xxx.com',
                         'user2' : 'user2 at xxx.com',
                         'stephend' : 'stephend at xxx.com'
                     }

         d = defer.Deferred()

         # if the user name isn't in the list, email won't get sent  
to that user
         d.callback( addresses[user] )
         return d

In status/mail.py the code is:

         # now, who is this message going to?
         dl = []
         recipients = self.extraRecipients[:]
         if self.sendToInterestedUsers and self.lookup:
             for u in build.getInterestedUsers():
                 d = defer.maybeDeferred(self.lookup.getAddress, u)
                 d.addCallback(recipients.append)
                 dl.append(d)
         d = defer.DeferredList(dl)
         d.addCallback(self._gotRecipients, recipients, m)
         return d

Why is there all the deferred stuff in the lookup method?  Are you  
assuming it could take a long time or something?  Just wondering.

Does the above look okay?

stephen




More information about the devel mailing list