Use case: Jenkins become unavailable. In the meantime, there are a number of Gerrit events occurring which are missed. When Jenkins restarts, these missed events should be replayed.
E.g. a designer submits a patch set during a Jenkins outage. Since Gerrit trigger is not firing, the patch will never be verified and merged, or will need to be done manually. There is a facility in Gerrit trigger to "manually" query events during a given period, but this will not scale as need to be done for each job.
The requirement would be:
1. It shall be possible to replay all "missing" Gerrit events for a given Jenkins master following a downtime of the master
2. It shall be possible to have #1 trigger automatically i.e. that when Jenkins restart, all events that happened since last time it ran will be replayed.
3. It shall be possible to trigger #1 manually. This capability shall be available only to the administrator role
Limitations of current feature with regards to our requirement:
- Only "patchset created" events are supported. Events such as "change merged," "comment added," or "ref updated" will be missed.
- Gerrit projects specified via path or regular expression will be ignored.
- If a user submits a review to a patchset during the downtime, the build will not be triggered because the feature only looks at unreviewed patchsets.
- It is not possible to trigger this feature manually.