Support to enable/disable the Bugzilla integration in the UI
On the ProjectInfoScreen there is now a dropdown list for the
plugin.its-bugzilla.enabled parameter which offers the values true,
false, enforced and INHERIT. Project owners can change this parameter
and save it. If the Bugzilla integration is enforced by a parent
project the dropdown list is disabled.
Change-Id: I887d5b891fa8e832d7a04fd1dd0208042dfc85c7
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/bz/BugzillaModule.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/bz/BugzillaModule.java
index b9030d2..60b5181 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/bz/BugzillaModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/bz/BugzillaModule.java
@@ -20,6 +20,7 @@
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.server.config.GerritServerConfig;
+import com.google.gerrit.server.config.PluginConfigFactory;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
@@ -32,12 +33,15 @@
private final String pluginName;
private final Config gerritConfig;
+ private final PluginConfigFactory pluginCfgFactory;
@Inject
public BugzillaModule(@PluginName final String pluginName,
- @GerritServerConfig final Config config) {
+ @GerritServerConfig final Config config,
+ PluginConfigFactory pluginCfgFactory) {
this.pluginName = pluginName;
this.gerritConfig = config;
+ this.pluginCfgFactory = pluginCfgFactory;
}
@Override
@@ -46,7 +50,7 @@
log.info("Bugzilla is configured as ITS");
bind(ItsFacade.class).toInstance(new BugzillaItsFacade(pluginName, gerritConfig));
- install(new ItsHookModule());
+ install(new ItsHookModule(pluginName, pluginCfgFactory));
}
}
}
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 4788a8e..c3adabb 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -30,6 +30,12 @@
a project can enforce the Bugzilla integration for all child projects by
setting `plugin.its-bugzilla.enabled` to `enforced`.
+On the project info screen there is a dropdown list for the
+`plugin.its-bugzilla.enabled` parameter which offers the values `true`,
+`false`, `enforced` and `INHERIT`. Project owners can change this
+parameter and save it. If the Bugzilla integration is enforced by a
+parent project the dropdown list is disabled.
+
The Bugzilla integration can be limited to specific branches by setting
`plugin.its-bugzilla.branch`. The branches may be configured using explicit
branch names, ref patterns, or regular expressions. Multiple branches