Caution

This page documents the latest, unreleased version of Buildbot. For documentation for released versions, see https://docs.buildbot.net/current/.

2.10. Plugin Infrastructure in Buildbot

Added in version 0.8.11.

Plugin infrastructure in Buildbot allows easy use of components that are not part of the core. It also allows unified access to components that are included in the core.

The following snippet

from buildbot.plugins import kind

... kind.ComponentClass ...

allows to use a component of kind kind. Available kinds are:

worker

workers, described in Workers

changes

change source, described in Change Sources and Changes

schedulers

schedulers, described in Schedulers

steps

build steps, described in Build Steps

reporters

reporters (or reporter targets), described in Reporters

util

utility classes. For example, BuilderConfig, Build Factories, ChangeFilter and Locks are accessible through util.

Web interface plugins are not used directly: as described in web server configuration section, they are listed in the corresponding section of the web server configuration dictionary.

Note

If you are not very familiar with Python and you need to use different kinds of components, start your master.cfg file with:

from buildbot.plugins import *

As a result, all listed above components will be available for use. This is what sample master.cfg file uses.

2.10.1. Finding Plugins

Buildbot maintains a list of plugins at https://github.com/buildbot/buildbot/wiki/PluginList.

2.10.2. Developing Plugins

Distribute a Buildbot Plug-In contains all necessary information for you to develop new plugins. Please edit https://github.com/buildbot/buildbot/wiki/PluginList to add a link to your plugin!

2.10.3. Plugins of note

Plugins were introduced in Buildbot-0.8.11, so as of this writing, only components that are bundled with Buildbot are available as plugins.

If you have an idea/need about extending Buildbot, head to How to package Buildbot plugins, create your own plugins and let the world know how Buildbot can be made even more useful.