Caution

Buildbot no longer supports Python 2.7 on the Buildbot master.

2.5.14.12. HttpStatusPush

from buildbot.plugins import reporters
sp = reporters.HttpStatusPush(serverUrl="http://example.com/submit")
c['services'].append(sp)

HttpStatusPush builds on StatusPush and sends HTTP requests to serverUrl, with all the items json-encoded. It is useful to create a status front end outside of Buildbot for better scalability.

It requires either txrequests or treq to be installed to allow interaction with http server.

Note

The json data object sent is completely different from the one that was generated by 0.8.x buildbot. It is indeed generated using data api.

class buildbot.reporters.HttpStatusPush(serverUrl, user=None, password=None, auth=None, format_fn=None, builders=None, wantProperties=False, wantSteps=False, wantPreviousBuild=False, wantLogs=False, debug=None, verify=None)
Parameters
  • serverUrl (string) – the url where to do the http post

  • user (string) – the BasicAuth user to post as

  • password (string) – the BasicAuth user’s password (can be a Secret).

  • auth – the authentication method to use. Refer to the documentation of the requests library for more information.

  • format_fn (function) – a function that takes the build as parameter and returns a dictionary to be pushed to the server (as json).

  • builders (list) – only send update for specified builders

  • wantProperties (boolean) – include ‘properties’ in the build dictionary

  • wantSteps (boolean) – include ‘steps’ in the build dictionary

  • wantLogs (boolean) – include ‘logs’ in the steps dictionaries. This needs wantSteps=True. This dumps the full content of logs and may consume lots of memory and CPU depending on the log size.

  • wantPreviousBuild (boolean) – include ‘prev_build’ in the build dictionary

  • debug (boolean) – logs every requests and their response

  • verify (boolean) – disable ssl verification for the case you use temporary self signed certificates

  • skipEncoding (boolean) – disables encoding of json data to bytes before pushing to server

Json object spec

The default json object sent is a build object augmented with some more data as follow.

{
    "url": "http://yourbot/path/to/build",
    "<build data api values>": "[...]",
    "buildset": "<buildset data api values>",
    "builder": "<builder data api values>",
    "buildrequest": "<buildrequest data api values>"
}

If you want another format, don’t hesitate to use the format_fn parameter to customize the payload. The build parameter given to that function is of type build, optionally enhanced with properties, steps, and logs information.