Include overview about all checks into checks notification emails

This information seems to be useful to most users. Example:

- there are 2 checkers, 1 required checker and 1 optional checker
- initially both are set to RUNNING, which means that the combined check
  state is IN_PROGRESS
- the optional checker sets the check state to FAILED:
  this doesn't trigger any email since the combined check state is still
  IN_PROGRESS (IN_PROGRESS = at least one required checker is in a
  non-terminated state)
- the required checker sets the check state to SUCCESSFUL:
  this triggers an email since the combined check state is updated to
  WARNING (WARNING = all required checkers terminated, and at least one
  optional check failed, but no required checks failed)
- the email for the update of the combined check state from IN_PROGRESS
  to WARNING doesn't contain check details (because the combined check
  state was updated by posting the succesful check of the required
  checker and we do not include check details when a check was
  successful)
- the user would like to know which optional checker caused the combined
  check state to be WARNING, with the check overview in the email this
  information is present now

For HTML emails each checker that is listed in the checks overview links
to check details (if a check URL is available). For text emails these
links are omitted since including the check URLs as text for potentially
many checkers would be too verbose and would make the checks overview
unreadable.

Bug: Issue 11730
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: Ida628ed68ef82982ad170c1e99a50a7deaf5ea44
5 files changed
tree: c0110d62c51dff64ba8007e3a36c9f90003d0673
  1. gr-checks/
  2. java/
  3. javatests/
  4. proto/
  5. resources/
  6. test/
  7. .gitignore
  8. bower.json
  9. BUILD
  10. LICENSE
  11. README.md
README.md

Gerrit Code Review Checks Plugin

This plugin provides a unified experience for checkers (CI systems, static analyzers, etc.) to integrate with Gerrit Code Review.

This plugin uses polymer-cli to test.

After bower install, running polymer test -l chrome will run all tests in Chrome, and running polymer serve and navigating to http://127.0.0.1:8081/components/checks/gr-checks/gr-checks-view_test.html allows for manual debugging.