Add skeleton action controller unifying event handling
The approach to handling events comes with several short-comings:
* Event handling is currently separated over several listeners. Some
allow to freely formulate preconditions (e.g.: changing an issue's
state), other listeners had again and again introduced further
configuration settings to allow setting fine controlled verbosity
(linking to change/patch set), other listeners can only be turned
on/off (e.g.: linking to gitweb). However, for all of those actions
could benefit from freely formulated preconditions.
* The current transition format does not allow to different sets of
conditions to fire the same action.
* The current approach to associating an issue to a patch set does not
allow disambiguate between an issue being referenced in a commit
message's subject line, its body, or its footer. Let alone add
comments based on that.
* The current approach does not allow easily modify the text of the
added its comments.
As addressing all those needs goes beyond the current event handling
design, we add an action controller and work towards replacing the old
design.
The action controller will be backed by a single, common rule base. It
will allow for different rules to fire the same action, provide was to
disambiguate between where the issue has been referenced, and allow to
modify standard text for its comments using Velocity templates.
Change-Id: I8c722f9957f1e44133a93332e71bf56deb56d6ba
2 files changed