|author||Eli Ribble <email@example.com>||Tue Aug 06 18:30:24 2019|
|committer||Aaron Gable <firstname.lastname@example.org>||Tue Aug 06 18:30:24 2019|
Add information about how to configure the plugin. Change-Id: I0bb34ef175305d4e2bc897c7db62afd94c6f0b95 Reviewed-on: https://chromium-review.googlesource.com/c/infra/gerrit-plugins/chumpdetector/+/1733845 Auto-Submit: Eli Ribble <email@example.com> Reviewed-by: Andy Perelson <firstname.lastname@example.org> Reviewed-by: Aaron Gable <email@example.com>
This plugin will allow developers to see the current status on their CLs. Status will be pulled from a configurable location. The Chromium project has many status sites such as:
The plugin will show users the status and will warn them in certain situations if they attempt to undertake actions that are contrary to the tree status.
The plugin does not provide enforcement - that is provided by other systems.
Before this plugin will work you'll need to configure it. You can do that by adding a new file to
refs/meta/config for a Gerrit project. The configuration file should be called
chumpdetector.config and should be of the form:
[project "some-interesting-project"] viewURL = https://chromium-status.appspot.com/ statusURL = https://chromium-status.appspot.com/current?format=json withCredentials = false enforceCommitQueue = false disabledBranchPattern = ^(?:refs/meta/config|refs/heads/.*)$
The project name doesn‘t matter, it can be anything you’d like
This should be the URL to your status app. This is used to provide a link that users can click on to take them to a new page that shows the full status.
This should be the URL to get a JSON blob of the current status. Usually this will be related to the
viewURL value. This is the URL that will be queried via XHR periodically while the user is on the page to update the tree status.
withCredentials parameter. You can read about it at https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials
When true, this will show a modal warning to users if they try to submit the CL directly and warn them to use the CQ. This is Chromium concept, unless you have a Chromium-like CQ system. Just leave as false if you don't understand what any of those things mean.
CLs on branches that match this pattern will have the plugin disabled. This means they won‘t see tree status and tree status won’t effect the CL in any way.
ln -s /path/to/chumpdetector-plugin plugins/chumpdetector NO_BUCKD=1 buck build plugins/chumpdetector && \ cp buck-out/gen/plugins/chumpdetector/chumpdetector.jar ../gerrit_testsite/plugins/ && \ ../gerrit_testsite/bin/gerrit.sh restart
mkdir -p polygerrit-ui/app/plugins/chumpdetector ln -s /path/to/chumpdetector-plugin/src/main/resources/static polygerrit-ui/app/plugins/chumpdetector/static ./polygerrit-ui/run-server.sh -host chromium-review.googlesource.com
You may also need to edit
chumpdetectorURL to point directly at
chromium-review.googlesource.com instead of being relative.