Caution
Buildbot no longer supports Python 2.7 on the Buildbot master.
2.5.14.9. GitHubStatusPush¶
from buildbot.plugins import reporters, util
context = Interpolate("buildbot/%(prop:buildername)s")
gs = reporters.GitHubStatusPush(token='githubAPIToken',
                                context=context,
                                startDescription='Build started.',
                                endDescription='Build done.')
factory = util.BuildFactory()
buildbot_bbtools = util.BuilderConfig(
    name='builder-name',
    workernames=['worker1'],
    factory=factory)
c['builders'].append(buildbot_bbtools)
c['services'].append(gs)
GitHubStatusPush publishes a build status using GitHub Status API.
It requires txrequests package to allow interaction with GitHub REST API.
It is configured with at least a GitHub API token.
You can create a token from your own GitHub - Profile - Applications - Register new application or use an external tool to generate one.
- 
class buildbot.reporters.github.GitHubStatusPush(token, startDescription=None, endDescription=None, context=None, baseURL=None, verbose=False, builders=None)¶
- Parameters
- token (string) – token used for authentication. (can be a Secret) 
- string startDescription (rendereable) – Custom start message (default: ‘Build started.’) 
- string endDescription (rendereable) – Custom end message (default: ‘Build done.’) 
- string context (rendereable) – Passed to GitHub to differentiate between statuses. A static string can be passed or - Interpolatefor dynamic substitution. The default context is buildbot/%(prop:buildername)s.
- baseURL (string) – specify the github api endpoint if you work with GitHub Enterprise 
- verbose (boolean) – if True, logs a message for each successful status push 
- builders (list) – only send update for specified builders