You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by wa...@apache.org on 2022/06/18 09:24:25 UTC
[incubator-devlake] 07/10: multi-data connections support for gitee
This is an automated email from the ASF dual-hosted git repository.
warren pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit 8b4c27db61d90c2d5e5791b5078c80a0f2f476c8
Author: Mr.An <42...@users.noreply.github.com>
AuthorDate: Sat Jun 18 16:58:39 2022 +0800
multi-data connections support for gitee
---
plugins/gitee/README.md | 8 +--
plugins/gitee/gitee.go | 44 ++++++++----
plugins/gitee/impl/impl.go | 79 ++++++++++++++++++++--
plugins/gitee/models/connection.go | 4 ++
.../{ => migrationscripts/archived}/connection.go | 40 ++++++++---
.../gitee/models/migrationscripts/init_schema.go | 76 ++++++++++++++++++++-
plugins/gitee/tasks/api_client.go | 30 ++++----
plugins/gitee/tasks/commit_collector.go | 1 -
plugins/gitee/tasks/commit_stats_collector.go | 1 -
plugins/gitee/tasks/issue_collector.go | 1 -
plugins/gitee/tasks/issue_comment_collector.go | 1 -
plugins/gitee/tasks/issue_comment_extractor.go | 16 ++++-
plugins/gitee/tasks/pr_collector.go | 1 -
plugins/gitee/tasks/pr_commit_collector.go | 1 -
plugins/gitee/tasks/pr_review_collector.go | 1 -
plugins/gitee/tasks/repo_collector.go | 1 -
plugins/gitee/tasks/shared.go | 12 ----
plugins/gitee/tasks/task_data.go | 13 ++--
18 files changed, 247 insertions(+), 83 deletions(-)
diff --git a/plugins/gitee/README.md b/plugins/gitee/README.md
index ce1bc6b6..cfb2b925 100644
--- a/plugins/gitee/README.md
+++ b/plugins/gitee/README.md
@@ -57,8 +57,7 @@ In order to collect data, you have to compose a JSON looks like following one, a
"plugin": "gitee",
"options": {
"repo": "lake",
- "owner": "merico-dev",
- "token": "xxxx"
+ "owner": "merico-dev"
}
}
]
@@ -73,8 +72,7 @@ and if you want to perform certain subtasks.
"subtasks": ["collectXXX", "extractXXX", "convertXXX"],
"options": {
"repo": "lake",
- "owner": "merico-dev",
- "token": "xxxx"
+ "owner": "merico-dev"
}
}
]
@@ -94,7 +92,6 @@ curl --location --request POST 'localhost:8080/pipelines' \
"options": {
"repo": "lake",
"owner": "merico-dev"
- "token": "xxxx"
}
}]]
}
@@ -113,7 +110,6 @@ curl --location --request POST 'localhost:8080/pipelines' \
"options": {
"repo": "lake",
"owner": "merico-dev"
- "token": "xxxx"
}
}]]
}
diff --git a/plugins/gitee/gitee.go b/plugins/gitee/gitee.go
index c6f19cf9..7c239996 100644
--- a/plugins/gitee/gitee.go
+++ b/plugins/gitee/gitee.go
@@ -26,19 +26,39 @@ import (
var PluginEntry impl.Gitee //nolint
func main() {
- giteeCmd := &cobra.Command{Use: "gitee"}
- owner := giteeCmd.Flags().StringP("owner", "o", "", "gitee owner")
- repo := giteeCmd.Flags().StringP("repo", "r", "", "gitee repo")
- token := giteeCmd.Flags().StringP("auth", "a", "", "access token")
- _ = giteeCmd.MarkFlagRequired("owner")
- _ = giteeCmd.MarkFlagRequired("repo")
-
- giteeCmd.Run = func(cmd *cobra.Command, args []string) {
+ cmd := &cobra.Command{Use: "github"}
+ connectionId := cmd.Flags().Uint64P("connectionId", "c", 0, "gitee connection id")
+ owner := cmd.Flags().StringP("owner", "o", "", "gitee owner")
+ repo := cmd.Flags().StringP("repo", "r", "", "gitee repo")
+ _ = cmd.MarkFlagRequired("connectionId")
+ _ = cmd.MarkFlagRequired("owner")
+ _ = cmd.MarkFlagRequired("repo")
+
+ prType := cmd.Flags().String("prType", "type/(.*)$", "pr type")
+ prComponent := cmd.Flags().String("prComponent", "component/(.*)$", "pr component")
+ prBodyClosePattern := cmd.Flags().String("prBodyClosePattern", "(?mi)(fix|close|resolve|fixes|closes|resolves|fixed|closed|resolved)[\\s]*.*(((and )?(#|https:\\/\\/github.com\\/%s\\/%s\\/issues\\/)\\d+[ ]*)+)", "pr body close pattern")
+ issueSeverity := cmd.Flags().String("issueSeverity", "severity/(.*)$", "issue severity")
+ issuePriority := cmd.Flags().String("issuePriority", "^(highest|high|medium|low)$", "issue priority")
+ issueComponent := cmd.Flags().String("issueComponent", "component/(.*)$", "issue component")
+ issueTypeBug := cmd.Flags().String("issueTypeBug", "^(bug|failure|error)$", "issue type bug")
+ issueTypeIncident := cmd.Flags().String("issueTypeIncident", "", "issue type incident")
+ issueTypeRequirement := cmd.Flags().String("issueTypeRequirement", "^(feat|feature|proposal|requirement)$", "issue type requirement")
+
+ cmd.Run = func(cmd *cobra.Command, args []string) {
runner.DirectRun(cmd, args, PluginEntry, map[string]interface{}{
- "owner": *owner,
- "repo": *repo,
- "token": *token,
+ "connectionId": *connectionId,
+ "owner": *owner,
+ "repo": *repo,
+ "prType": *prType,
+ "prComponent": *prComponent,
+ "prBodyClosePattern": *prBodyClosePattern,
+ "issueSeverity": *issueSeverity,
+ "issuePriority": *issuePriority,
+ "issueComponent": *issueComponent,
+ "issueTypeBug": *issueTypeBug,
+ "issueTypeIncident": *issueTypeIncident,
+ "issueTypeRequirement": *issueTypeRequirement,
})
}
- runner.RunCmd(giteeCmd)
+ runner.RunCmd(cmd)
}
diff --git a/plugins/gitee/impl/impl.go b/plugins/gitee/impl/impl.go
index 9cde8eb3..c7589f66 100644
--- a/plugins/gitee/impl/impl.go
+++ b/plugins/gitee/impl/impl.go
@@ -18,11 +18,15 @@ limitations under the License.
package impl
import (
+ "fmt"
+
"github.com/apache/incubator-devlake/migration"
"github.com/apache/incubator-devlake/plugins/core"
"github.com/apache/incubator-devlake/plugins/gitee/api"
+ "github.com/apache/incubator-devlake/plugins/gitee/models"
"github.com/apache/incubator-devlake/plugins/gitee/models/migrationscripts"
"github.com/apache/incubator-devlake/plugins/gitee/tasks"
+ "github.com/apache/incubator-devlake/plugins/helper"
"github.com/mitchellh/mapstructure"
"github.com/spf13/viper"
"gorm.io/gorm"
@@ -37,6 +41,7 @@ var _ core.Migratable = (*Gitee)(nil)
type Gitee string
func (plugin Gitee) Init(config *viper.Viper, logger core.Logger, db *gorm.DB) error {
+ api.Init(config, logger, db)
return nil
}
@@ -86,7 +91,67 @@ func (plugin Gitee) PrepareTaskData(taskCtx core.TaskContext, options map[string
return nil, err
}
- apiClient, err := tasks.NewGiteeApiClient(taskCtx)
+ if op.Owner == "" {
+ return nil, fmt.Errorf("owner is required for Gitee execution")
+ }
+
+ if op.Repo == "" {
+ return nil, fmt.Errorf("repo is required for Gitee execution")
+ }
+
+ if op.PrType == "" {
+ op.PrType = "type/(.*)$"
+ }
+
+ if op.PrComponent == "" {
+ op.PrComponent = "component/(.*)$"
+ }
+
+ if op.IssueSeverity == "" {
+ op.IssueSeverity = "severity/(.*)$"
+ }
+
+ if op.IssuePriority == "" {
+ op.IssuePriority = "^(highest|high|medium|low)$"
+ }
+
+ if op.IssueComponent == "" {
+ op.IssueComponent = "component/(.*)$"
+ }
+
+ if op.IssueTypeBug == "" {
+ op.IssueTypeBug = "^(bug|failure|error)$"
+ }
+
+ if op.IssueTypeIncident == "" {
+ op.IssueTypeIncident = ""
+ }
+
+ if op.IssueTypeRequirement == "" {
+ op.IssueTypeRequirement = "^(feat|feature|proposal|requirement)$"
+ }
+
+ if op.ConnectionId == 0 {
+ return nil, fmt.Errorf("connectionId is invalid")
+ }
+
+ connection := &models.GiteeConnection{}
+ connectionHelper := helper.NewConnectionHelper(
+ taskCtx,
+ nil,
+ )
+
+ if err != nil {
+ return nil, err
+ }
+
+ err = connectionHelper.FirstById(connection, op.ConnectionId)
+
+ if err != nil {
+ return nil, err
+ }
+ apiClient, err := tasks.NewGiteeApiClient(taskCtx, connection)
+
if err != nil {
return nil, err
}
@@ -102,7 +167,9 @@ func (plugin Gitee) RootPkgPath() string {
}
func (plugin Gitee) MigrationScripts() []migration.Script {
- return []migration.Script{new(migrationscripts.InitSchemas), new(migrationscripts.InitSchemas)}
+ return []migration.Script{
+ new(migrationscripts.InitSchemas),
+ }
}
func (plugin Gitee) ApiResources() map[string]map[string]core.ApiResourceHandler {
@@ -111,11 +178,13 @@ func (plugin Gitee) ApiResources() map[string]map[string]core.ApiResourceHandler
"POST": api.TestConnection,
},
"connections": {
- "GET": api.ListConnections,
+ "POST": api.PostConnections,
+ "GET": api.ListConnections,
},
"connections/:connectionId": {
- "GET": api.GetConnection,
- "PATCH": api.PatchConnection,
+ "GET": api.GetConnection,
+ "PATCH": api.PatchConnection,
+ "DELETE": api.DeleteConnection,
},
}
}
diff --git a/plugins/gitee/models/connection.go b/plugins/gitee/models/connection.go
index f161df73..a5360449 100644
--- a/plugins/gitee/models/connection.go
+++ b/plugins/gitee/models/connection.go
@@ -51,3 +51,7 @@ type Config struct {
IssueTypeIncident string `mapstructure:"issueTypeIncident" env:"GITEE_ISSUE_TYPE_INCIDENT" json:"issueTypeIncident"`
IssueTypeRequirement string `mapstructure:"issueTypeRequirement" env:"GITEE_ISSUE_TYPE_REQUIREMENT" json:"issueTypeRequirement"`
}
+
+func (GiteeConnection) TableName() string {
+ return "_tool_gitee_connections"
+}
diff --git a/plugins/gitee/models/connection.go b/plugins/gitee/models/migrationscripts/archived/connection.go
similarity index 66%
copy from plugins/gitee/models/connection.go
copy to plugins/gitee/models/migrationscripts/archived/connection.go
index f161df73..c1fc5daf 100644
--- a/plugins/gitee/models/connection.go
+++ b/plugins/gitee/models/migrationscripts/archived/connection.go
@@ -15,32 +15,46 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package models
+package archived
-import "github.com/apache/incubator-devlake/plugins/helper"
+import (
+ "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+)
type GiteeConnection struct {
- helper.RestConnection `mapstructure:",squash"`
- helper.AccessToken `mapstructure:",squash"`
+ RestConnection `mapstructure:",squash"`
+ AccessToken `mapstructure:",squash"`
}
-type GiteeResponse struct {
+type RestConnection struct {
+ BaseConnection `mapstructure:",squash"`
+ Endpoint string `mapstructure:"endpoint" validate:"required" json:"endpoint"`
+ Proxy string `mapstructure:"proxy" json:"proxy"`
+ RateLimit int `comment:"api request rate limt per hour" json:"rateLimit"`
+}
+
+type BaseConnection struct {
+ Name string `gorm:"type:varchar(100);uniqueIndex" json:"name" validate:"required"`
+ archived.Model
+}
+
+type AccessToken struct {
+ Token string `mapstructure:"token" validate:"required" json:"token" encrypt:"yes"`
+}
+
+// This object conforms to what the frontend currently expects.
+type GitlabResponse struct {
Name string `json:"name"`
ID int `json:"id"`
GiteeConnection
}
+// Using User because it requires authentication.
type ApiUserResponse struct {
Id int
Name string `json:"name"`
}
-type TestConnectionRequest struct {
- Endpoint string `json:"endpoint" validate:"required"`
- Proxy string `json:"proxy"`
- helper.AccessToken `mapstructure:",squash"`
-}
-
type Config struct {
PrType string `mapstructure:"prType" env:"GITEE_PR_TYPE" json:"prType"`
PrComponent string `mapstructure:"prComponent" env:"GITEE_PR_COMPONENT" json:"prComponent"`
@@ -51,3 +65,7 @@ type Config struct {
IssueTypeIncident string `mapstructure:"issueTypeIncident" env:"GITEE_ISSUE_TYPE_INCIDENT" json:"issueTypeIncident"`
IssueTypeRequirement string `mapstructure:"issueTypeRequirement" env:"GITEE_ISSUE_TYPE_REQUIREMENT" json:"issueTypeRequirement"`
}
+
+func (GiteeConnection) TableName() string {
+ return "_tool_gitee_connections"
+}
diff --git a/plugins/gitee/models/migrationscripts/init_schema.go b/plugins/gitee/models/migrationscripts/init_schema.go
index 44e3e33a..305d4702 100644
--- a/plugins/gitee/models/migrationscripts/init_schema.go
+++ b/plugins/gitee/models/migrationscripts/init_schema.go
@@ -19,6 +19,12 @@ package migrationscripts
import (
"context"
+ "fmt"
+
+ "github.com/apache/incubator-devlake/config"
+ "gorm.io/gorm/clause"
+
+ "github.com/apache/incubator-devlake/plugins/core"
"github.com/apache/incubator-devlake/plugins/gitee/models/migrationscripts/archived"
"gorm.io/gorm"
@@ -27,7 +33,25 @@ import (
type InitSchemas struct{}
func (*InitSchemas) Up(ctx context.Context, db *gorm.DB) error {
- return db.Migrator().AutoMigrate(
+ rawTableList := []string{
+ "_raw_gitee_api_commit",
+ "_raw_gitee_api_issues",
+ "_raw_gitee_api_pull_requests",
+ "_raw_gitee_api_pull_request_commits",
+ "_raw_gitee_api_pull_request_reviews",
+ "_raw_gitee_api_repo",
+ "_raw_gitee_api_comments",
+ "_raw_gitee_api_commits",
+ "_raw_gitee_issue_comments",
+ }
+ for _, v := range rawTableList {
+ err := db.Exec(fmt.Sprintf("DROP TABLE IF EXISTS %s CASCADE", v)).Error
+ if err != nil {
+ return err
+ }
+ }
+
+ err := db.Migrator().DropTable(
&archived.GiteeRepo{},
&archived.GiteeCommit{},
&archived.GiteeRepoCommit{},
@@ -42,11 +66,59 @@ func (*InitSchemas) Up(ctx context.Context, db *gorm.DB) error {
&archived.GiteePullRequestCommit{},
&archived.GiteePullRequestIssue{},
&archived.GiteeReviewer{},
+ &archived.GiteeConnection{},
)
+
+ if err != nil {
+ return err
+ }
+
+ err = db.Migrator().AutoMigrate(
+ &archived.GiteeRepo{},
+ &archived.GiteeCommit{},
+ &archived.GiteeRepoCommit{},
+ &archived.GiteePullRequest{},
+ &archived.GiteePullRequestLabel{},
+ &archived.GiteeUser{},
+ &archived.GiteePullRequestComment{},
+ &archived.GiteeIssue{},
+ &archived.GiteeIssueComment{},
+ &archived.GiteeCommitStat{},
+ &archived.GiteeIssueLabel{},
+ &archived.GiteePullRequestCommit{},
+ &archived.GiteePullRequestIssue{},
+ &archived.GiteeReviewer{},
+ &archived.GiteeConnection{},
+ )
+
+ if err != nil {
+ return err
+ }
+
+ conn := &archived.GiteeConnection{}
+ v := config.GetConfig()
+ encKey := v.GetString(core.EncodeKeyEnvStr)
+
+ conn.Name = "init gitee connection"
+ conn.ID = 1
+ conn.Endpoint = v.GetString("GITEE_ENDPOINT")
+ conn.Token, err = core.Encrypt(encKey, v.GetString("GITEE_AUTH"))
+ if err != nil {
+ return err
+ }
+ conn.Proxy = v.GetString("GITEE_PROXY")
+ conn.RateLimit = v.GetInt("GITEE_API_REQUESTS_PER_HOUR")
+
+ err = db.Clauses(clause.OnConflict{DoNothing: true}).Create(conn).Error
+
+ if err != nil {
+ return err
+ }
+ return nil
}
func (*InitSchemas) Version() uint64 {
- return 20220617201204
+ return 20220617231243
}
func (*InitSchemas) Name() string {
diff --git a/plugins/gitee/tasks/api_client.go b/plugins/gitee/tasks/api_client.go
index 94c63256..0f567186 100644
--- a/plugins/gitee/tasks/api_client.go
+++ b/plugins/gitee/tasks/api_client.go
@@ -23,32 +23,26 @@ import (
"strconv"
"time"
+ "github.com/apache/incubator-devlake/plugins/gitee/models"
+
"github.com/apache/incubator-devlake/plugins/core"
"github.com/apache/incubator-devlake/plugins/helper"
- "github.com/apache/incubator-devlake/utils"
)
-func NewGiteeApiClient(taskCtx core.TaskContext) (*helper.ApiAsyncClient, error) {
- endpoint := taskCtx.GetConfig("GITEE_ENDPOINT")
- if endpoint == "" {
- return nil, fmt.Errorf("endpint is required")
- }
- userRateLimit, err := utils.StrToIntOr(taskCtx.GetConfig("GITEE_API_REQUESTS_PER_HOUR"), 0)
+func NewGiteeApiClient(taskCtx core.TaskContext, connection *models.GiteeConnection) (*helper.ApiAsyncClient, error) {
+
+ apiClient, err := helper.NewApiClient(connection.Endpoint, nil, 0, connection.Proxy, taskCtx.GetContext())
if err != nil {
return nil, err
}
- auth := taskCtx.GetConfig("GITEE_AUTH")
- if auth == "" {
- return nil, fmt.Errorf("GITEE_AUTH is required")
- }
- proxy := taskCtx.GetConfig("GITEE_PROXY")
- headers := map[string]string{}
+ apiClient.SetBeforeFunction(func(req *http.Request) error {
+ query := req.URL.Query()
+ query.Set("access_token", connection.Token)
+ req.URL.RawQuery = query.Encode()
+ return nil
+ })
- apiClient, err := helper.NewApiClient(endpoint, headers, 0, proxy, taskCtx.GetContext())
- if err != nil {
- return nil, err
- }
apiClient.SetAfterFunction(func(res *http.Response) error {
if res.StatusCode == http.StatusUnauthorized {
return fmt.Errorf("authentication failed, please check your Basic Auth Token")
@@ -57,7 +51,7 @@ func NewGiteeApiClient(taskCtx core.TaskContext) (*helper.ApiAsyncClient, error)
})
rateLimiter := &helper.ApiRateLimitCalculator{
- UserRateLimitPerHour: userRateLimit,
+ UserRateLimitPerHour: connection.RateLimit,
DynamicRateLimit: func(res *http.Response) (int, time.Duration, error) {
rateLimitHeader := res.Header.Get("RateLimit-Limit")
if rateLimitHeader == "" {
diff --git a/plugins/gitee/tasks/commit_collector.go b/plugins/gitee/tasks/commit_collector.go
index dc834e53..0d37a632 100644
--- a/plugins/gitee/tasks/commit_collector.go
+++ b/plugins/gitee/tasks/commit_collector.go
@@ -45,7 +45,6 @@ func CollectApiCommits(taskCtx core.SubTaskContext) error {
UrlTemplate: "repos/{{ .Params.Owner }}/{{ .Params.Repo }}/commits",
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("with_stats", "true")
query.Set("sort", "asc")
query.Set("page", strconv.Itoa(reqData.Pager.Page))
diff --git a/plugins/gitee/tasks/commit_stats_collector.go b/plugins/gitee/tasks/commit_stats_collector.go
index cdc23c1d..83902bf4 100644
--- a/plugins/gitee/tasks/commit_stats_collector.go
+++ b/plugins/gitee/tasks/commit_stats_collector.go
@@ -85,7 +85,6 @@ func CollectApiCommitStats(taskCtx core.SubTaskContext) error {
*/
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("state", "all")
query.Set("direction", "asc")
query.Set("page", fmt.Sprintf("%v", reqData.Pager.Page))
diff --git a/plugins/gitee/tasks/issue_collector.go b/plugins/gitee/tasks/issue_collector.go
index 4b882233..5b325084 100644
--- a/plugins/gitee/tasks/issue_collector.go
+++ b/plugins/gitee/tasks/issue_collector.go
@@ -67,7 +67,6 @@ func CollectApiIssues(taskCtx core.SubTaskContext) error {
UrlTemplate: "repos/{{ .Params.Owner }}/{{ .Params.Repo }}/issues",
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("state", "all")
if since != nil {
query.Set("since", since.String())
diff --git a/plugins/gitee/tasks/issue_comment_collector.go b/plugins/gitee/tasks/issue_comment_collector.go
index a74b08fb..df0d6364 100644
--- a/plugins/gitee/tasks/issue_comment_collector.go
+++ b/plugins/gitee/tasks/issue_comment_collector.go
@@ -87,7 +87,6 @@ func CollectApiIssueComments(taskCtx core.SubTaskContext) error {
UrlTemplate: "repos/{{ .Params.Owner }}/{{ .Params.Repo }}/issues/comments",
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("state", "all")
if since != nil {
query.Set("since", since.String())
diff --git a/plugins/gitee/tasks/issue_comment_extractor.go b/plugins/gitee/tasks/issue_comment_extractor.go
index 8e321b05..2fcfb76c 100644
--- a/plugins/gitee/tasks/issue_comment_extractor.go
+++ b/plugins/gitee/tasks/issue_comment_extractor.go
@@ -36,11 +36,21 @@ var ExtractApiIssueCommentsMeta = core.SubTaskMeta{
type IssueComment struct {
GiteeId int `json:"id"`
Body string
- User struct {
+
+ User struct {
Login string
Id int
}
- IssueUrl string `json:"issue_url"`
+
+ Target struct {
+ Issue struct {
+ Id int `json:"id"`
+ Title string `json:"title"`
+ Number string `json:"number"`
+ }
+ PullRequest string `json:"pull_request"`
+ }
+
GiteeCreatedAt helper.Iso8601Time `json:"created_at"`
GiteeUpdatedAt helper.Iso8601Time `json:"updated_at"`
}
@@ -69,7 +79,7 @@ func ExtractApiIssueComments(taskCtx core.SubTaskContext) error {
return nil, nil
}
//If this is a pr, ignore
- issueINumber, err := GetIssueIdByIssueUrl(apiComment.IssueUrl)
+ issueINumber := apiComment.Target.Issue.Number
if err != nil {
return nil, err
}
diff --git a/plugins/gitee/tasks/pr_collector.go b/plugins/gitee/tasks/pr_collector.go
index 31f80ddc..c20a308d 100644
--- a/plugins/gitee/tasks/pr_collector.go
+++ b/plugins/gitee/tasks/pr_collector.go
@@ -68,7 +68,6 @@ func CollectApiPullRequests(taskCtx core.SubTaskContext) error {
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("state", "all")
if since != nil {
query.Set("since", since.String())
diff --git a/plugins/gitee/tasks/pr_commit_collector.go b/plugins/gitee/tasks/pr_commit_collector.go
index 8a5a1388..5cdd8e3e 100644
--- a/plugins/gitee/tasks/pr_commit_collector.go
+++ b/plugins/gitee/tasks/pr_commit_collector.go
@@ -71,7 +71,6 @@ func CollectApiPullRequestCommits(taskCtx core.SubTaskContext) error {
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("state", "all")
query.Set("page", fmt.Sprintf("%v", reqData.Pager.Page))
query.Set("direction", "asc")
diff --git a/plugins/gitee/tasks/pr_review_collector.go b/plugins/gitee/tasks/pr_review_collector.go
index 468236f6..bfc21cec 100644
--- a/plugins/gitee/tasks/pr_review_collector.go
+++ b/plugins/gitee/tasks/pr_review_collector.go
@@ -67,7 +67,6 @@ func CollectApiPullRequestReviews(taskCtx core.SubTaskContext) error {
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("page", fmt.Sprintf("%v", reqData.Pager.Page))
query.Set("per_page", fmt.Sprintf("%v", reqData.Pager.Size))
query.Set("sort", "asc")
diff --git a/plugins/gitee/tasks/repo_collector.go b/plugins/gitee/tasks/repo_collector.go
index 15111300..ad2670c1 100644
--- a/plugins/gitee/tasks/repo_collector.go
+++ b/plugins/gitee/tasks/repo_collector.go
@@ -47,7 +47,6 @@ func CollectApiRepositories(taskCtx core.SubTaskContext) error {
UrlTemplate: "repos/{{ .Params.Owner }}/{{ .Params.Repo }}",
Query: func(reqData *helper.RequestData) (url.Values, error) {
query := url.Values{}
- query.Set("access_token", data.Options.Token)
query.Set("state", "all")
query.Set("page", fmt.Sprintf("%v", reqData.Pager.Page))
query.Set("direction", "asc")
diff --git a/plugins/gitee/tasks/shared.go b/plugins/gitee/tasks/shared.go
index 48238dcb..76b2de18 100644
--- a/plugins/gitee/tasks/shared.go
+++ b/plugins/gitee/tasks/shared.go
@@ -48,7 +48,6 @@ type RateLimitInfo struct {
type GiteeApiParams struct {
Repo string
Owner string
- Token string
}
type GiteeInput struct {
@@ -96,7 +95,6 @@ func CreateRawDataSubTaskArgs(taskCtx core.SubTaskContext, Table string) (*helpe
Params: GiteeApiParams{
Repo: data.Options.Repo,
Owner: data.Options.Owner,
- Token: data.Options.Token,
},
Table: Table,
}
@@ -194,13 +192,3 @@ func GetPagingFromLinkHeader(link string) (PagingInfo, error) {
return result, errors.New("the link string provided is invalid. There is likely no next page of data to fetch")
}
}
-
-func GetIssueIdByIssueUrl(s string) (int, error) {
- regex := regexp.MustCompile(`.*/issues/(\d+)`)
- groups := regex.FindStringSubmatch(s)
- if len(groups) > 0 {
- return strconv.Atoi(groups[1])
- } else {
- return 0, errors.New("invalid issue url")
- }
-}
diff --git a/plugins/gitee/tasks/task_data.go b/plugins/gitee/tasks/task_data.go
index 76956641..c990378b 100644
--- a/plugins/gitee/tasks/task_data.go
+++ b/plugins/gitee/tasks/task_data.go
@@ -25,12 +25,13 @@ import (
)
type GiteeOptions struct {
- Tasks []string `json:"tasks,omitempty"`
- Since string
- Owner string
- Repo string
- Token string
- models.Config
+ ConnectionId uint64 `json:"connectionId"`
+ Tasks []string `json:"tasks,omitempty"`
+ Since string
+ Owner string
+ Repo string
+ Token string
+ models.Config `mapstructure:",squash"`
}
type GiteeTaskData struct {