Jenkins is a continuous integration environment, widely used in industry
for running automated test suites, performing deployments, as well as
many other use cases.
This change adds a Jenkins integration to Review Board. This will enable
users to add this integration and have new review requests trigger
builds on a Jenkins server.
This additionally features a Jenkins plugin. This plugin features two
build steps. The first build step, to occur prior to the main job's
build steps, applies the review request's diff using rbt patch
. The
second, post-build step notifies review board of the build's status.
rbintegrations/util/urlrequest.py
featured duplicate code from the
reviewboard repository, reviewboard.hostingsvcs.service.URLRequest
.
That class is currently an internal class, so rather than importing it
in all files that use it in this repository, for now we'll import it
once in this file. Once URLRequest
is refactored in the reviewboard
repo, we can remove the urlrequest.py
file and import the original
class.