2.5.13.40. HTTP Requests
Using the HTTPStep step, it is possible to perform HTTP requests in order to trigger another REST service about the progress of the build.
The parameters are the following:
url(mandatory) The URL where to send the request
methodThe HTTP method to use (out of
POST,GET,PUT,DELETE,HEADorOPTIONS), default toPOST.paramsDictionary of URL parameters to append to the URL.
dataThe body to attach the request. If a dictionary is provided, form-encoding will take place.
headersDictionary of headers to send.
hide_request_headersIterable of request headers to be hidden from the log. The header will be listed in the log but the value will be shown as
<HIDDEN>.hide_response_headersIterable of response headers to be hidden from the log. The header will be listed in the log but the value will be shown as
<HIDDEN>.other paramsAny other keywords supported by the
requestsapi can be passed to this step.Note
The entire Buildbot master process shares a single Requests
Sessionobject. This has the advantage of supporting connection re-use and other HTTP/1.1 features. However, it also means that any cookies or other state changed by one step will be visible to other steps, causing unexpected results. This behavior may change in future versions.
When the method is known in advance, class with the name of the method can also be used. In this case, it is not necessary to specify the method.
Example:
from buildbot.plugins import steps, util
f.addStep(steps.POST('http://myRESTService.example.com/builds',
data = {
'builder': util.Property('buildername'),
'buildnumber': util.Property('buildnumber'),
'workername': util.Property('workername'),
'revision': util.Property('got_revision')
}))