Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions plugins/ae/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,14 @@ func (plugin AE) Init(config *viper.Viper, logger core.Logger, db *gorm.DB) erro
api.Init(config, logger, db)
return nil
}
func (plugin AE) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.AECommit{},
&models.AEProject{},
&models.AeConnection{},
&models.AeResponse{},
}
}

func (plugin AE) Description() string {
return "To collect and enrich data from AE"
Expand Down
26 changes: 26 additions & 0 deletions plugins/core/plugin_model.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package core

type Tabler interface {
TableName() string
}

type PluginModel interface {
GetTablesInfo() []Tabler
}
4 changes: 4 additions & 0 deletions plugins/dbt/dbt.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ func (plugin Dbt) SubTaskMetas() []core.SubTaskMeta {
}
}

func (plugin Dbt) GetTablesInfo() []core.Tabler {
return []core.Tabler{}
}

func (plugin Dbt) PrepareTaskData(taskCtx core.TaskContext, options map[string]interface{}) (interface{}, error) {
var op tasks.DbtOptions
err := mapstructure.Decode(options, &op)
Expand Down
7 changes: 7 additions & 0 deletions plugins/feishu/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,13 @@ func (plugin Feishu) Init(config *viper.Viper, logger core.Logger, db *gorm.DB)
return nil
}

func (plugin Feishu) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.FeishuConnection{},
&models.FeishuMeetingTopUserItem{},
}
}

func (plugin Feishu) Description() string {
return "To collect and enrich data from Feishu"
}
Expand Down
21 changes: 21 additions & 0 deletions plugins/gitee/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,27 @@ func (plugin Gitee) Init(config *viper.Viper, logger core.Logger, db *gorm.DB) e
return nil
}

func (plugin Gitee) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.GiteeConnection{},
&models.GiteeAccount{},
&models.GiteeCommit{},
&models.GiteeCommitStat{},
&models.GiteeIssue{},
&models.GiteeIssueComment{},
&models.GiteeIssueLabel{},
&models.GiteePullRequest{},
&models.GiteePullRequestComment{},
&models.GiteePullRequestCommit{},
&models.GiteePullRequestIssue{},
&models.GiteePullRequestLabel{},
&models.GiteeRepo{},
&models.GiteeRepoCommit{},
&models.GiteeResponse{},
&models.GiteeReviewer{},
}
}

func (plugin Gitee) Description() string {
return "To collect and enrich data from Gitee"
}
Expand Down
7 changes: 6 additions & 1 deletion plugins/gitextractor/gitextractor.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,25 @@ limitations under the License.
package main

import (
"strings"

"github.com/apache/incubator-devlake/plugins/core"
"github.com/apache/incubator-devlake/plugins/gitextractor/models"
"github.com/apache/incubator-devlake/plugins/gitextractor/parser"
"github.com/apache/incubator-devlake/plugins/gitextractor/store"
"github.com/apache/incubator-devlake/plugins/gitextractor/tasks"
"github.com/mitchellh/mapstructure"
"strings"
)

var _ core.PluginMeta = (*GitExtractor)(nil)
var _ core.PluginTask = (*GitExtractor)(nil)

type GitExtractor struct{}

func (plugin GitExtractor) GetTablesInfo() []core.Tabler {
return []core.Tabler{}
}

func (plugin GitExtractor) Description() string {
return "extract infos from git repository"
}
Expand Down
28 changes: 28 additions & 0 deletions plugins/github/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,34 @@ func (plugin Github) Init(config *viper.Viper, logger core.Logger, db *gorm.DB)
return nil
}

func (plugin Github) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.GithubConnection{},
&models.GithubAccount{},
&models.GithubAccountOrg{},
&models.GithubCommit{},
&models.GithubCommitStat{},
&models.GithubIssue{},
&models.GithubIssueComment{},
&models.GithubIssueEvent{},
&models.GithubIssueLabel{},
&models.GithubJob{},
&models.GithubMilestone{},
&models.GithubPipeline{},
&models.GithubPrComment{},
&models.GithubPrCommit{},
&models.GithubPrIssue{},
&models.GithubPrLabel{},
&models.GithubPrReview{},
&models.GithubPullRequest{},
&models.GithubRepo{},
&models.GithubRepoAccount{},
&models.GithubRepoCommit{},
&models.GithubReviewer{},
&models.GithubRun{},
}
}

func (plugin Github) Description() string {
return "To collect and enrich data from GitHub"
}
Expand Down
22 changes: 22 additions & 0 deletions plugins/gitlab/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import (

var _ core.PluginMeta = (*Gitlab)(nil)
var _ core.PluginInit = (*Gitlab)(nil)
var _ core.PluginModel = (*Gitlab)(nil)
var _ core.PluginTask = (*Gitlab)(nil)
var _ core.PluginApi = (*Gitlab)(nil)
var _ core.Migratable = (*Gitlab)(nil)
Expand All @@ -46,6 +47,27 @@ func (plugin Gitlab) Init(config *viper.Viper, logger core.Logger, db *gorm.DB)
return nil
}

func (plugin Gitlab) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.GitlabConnection{},
&models.GitlabAccount{},
&models.GitlabCommit{},
&models.GitlabIssue{},
&models.GitlabIssueLabel{},
&models.GitlabJob{},
&models.GitlabMergeRequest{},
&models.GitlabMrComment{},
&models.GitlabMrCommit{},
&models.GitlabMrLabel{},
&models.GitlabMrNote{},
&models.GitlabPipeline{},
&models.GitlabProject{},
&models.GitlabProjectCommit{},
&models.GitlabReviewer{},
&models.GitlabTag{},
}
}

func (plugin Gitlab) Description() string {
return "To collect and enrich data from Gitlab"
}
Expand Down
6 changes: 6 additions & 0 deletions plugins/icla/plugin_main.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ var PluginEntry Icla //nolint

type Icla struct{}

func (plugin Icla) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.IclaCommitter{},
}
}

func (plugin Icla) Description() string {
return "collect some Icla data"
}
Expand Down
14 changes: 14 additions & 0 deletions plugins/jenkins/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,20 @@ func (plugin Jenkins) Init(config *viper.Viper, logger core.Logger, db *gorm.DB)
return nil
}

func (plugin Jenkins) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.JenkinsBuild{},
&models.JenkinsBuildRepo{},
&models.JenkinsConnection{},
&models.JenkinsJob{},
&models.JenkinsJobDag{},
&models.JenkinsPipeline{},
&models.JenkinsResponse{},
&models.JenkinsStage{},
&models.JenkinsTask{},
}
}

func (plugin Jenkins) Description() string {
return "To collect and enrich data from Jenkins"
}
Expand Down
23 changes: 23 additions & 0 deletions plugins/jira/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,29 @@ func (plugin Jira) Init(config *viper.Viper, logger core.Logger, db *gorm.DB) er
api.Init(config, logger, db)
return nil
}
func (plugin Jira) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.ApiMyselfResponse{},
&models.JiraAccount{},
&models.JiraBoard{},
&models.JiraBoardIssue{},
&models.JiraBoardSprint{},
&models.JiraConnection{},
&models.JiraIssue{},
&models.JiraIssueChangelogItems{},
&models.JiraIssueChangelogs{},
&models.JiraIssueCommit{},
&models.JiraIssueLabel{},
&models.JiraIssueType{},
&models.JiraProject{},
&models.JiraRemotelink{},
&models.JiraServerInfo{},
&models.JiraSprint{},
&models.JiraSprintIssue{},
&models.JiraStatus{},
&models.JiraWorklog{},
}
}

func (plugin Jira) Description() string {
return "To collect and enrich data from JIRA"
Expand Down
4 changes: 4 additions & 0 deletions plugins/org/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ func (plugin *Org) Init(config *viper.Viper, logger core.Logger, db *gorm.DB) er
return nil
}

func (plugin Org) GetTablesInfo() []core.Tabler {
return []core.Tabler{}
}

func (plugin Org) Description() string {
return "collect data related to team and organization"
}
Expand Down
4 changes: 4 additions & 0 deletions plugins/refdiff/refdiff.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ func (plugin RefDiff) Description() string {
return "Calculate commits diff for specified ref pairs based on `commits` and `commit_parents` tables"
}

func (plugin RefDiff) GetTablesInfo() []core.Tabler {
return []core.Tabler{}
}

func (plugin RefDiff) Init(config *viper.Viper, logger core.Logger, db *gorm.DB) error {
return nil
}
Expand Down
4 changes: 4 additions & 0 deletions plugins/starrocks/starrocks.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ func (s StarRocks) PrepareTaskData(taskCtx core.TaskContext, options map[string]
return &op, nil
}

func (plugin StarRocks) GetTablesInfo() []core.Tabler {
return []core.Tabler{}
}

func (s StarRocks) Description() string {
return "Sync data from database to StarRocks"
}
Expand Down
42 changes: 42 additions & 0 deletions plugins/tapd/impl/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,48 @@ func (plugin Tapd) Init(config *viper.Viper, logger core.Logger, db *gorm.DB) er
return nil
}

func (plugin Tapd) GetTablesInfo() []core.Tabler {
return []core.Tabler{
&models.TapdAccount{},
&models.TapdBug{},
&models.TapdBugChangelog{},
&models.TapdBugChangelogItem{},
&models.TapdBugCommit{},
&models.TapdBugCustomFields{},
&models.TapdBugLabel{},
&models.TapdBugStatus{},
&models.TapdConnection{},
&models.TapdConnectionDetail{},
&models.TapdIssue{},
&models.TapdIteration{},
&models.TapdIterationBug{},
&models.TapdIterationStory{},
&models.TapdIterationTask{},
&models.TapdStory{},
&models.TapdStoryBug{},
&models.TapdStoryCategory{},
&models.TapdStoryChangelog{},
&models.TapdStoryChangelogItem{},
&models.TapdStoryCommit{},
&models.TapdStoryCustomFields{},
&models.TapdStoryLabel{},
&models.TapdStoryStatus{},
&models.TapdSubWorkspace{},
&models.TapdTask{},
&models.TapdTaskChangelog{},
&models.TapdTaskChangelogItem{},
&models.TapdTaskCommit{},
&models.TapdTaskCustomFields{},
&models.TapdTaskLabel{},
&models.TapdWorkSpaceBug{},
&models.TapdWorkSpaceStory{},
&models.TapdWorkSpaceTask{},
&models.TapdWorklog{},
&models.TapdWorkspace{},
&models.TapdWorkspaceIteration{},
}
}

func (plugin Tapd) Description() string {
return "To collect and enrich data from Tapd"
}
Expand Down
12 changes: 7 additions & 5 deletions runner/directrun.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,17 @@ import (
"context"
"errors"
"fmt"
"github.com/apache/incubator-devlake/config"
"github.com/apache/incubator-devlake/logger"
"github.com/apache/incubator-devlake/migration"
"github.com/apache/incubator-devlake/plugins/core"
"github.com/spf13/cobra"
"io"
"os"
"os/signal"
"runtime"
"syscall"

"github.com/apache/incubator-devlake/config"
"github.com/apache/incubator-devlake/logger"
"github.com/apache/incubator-devlake/migration"
"github.com/apache/incubator-devlake/plugins/core"
"github.com/spf13/cobra"
)

// RunCmd FIXME ...
Expand Down Expand Up @@ -64,6 +65,7 @@ func DirectRun(cmd *cobra.Command, args []string, pluginTask core.PluginTask, op
panic(err)
}
}

err = core.RegisterPlugin(cmd.Use, pluginTask.(core.PluginMeta))
if err != nil {
panic(err)
Expand Down
1 change: 1 addition & 0 deletions runner/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ func LoadPlugins(pluginsDir string, config *viper.Viper, logger core.Logger, db
if err != nil {
return nil
}

logger.Info(`plugin loaded %s`, pluginName)
}
return nil
Expand Down