diff options
Diffstat (limited to 'app/diagnostics.go')
-rw-r--r-- | app/diagnostics.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/app/diagnostics.go b/app/diagnostics.go index 603ceb8a5..a22e87587 100644 --- a/app/diagnostics.go +++ b/app/diagnostics.go @@ -4,6 +4,7 @@ package app import ( + "encoding/json" "log" "os" "runtime" @@ -38,6 +39,7 @@ const ( TRACK_CONFIG_ANALYTICS = "config_analytics" TRACK_CONFIG_ANNOUNCEMENT = "config_announcement" TRACK_CONFIG_ELASTICSEARCH = "config_elasticsearch" + TRACK_CONFIG_PLUGIN = "config_plugin" TRACK_ACTIVITY = "activity" TRACK_LICENSE = "license" @@ -87,6 +89,23 @@ func isDefault(setting interface{}, defaultValue interface{}) bool { return false } +func pluginSetting(plugin, key string, defaultValue interface{}) interface{} { + settings, ok := utils.Cfg.PluginSettings.Plugins[plugin] + if !ok { + return defaultValue + } + var m map[string]interface{} + if b, err := json.Marshal(settings); err != nil { + return defaultValue + } else { + json.Unmarshal(b, &m) + } + if value, ok := m[key]; ok { + return value + } + return defaultValue +} + func trackActivity() { var userCount int64 var activeUserCount int64 @@ -393,6 +412,10 @@ func trackConfig() { "enable_searching": *utils.Cfg.ElasticsearchSettings.EnableSearching, "sniff": *utils.Cfg.ElasticsearchSettings.Sniff, }) + + SendDiagnostic(TRACK_CONFIG_PLUGIN, map[string]interface{}{ + "enable_jira": pluginSetting("jira", "enabled", false), + }) } func trackLicense() { |