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
tree: b8acc6643db7cf30f867e27281815c9359f968e6
  1. .gitignore
  2. LICENSE
  3. hooks-its/
  4. pom.xml