This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new 4ade7a892 fix: missing board for tapd (#5160)
4ade7a892 is described below
commit 4ade7a8928d5a80e8bdf408c3a215b01f7931c60
Author: Liang Zhang <[email protected]>
AuthorDate: Thu May 11 21:26:43 2023 +0800
fix: missing board for tapd (#5160)
---
backend/plugins/tapd/impl/impl.go | 1 +
backend/plugins/tapd/tasks/workspace_converter.go | 57 +++++++++++++++++++++++
2 files changed, 58 insertions(+)
diff --git a/backend/plugins/tapd/impl/impl.go
b/backend/plugins/tapd/impl/impl.go
index 03f862067..97ed805af 100644
--- a/backend/plugins/tapd/impl/impl.go
+++ b/backend/plugins/tapd/impl/impl.go
@@ -95,6 +95,7 @@ func (p Tapd) Description() string {
func (p Tapd) SubTaskMetas() []plugin.SubTaskMeta {
return []plugin.SubTaskMeta{
+ tasks.ConvertWorkspaceMeta,
tasks.CollectWorkitemTypesMeta,
tasks.ExtractWorkitemTypesMeta,
tasks.CollectStoryCustomFieldsMeta,
diff --git a/backend/plugins/tapd/tasks/workspace_converter.go
b/backend/plugins/tapd/tasks/workspace_converter.go
new file mode 100644
index 000000000..b6f616c0f
--- /dev/null
+++ b/backend/plugins/tapd/tasks/workspace_converter.go
@@ -0,0 +1,57 @@
+/*
+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 tasks
+
+import (
+ "fmt"
+ "github.com/apache/incubator-devlake/core/dal"
+ "github.com/apache/incubator-devlake/core/errors"
+ "github.com/apache/incubator-devlake/core/models/domainlayer"
+ "github.com/apache/incubator-devlake/core/models/domainlayer/ticket"
+ "github.com/apache/incubator-devlake/core/plugin"
+ "github.com/apache/incubator-devlake/plugins/tapd/models"
+)
+
+func ConvertWorkspace(taskCtx plugin.SubTaskContext) errors.Error {
+ logger := taskCtx.GetLogger()
+ db := taskCtx.GetDal()
+ data := taskCtx.GetData().(*TapdTaskData)
+ logger.Info("convert workspace:%d", data.Options.WorkspaceId)
+ var workspace models.TapdWorkspace
+ err := db.First(&workspace, dal.Where("connection_id = ? AND id = ?",
data.Options.ConnectionId, data.Options.WorkspaceId))
+ if err != nil {
+ return err
+ }
+ board := &ticket.Board{
+ DomainEntity: domainlayer.DomainEntity{
+ Id:
getWorkspaceIdGen().Generate(workspace.ConnectionId, workspace.Id),
+ },
+ Name: workspace.Name,
+ Url: fmt.Sprintf("%s/%d", "https://tapd.cn", workspace.Id),
+ }
+
+ return db.CreateOrUpdate(board)
+}
+
+var ConvertWorkspaceMeta = plugin.SubTaskMeta{
+ Name: "convertWorkspace",
+ EntryPoint: ConvertWorkspace,
+ EnabledByDefault: true,
+ Description: "convert Tapd workspace",
+ DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET},
+}