Add a server config for disabling robot comments in the UI
We are planning to deprecate robot comments. So this is a setting for
hosts to opt-in early into turning robot comments off.
The UI will not show a `Findings` tab and will not even try to load
robot comments, if this config value is set to `false`.
Release-Notes: skip
Google-Bug-Id: b/227463363
Change-Id: Iddbcfb38b023055a02804653ad72fc17aca5ecf4
diff --git a/Documentation/config-gerrit.txt b/Documentation/config-gerrit.txt
index 19445b8..464c59b 100644
--- a/Documentation/config-gerrit.txt
+++ b/Documentation/config-gerrit.txt
@@ -1537,6 +1537,13 @@
+
By default true.
+[[change.enableRobotComments]]change.enableRobotComments::
++
+Are robot comments enabled in the Gerrit UI? This setting allows phasing out
+robot comments.
++
+By default true.
+
[[change.robotCommentSizeLimit]]change.robotCommentSizeLimit::
+
Maximum allowed size in characters of a robot comment. Robot comments which
diff --git a/Documentation/rest-api-config.txt b/Documentation/rest-api-config.txt
index 6328dfd..4c12f9f 100644
--- a/Documentation/rest-api-config.txt
+++ b/Documentation/rest-api-config.txt
@@ -1575,6 +1575,8 @@
configuration parameter] that controls whether the mergeability bit in
link:rest-api-changes.html#change-info[ChangeInfo] will never be set and if the
bit is indexed.
+|`enable_robot_comments`|not set if `false`|
+link:config-gerrit.html#change.enableRobotComments[Are robot comments enabled?].
|=============================
[[change-index-config-info]]
diff --git a/java/com/google/gerrit/extensions/common/ChangeConfigInfo.java b/java/com/google/gerrit/extensions/common/ChangeConfigInfo.java
index f85279c..2295922 100644
--- a/java/com/google/gerrit/extensions/common/ChangeConfigInfo.java
+++ b/java/com/google/gerrit/extensions/common/ChangeConfigInfo.java
@@ -21,4 +21,5 @@
public int updateDelay;
public Boolean submitWholeTopic;
public String mergeabilityComputationBehavior;
+ public Boolean enableRobotComments;
}
diff --git a/java/com/google/gerrit/server/restapi/config/GetServerInfo.java b/java/com/google/gerrit/server/restapi/config/GetServerInfo.java
index e8a6671..53b05e1 100644
--- a/java/com/google/gerrit/server/restapi/config/GetServerInfo.java
+++ b/java/com/google/gerrit/server/restapi/config/GetServerInfo.java
@@ -222,6 +222,7 @@
toBoolean(this.config.getBoolean("change", null, "disablePrivateChanges", false));
info.mergeabilityComputationBehavior =
MergeabilityComputationBehavior.fromConfig(config).name();
+ info.enableRobotComments = toBoolean(config.getBoolean("change", "enableRobotComments", true));
return info;
}
diff --git a/javatests/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java b/javatests/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java
index 1236afd..364ce84 100644
--- a/javatests/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java
+++ b/javatests/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java
@@ -60,6 +60,7 @@
// change
@GerritConfig(name = "change.updateDelay", value = "50s")
@GerritConfig(name = "change.disablePrivateChanges", value = "true")
+ @GerritConfig(name = "change.enableRobotComments", value = "false")
// download
@GerritConfig(
@@ -100,6 +101,7 @@
// change
assertThat(i.change.updateDelay).isEqualTo(50);
assertThat(i.change.disablePrivateChanges).isTrue();
+ assertThat(i.change.enableRobotComments).isNull();
// download
assertThat(i.download.archives).containsExactly("tar", "tbz2", "tgz", "txz");