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-gitlab-v1.1.0
|
||||||
PLUGIN_PACKAGES += mattermost-plugin-jenkins-v1.0.0
|
PLUGIN_PACKAGES += mattermost-plugin-jenkins-v1.0.0
|
||||||
PLUGIN_PACKAGES += mattermost-plugin-incident-management-v1.1.1
|
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
|
# 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)
|
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}
|
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
|
// Enable the incident management plugin by default
|
||||||
s.PluginStates["com.mattermost.plugin-incident-management"] = &PluginState{Enable: true}
|
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 {
|
if s.EnableMarketplace == nil {
|
||||||
s.EnableMarketplace = NewBool(PLUGIN_SETTINGS_DEFAULT_ENABLE_MARKETPLACE)
|
s.EnableMarketplace = NewBool(PLUGIN_SETTINGS_DEFAULT_ENABLE_MARKETPLACE)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -309,14 +309,24 @@ func TestConfigDefaultNPSPluginState(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestConfigDefaultIncidentManagementPluginState(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 := Config{}
|
||||||
c1.SetDefaults()
|
c1.SetDefaults()
|
||||||
|
|
||||||
assert.True(t, c1.PluginSettings.PluginStates["com.mattermost.plugin-incident-management"].Enable)
|
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) {
|
t.Run("should not re-enable IncidentManagement plugin after it has been disabled", func(t *testing.T) {
|
||||||
|
BuildEnterpriseReady = ""
|
||||||
c1 := Config{
|
c1 := Config{
|
||||||
PluginSettings: PluginSettings{
|
PluginSettings: PluginSettings{
|
||||||
PluginStates: map[string]*PluginState{
|
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) {
|
func TestTeamSettingsIsValidSiteNameEmpty(t *testing.T) {
|
||||||
c1 := Config{}
|
c1 := Config{}
|
||||||
c1.SetDefaults()
|
c1.SetDefaults()
|
||||||
|
|||||||
@@ -1282,6 +1282,7 @@ func (ts *TelemetryService) trackPluginConfig(cfg *model.Config, marketplaceURL
|
|||||||
"com.mattermost.custom-attributes",
|
"com.mattermost.custom-attributes",
|
||||||
"com.mattermost.mscalendar",
|
"com.mattermost.mscalendar",
|
||||||
"com.mattermost.nps",
|
"com.mattermost.nps",
|
||||||
|
"com.mattermost.plugin-channel-export",
|
||||||
"com.mattermost.plugin-incident-management",
|
"com.mattermost.plugin-incident-management",
|
||||||
"com.mattermost.plugin-todo",
|
"com.mattermost.plugin-todo",
|
||||||
"com.mattermost.webex",
|
"com.mattermost.webex",
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user