MM-30801: pre-package channel export plugin (#16406)
* MM-30801: pre-package channel export plugin The [channel export plugin](https://github.com/mattermost/mattermost-plugin-channel-export) complements [incident management](https://github.com/mattermost/mattermost-plugin-incident-management). * only enable IM/CE by default on enterprise ready builds
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
3f5041fa43
Коммит
cd9185fa23
1
Makefile
1
Makefile
@@ -96,6 +96,7 @@ PLUGIN_PACKAGES += mattermost-plugin-jira-v2.3.2
|
||||
PLUGIN_PACKAGES += mattermost-plugin-gitlab-v1.1.0
|
||||
PLUGIN_PACKAGES += mattermost-plugin-jenkins-v1.0.0
|
||||
PLUGIN_PACKAGES += mattermost-plugin-incident-management-v1.1.1
|
||||
PLUGIN_PACKAGES += mattermost-plugin-channel-export-v0.2.2
|
||||
|
||||
# Prepares the enterprise build if exists. The IGNORE stuff is a hack to get the Makefile to execute the commands outside a target
|
||||
ifeq ($(BUILD_ENTERPRISE_READY),true)
|
||||
|
||||
@@ -2676,11 +2676,16 @@ func (s *PluginSettings) SetDefaults(ls LogSettings) {
|
||||
s.PluginStates["com.mattermost.nps"] = &PluginState{Enable: ls.EnableDiagnostics == nil || *ls.EnableDiagnostics}
|
||||
}
|
||||
|
||||
if s.PluginStates["com.mattermost.plugin-incident-management"] == nil {
|
||||
if s.PluginStates["com.mattermost.plugin-incident-management"] == nil && BuildEnterpriseReady == "true" {
|
||||
// Enable the incident management plugin by default
|
||||
s.PluginStates["com.mattermost.plugin-incident-management"] = &PluginState{Enable: true}
|
||||
}
|
||||
|
||||
if s.PluginStates["com.mattermost.plugin-channel-export"] == nil && BuildEnterpriseReady == "true" {
|
||||
// Enable the channel export plugin by default
|
||||
s.PluginStates["com.mattermost.plugin-channel-export"] = &PluginState{Enable: true}
|
||||
}
|
||||
|
||||
if s.EnableMarketplace == nil {
|
||||
s.EnableMarketplace = NewBool(PLUGIN_SETTINGS_DEFAULT_ENABLE_MARKETPLACE)
|
||||
}
|
||||
|
||||
@@ -309,14 +309,24 @@ func TestConfigDefaultNPSPluginState(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestConfigDefaultIncidentManagementPluginState(t *testing.T) {
|
||||
t.Run("should enable IncidentManagement plugin by default", func(t *testing.T) {
|
||||
t.Run("should enable IncidentManagement plugin by default on enterprise-ready builds", func(t *testing.T) {
|
||||
BuildEnterpriseReady = "true"
|
||||
c1 := Config{}
|
||||
c1.SetDefaults()
|
||||
|
||||
assert.True(t, c1.PluginSettings.PluginStates["com.mattermost.plugin-incident-management"].Enable)
|
||||
})
|
||||
|
||||
t.Run("should not enable IncidentManagement plugin by default on non-enterprise-ready builds", func(t *testing.T) {
|
||||
BuildEnterpriseReady = ""
|
||||
c1 := Config{}
|
||||
c1.SetDefaults()
|
||||
|
||||
assert.Nil(t, c1.PluginSettings.PluginStates["com.mattermost.plugin-incident-management"])
|
||||
})
|
||||
|
||||
t.Run("should not re-enable IncidentManagement plugin after it has been disabled", func(t *testing.T) {
|
||||
BuildEnterpriseReady = ""
|
||||
c1 := Config{
|
||||
PluginSettings: PluginSettings{
|
||||
PluginStates: map[string]*PluginState{
|
||||
@@ -333,6 +343,41 @@ func TestConfigDefaultIncidentManagementPluginState(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestConfigDefaultChannelExportPluginState(t *testing.T) {
|
||||
t.Run("should enable ChannelExport plugin by default on enterprise-ready builds", func(t *testing.T) {
|
||||
BuildEnterpriseReady = "true"
|
||||
c1 := Config{}
|
||||
c1.SetDefaults()
|
||||
|
||||
assert.True(t, c1.PluginSettings.PluginStates["com.mattermost.plugin-channel-export"].Enable)
|
||||
})
|
||||
|
||||
t.Run("should not enable ChannelExport plugin by default on non-enterprise-ready builds", func(t *testing.T) {
|
||||
BuildEnterpriseReady = ""
|
||||
c1 := Config{}
|
||||
c1.SetDefaults()
|
||||
|
||||
assert.Nil(t, c1.PluginSettings.PluginStates["com.mattermost.plugin-channel-export"])
|
||||
})
|
||||
|
||||
t.Run("should not re-enable ChannelExport plugin after it has been disabled", func(t *testing.T) {
|
||||
BuildEnterpriseReady = ""
|
||||
c1 := Config{
|
||||
PluginSettings: PluginSettings{
|
||||
PluginStates: map[string]*PluginState{
|
||||
"com.mattermost.plugin-channel-export": {
|
||||
Enable: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
c1.SetDefaults()
|
||||
|
||||
assert.False(t, c1.PluginSettings.PluginStates["com.mattermost.plugin-channel-export"].Enable)
|
||||
})
|
||||
}
|
||||
|
||||
func TestTeamSettingsIsValidSiteNameEmpty(t *testing.T) {
|
||||
c1 := Config{}
|
||||
c1.SetDefaults()
|
||||
|
||||
@@ -1282,6 +1282,7 @@ func (ts *TelemetryService) trackPluginConfig(cfg *model.Config, marketplaceURL
|
||||
"com.mattermost.custom-attributes",
|
||||
"com.mattermost.mscalendar",
|
||||
"com.mattermost.nps",
|
||||
"com.mattermost.plugin-channel-export",
|
||||
"com.mattermost.plugin-incident-management",
|
||||
"com.mattermost.plugin-todo",
|
||||
"com.mattermost.webex",
|
||||
|
||||
Ссылка в новой задаче
Block a user