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.