tree b368b64dc378da659bbe0aa36f23c1a567735dd9
parent 829cfb3e809d1094ae763bbf6fa35567ad3a556e
author Thomas Draebing <thomas.draebing@sap.com> 1652269302 +0200
committer Thomas Draebing <thomas.draebing@sap.com> 1655023021 +0200

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
