diff --git a/backend/helpers/pluginhelper/api/pipeline_plan.go b/backend/helpers/pluginhelper/api/pipeline_plan.go index 4c11f6ef338..6efafb9cc76 100644 --- a/backend/helpers/pluginhelper/api/pipeline_plan.go +++ b/backend/helpers/pluginhelper/api/pipeline_plan.go @@ -19,7 +19,10 @@ package api import ( "fmt" + "strconv" + "strings" + "github.com/apache/incubator-devlake/core/config" "github.com/apache/incubator-devlake/core/errors" "github.com/apache/incubator-devlake/core/models" plugin "github.com/apache/incubator-devlake/core/plugin" @@ -60,6 +63,25 @@ func MakePipelinePlanTask( entities []string, options interface{}, ) (*models.PipelineTask, errors.Error) { + // get subtasks enabled by default + cfg := config.GetConfig() + enableSubtasksByDefault := cfg.GetString("ENABLE_SUBTASKS_BY_DEFAULT") + enableSubtasksList := strings.Split(enableSubtasksByDefault, ",") + for s := range subtaskMetas { + compareName := pluginName + ":" + subtaskMetas[s].Name + for _, enableSubtask := range enableSubtasksList { + subtaskInfo := strings.Split(enableSubtask, ":") + subtaskInfoName := subtaskInfo[0] + ":" + subtaskInfo[1] + if len(subtaskInfo) > 2 && (subtaskInfoName == compareName) { + v, err := strconv.ParseBool(subtaskInfo[2]) + if err != nil { + break + } + subtaskMetas[s].EnabledByDefault = v + } + } + } + subtasks, err := MakePipelinePlanSubtasks(subtaskMetas, entities) if err != nil { return nil, err diff --git a/backend/plugins/jira/tasks/issue_changelog_collector.go b/backend/plugins/jira/tasks/issue_changelog_collector.go index 76c1eef389c..00fe640658b 100644 --- a/backend/plugins/jira/tasks/issue_changelog_collector.go +++ b/backend/plugins/jira/tasks/issue_changelog_collector.go @@ -40,7 +40,7 @@ const RAW_CHANGELOG_TABLE = "jira_api_issue_changelogs" var CollectIssueChangelogsMeta = plugin.SubTaskMeta{ Name: "collectIssueChangelogs", EntryPoint: CollectIssueChangelogs, - EnabledByDefault: true, + EnabledByDefault: false, Description: "collect Jira Issue change logs, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS}, } diff --git a/backend/plugins/jira/tasks/issue_changelog_convertor.go b/backend/plugins/jira/tasks/issue_changelog_convertor.go index 0dc8d134bb7..cd18d480874 100644 --- a/backend/plugins/jira/tasks/issue_changelog_convertor.go +++ b/backend/plugins/jira/tasks/issue_changelog_convertor.go @@ -39,7 +39,7 @@ var validID = regexp.MustCompile(`[0-9]+`) var ConvertIssueChangelogsMeta = plugin.SubTaskMeta{ Name: "convertIssueChangelogs", EntryPoint: ConvertIssueChangelogs, - EnabledByDefault: true, + EnabledByDefault: false, Description: "convert Jira Issue change logs", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS}, } diff --git a/backend/plugins/jira/tasks/issue_changelog_extractor.go b/backend/plugins/jira/tasks/issue_changelog_extractor.go index 3d0cbe5f6bd..813f570153a 100644 --- a/backend/plugins/jira/tasks/issue_changelog_extractor.go +++ b/backend/plugins/jira/tasks/issue_changelog_extractor.go @@ -33,7 +33,7 @@ var _ plugin.SubTaskEntryPoint = ExtractIssueChangelogs var ExtractIssueChangelogsMeta = plugin.SubTaskMeta{ Name: "extractIssueChangelogs", EntryPoint: ExtractIssueChangelogs, - EnabledByDefault: true, + EnabledByDefault: false, Description: "extract Jira Issue change logs", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS}, } diff --git a/backend/plugins/tapd/tasks/bug_changelog_collector.go b/backend/plugins/tapd/tasks/bug_changelog_collector.go index 0822eeee978..a394c1c6aa7 100644 --- a/backend/plugins/tapd/tasks/bug_changelog_collector.go +++ b/backend/plugins/tapd/tasks/bug_changelog_collector.go @@ -66,7 +66,7 @@ func CollectBugChangelogs(taskCtx plugin.SubTaskContext) errors.Error { var CollectBugChangelogMeta = plugin.SubTaskMeta{ Name: "collectBugChangelogs", EntryPoint: CollectBugChangelogs, - EnabledByDefault: true, + EnabledByDefault: false, Description: "collect Tapd bugChangelogs", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/tapd/tasks/bug_changelog_converter.go b/backend/plugins/tapd/tasks/bug_changelog_converter.go index 0ec3699c0e2..c22a1626814 100644 --- a/backend/plugins/tapd/tasks/bug_changelog_converter.go +++ b/backend/plugins/tapd/tasks/bug_changelog_converter.go @@ -148,7 +148,7 @@ func ConvertBugChangelog(taskCtx plugin.SubTaskContext) errors.Error { var ConvertBugChangelogMeta = plugin.SubTaskMeta{ Name: "convertBugChangelog", EntryPoint: ConvertBugChangelog, - EnabledByDefault: true, + EnabledByDefault: false, Description: "convert Tapd bug changelog", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/tapd/tasks/bug_changelog_extractor.go b/backend/plugins/tapd/tasks/bug_changelog_extractor.go index 958f5227597..e50d2b44298 100644 --- a/backend/plugins/tapd/tasks/bug_changelog_extractor.go +++ b/backend/plugins/tapd/tasks/bug_changelog_extractor.go @@ -19,6 +19,7 @@ package tasks import ( "encoding/json" + "github.com/apache/incubator-devlake/core/errors" "github.com/apache/incubator-devlake/core/plugin" "github.com/apache/incubator-devlake/helpers/pluginhelper/api" @@ -30,7 +31,7 @@ var _ plugin.SubTaskEntryPoint = ExtractBugChangelog var ExtractBugChangelogMeta = plugin.SubTaskMeta{ Name: "extractBugChangelog", EntryPoint: ExtractBugChangelog, - EnabledByDefault: true, + EnabledByDefault: false, Description: "Extract raw workspace data into tool layer table _tool_tapd_bug_changelogs", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/bug_repo_commits_collector.go b/backend/plugins/zentao/tasks/bug_repo_commits_collector.go index 17ff2439f46..347ad128ac6 100644 --- a/backend/plugins/zentao/tasks/bug_repo_commits_collector.go +++ b/backend/plugins/zentao/tasks/bug_repo_commits_collector.go @@ -36,7 +36,7 @@ var _ plugin.SubTaskEntryPoint = CollectBugRepoCommits var CollectBugRepoCommitsMeta = plugin.SubTaskMeta{ Name: "collectBugRepoCommits", EntryPoint: CollectBugRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "Collect Bug Repo Commits data from Zentao api", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/bug_repo_commits_convertor.go b/backend/plugins/zentao/tasks/bug_repo_commits_convertor.go index 6266f0dc9b7..28434d22b92 100644 --- a/backend/plugins/zentao/tasks/bug_repo_commits_convertor.go +++ b/backend/plugins/zentao/tasks/bug_repo_commits_convertor.go @@ -35,7 +35,7 @@ var _ plugin.SubTaskEntryPoint = ConvertBugRepoCommits var ConvertBugRepoCommitsMeta = plugin.SubTaskMeta{ Name: "convertBugRepoCommits", EntryPoint: ConvertBugRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "convert Zentao bug repo commits", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/bug_repo_commits_extractor.go b/backend/plugins/zentao/tasks/bug_repo_commits_extractor.go index 7afbb4df7bb..4ae6d54033f 100644 --- a/backend/plugins/zentao/tasks/bug_repo_commits_extractor.go +++ b/backend/plugins/zentao/tasks/bug_repo_commits_extractor.go @@ -30,7 +30,7 @@ var _ plugin.SubTaskEntryPoint = ExtractBugRepoCommits var ExtractBugRepoCommitsMeta = plugin.SubTaskMeta{ Name: "extractBugRepoCommits", EntryPoint: ExtractBugRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "extract Zentao bug repo commits", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/story_repo_commits_collector.go b/backend/plugins/zentao/tasks/story_repo_commits_collector.go index 07640adf27e..865d109a338 100644 --- a/backend/plugins/zentao/tasks/story_repo_commits_collector.go +++ b/backend/plugins/zentao/tasks/story_repo_commits_collector.go @@ -36,7 +36,7 @@ var _ plugin.SubTaskEntryPoint = CollectStoryRepoCommits var CollectStoryRepoCommitsMeta = plugin.SubTaskMeta{ Name: "collectStoryRepoCommits", EntryPoint: CollectStoryRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "Collect Story Repo Commits data from Zentao api", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/story_repo_commits_convertor.go b/backend/plugins/zentao/tasks/story_repo_commits_convertor.go index 24a38b547dc..9e470c4d0cc 100644 --- a/backend/plugins/zentao/tasks/story_repo_commits_convertor.go +++ b/backend/plugins/zentao/tasks/story_repo_commits_convertor.go @@ -18,9 +18,10 @@ limitations under the License. package tasks import ( - "github.com/spf13/cast" "reflect" + "github.com/spf13/cast" + "github.com/apache/incubator-devlake/core/dal" "github.com/apache/incubator-devlake/core/errors" "github.com/apache/incubator-devlake/core/models/domainlayer/crossdomain" @@ -35,7 +36,7 @@ var _ plugin.SubTaskEntryPoint = ConvertStoryRepoCommits var ConvertStoryRepoCommitsMeta = plugin.SubTaskMeta{ Name: "convertStoryRepoCommits", EntryPoint: ConvertStoryRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "convert Zentao story repo commits", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/story_repo_commits_extractor.go b/backend/plugins/zentao/tasks/story_repo_commits_extractor.go index 7e1b69d70d6..a4c35fd0c5f 100644 --- a/backend/plugins/zentao/tasks/story_repo_commits_extractor.go +++ b/backend/plugins/zentao/tasks/story_repo_commits_extractor.go @@ -19,6 +19,7 @@ package tasks import ( "encoding/json" + "github.com/apache/incubator-devlake/core/errors" "github.com/apache/incubator-devlake/core/plugin" "github.com/apache/incubator-devlake/helpers/pluginhelper/api" @@ -30,7 +31,7 @@ var _ plugin.SubTaskEntryPoint = ExtractStoryRepoCommits var ExtractStoryRepoCommitsMeta = plugin.SubTaskMeta{ Name: "extractStoryRepoCommits", EntryPoint: ExtractStoryRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "extract Zentao story repo commits", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/task_repo_commits_collector.go b/backend/plugins/zentao/tasks/task_repo_commits_collector.go index 847dd8d4a8a..ea0d59f75ba 100644 --- a/backend/plugins/zentao/tasks/task_repo_commits_collector.go +++ b/backend/plugins/zentao/tasks/task_repo_commits_collector.go @@ -36,7 +36,7 @@ var _ plugin.SubTaskEntryPoint = CollectTaskRepoCommits var CollectTaskRepoCommitsMeta = plugin.SubTaskMeta{ Name: "collectTaskRepoCommits", EntryPoint: CollectTaskRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "Collect Task Repo Commits data from Zentao api", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/task_repo_commits_convertor.go b/backend/plugins/zentao/tasks/task_repo_commits_convertor.go index bc2d5f2fd1e..6f0fb4fe7fd 100644 --- a/backend/plugins/zentao/tasks/task_repo_commits_convertor.go +++ b/backend/plugins/zentao/tasks/task_repo_commits_convertor.go @@ -18,9 +18,10 @@ limitations under the License. package tasks import ( - "github.com/spf13/cast" "reflect" + "github.com/spf13/cast" + "github.com/apache/incubator-devlake/core/dal" "github.com/apache/incubator-devlake/core/errors" "github.com/apache/incubator-devlake/core/models/domainlayer/crossdomain" @@ -35,7 +36,7 @@ var _ plugin.SubTaskEntryPoint = ConvertTaskRepoCommits var ConvertTaskRepoCommitsMeta = plugin.SubTaskMeta{ Name: "convertTaskRepoCommits", EntryPoint: ConvertTaskRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "convert Zentao task repo commits", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/backend/plugins/zentao/tasks/task_repo_commits_extractor.go b/backend/plugins/zentao/tasks/task_repo_commits_extractor.go index 91742395257..40de4fd5732 100644 --- a/backend/plugins/zentao/tasks/task_repo_commits_extractor.go +++ b/backend/plugins/zentao/tasks/task_repo_commits_extractor.go @@ -19,6 +19,7 @@ package tasks import ( "encoding/json" + "github.com/apache/incubator-devlake/core/errors" "github.com/apache/incubator-devlake/core/plugin" "github.com/apache/incubator-devlake/helpers/pluginhelper/api" @@ -30,7 +31,7 @@ var _ plugin.SubTaskEntryPoint = ExtractTaskRepoCommits var ExtractTaskRepoCommitsMeta = plugin.SubTaskMeta{ Name: "extractTaskRepoCommits", EntryPoint: ExtractTaskRepoCommits, - EnabledByDefault: true, + EnabledByDefault: false, Description: "extract Zentao task repo commits", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, } diff --git a/env.example b/env.example index 2232eb9a765..bb8bafc099a 100755 --- a/env.example +++ b/env.example @@ -73,3 +73,6 @@ SKIP_COMMIT_FILES=true # Set if response error when requesting /connections/{connection_id}/test should be wrapped or not ########################## WRAP_RESPONSE_ERROR= + +# Enable subtasks by default: plugin_name:subtask_name:enabled +ENABLE_SUBTASKS_BY_DEFAULT="jira:collectIssueChangelogs:true,jira:extractIssueChangelogs:true,jira:convertIssueChangelogs:true,tapd:collectBugChangelogs:true,tapd:extractBugChangelogs:true,tapd:convertBugChangelogs:true,zentao:collectBugRepoCommits:true,zentao:extractBugRepoCommits:true,zentao:convertBugRepoCommits:true,zentao:collectStoryRepoCommits:true,zentao:extractStoryRepoCommits:true,zentao:convertStoryRepoCommits:true,zentao:collectTaskRepoCommits:true,zentao:extractTaskRepoCommits:true,zentao:convertTaskRepoCommits:true" \ No newline at end of file