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

commit b2434a072b6f03257280a85115a9e90e2f8cee86
Author: abeizn <[email protected]>
AuthorDate: Thu Jul 21 16:26:23 2022 +0800

    fix: jobs miss type field
---
 models/domainlayer/devops/job.go                   |  1 +
 .../20220721_add_type_filed.go}                    | 34 ++++++++++++++++++----
 models/migrationscripts/register.go                |  1 +
 plugins/jenkins/tasks/job_convertor.go             |  1 +
 4 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/models/domainlayer/devops/job.go b/models/domainlayer/devops/job.go
index 9a008c66..56594b2f 100644
--- a/models/domainlayer/devops/job.go
+++ b/models/domainlayer/devops/job.go
@@ -23,6 +23,7 @@ import (
 
 type Job struct {
        Name string `gorm:"type:varchar(255)"`
+       Type string `gorm:"type:varchar(255)"`
        domainlayer.DomainEntity
 }
 
diff --git a/models/domainlayer/devops/job.go 
b/models/migrationscripts/20220721_add_type_filed.go
similarity index 58%
copy from models/domainlayer/devops/job.go
copy to models/migrationscripts/20220721_add_type_filed.go
index 9a008c66..22a7fe08 100644
--- a/models/domainlayer/devops/job.go
+++ b/models/migrationscripts/20220721_add_type_filed.go
@@ -15,17 +15,41 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 */
 
-package devops
+package migrationscripts
 
 import (
-       "github.com/apache/incubator-devlake/models/domainlayer"
+       "context"
+
+       "github.com/apache/incubator-devlake/models/migrationscripts/archived"
+       "gorm.io/gorm"
 )
 
-type Job struct {
+type Job20220721 struct {
        Name string `gorm:"type:varchar(255)"`
-       domainlayer.DomainEntity
+       Type string `gorm:"type:varchar(255)"`
+       archived.DomainEntity
 }
 
-func (Job) TableName() string {
+func (Job20220721) TableName() string {
        return "jobs"
 }
+
+type addTypeField struct{}
+
+func (*addTypeField) Up(ctx context.Context, db *gorm.DB) error {
+
+       err := db.Migrator().AddColumn(Job20220721{}, "type")
+       if err != nil {
+               return err
+       }
+
+       return nil
+}
+
+func (*addTypeField) Version() uint64 {
+       return 20220721000005
+}
+
+func (*addTypeField) Name() string {
+       return "add column `type` at jobs"
+}
diff --git a/models/migrationscripts/register.go 
b/models/migrationscripts/register.go
index f2a7f38a..5294da8f 100644
--- a/models/migrationscripts/register.go
+++ b/models/migrationscripts/register.go
@@ -28,5 +28,6 @@ func All() []migration.Script {
                new(updateBlueprintMode),
                new(renameTasksToPlan),
                new(addDomainTables),
+               new(addTypeField),
        }
 }
diff --git a/plugins/jenkins/tasks/job_convertor.go 
b/plugins/jenkins/tasks/job_convertor.go
index 0d73947a..96846535 100644
--- a/plugins/jenkins/tasks/job_convertor.go
+++ b/plugins/jenkins/tasks/job_convertor.go
@@ -71,6 +71,7 @@ func ConvertJobs(taskCtx core.SubTaskContext) error {
                                        Id: 
jobIdGen.Generate(jenkinsJob.ConnectionId, jenkinsJob.Name),
                                },
                                Name: jenkinsJob.Name,
+                               Type: jenkinsJob.Class,
                        }
                        return []interface{}{
                                job,

Reply via email to