Most of the Review Bot "configuration" now exists in integration configs (which
specify which tools should run under which conditions), but there are two
pieces of global configuration for the extension that still need to happen.
Specifically, Review Bot needs a user account (to use for posting reviews and
other API requests), and the URL of the AMQP broker.
We had an existing settings form that was capable of doing that, but it was
kind of terrible. It used a <select>
widget pre-populated with all the users
on the system, which isn't scalable, plus it required people to manually create
a user account through the database UI first. It also had no feedback about
whether the broker URL was correct.
This change replaces that with a new form which is submitted asynchronously.
The user selector uses selectize with similar styling to the new multi-user
select field that we added recently, and includes a "create" option for making
a new Review Bot user. Once the settings are configured, it will attempt to
refresh the tools list on each worker, to show some feedback. Right now the
feedback includes the connection state and the list of workers (but not what
tools are available). If everything is configured correctly (the user and
broker are set, the broker is available, and there are running workers), this
will then link to the integration list to set up individual tool
configurations.