A custom change source must implement buildbot.interfaces.IChangeSource
.
The easiest way to do this is to subclass
buildbot.changes.base.ChangeSource
, implementing the describe
method to describe the instance. ChangeSource
is a Twisted service, so
you will need to implement the startService
and stopService
methods to control the means by which your change source receives
notifications.
When the class does receive a change, it should call
self.master.addChange(..)
to submit it to the buildmaster. This method
shares the same parameters as master.db.changes.addChange
, so consult
the API documentation for that function for details on the available arguments.
You will probably also want to set compare_attrs
to the list of object
attributes which Buildbot will use to compare one change source to another when
reconfiguring. During reconfiguration, if the new change source is different
from the old, then the old will be stopped and the new started.