Initial implementation of Checks API for Jenkins

This plugin implements the Checks API provided by the Gerrit UI to
show the results of CI systems on the change screen for Jenkins.

The current implementation only works with MultiBranch pipeline
jobs using the Gerrit SCM provided by the gerrit-code-review plugin [1]
for Jenkins. Other job types will be added in future changes.

One or more Jenkins servers with one or more jobs can be configured
for a project. The plugin will regularly fetch jobs created for changes
by the Multibranch pipeline and will extract the build for the
currently viewed patchset.

The plugin is not able to use all features provided by the Checks
API, e.g. providing a result summary, since Jenkins does not
provide this information out of the box. This could however be enabled
in the future by extending Jenkins with a plugin. For now the following
data will be displayed:

- Builds for the selected patchset including previous attempts
- Status of the build
- Result of the build
- Link to the build and its logs
- A result summary stating the result category used by the CI
  (e.g. `Result: UNSTABLE`)

Note, that the plugin will do CORS requests to Jenkins, since it is
running in the client's browser. Thus, CORS has to be enabled in
Jenkins.

[1] https://plugins.jenkins.io/gerrit-code-review/

Change-Id: I7d6825ade3fb0299b230c67cc7d422a660ee4de6
12 files changed
tree: b368b64dc378da659bbe0aa36f23c1a567735dd9
  1. src/
  2. web/
  3. BUILD