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
The following commit(s) were added to refs/heads/main by this push:
new cca6b390a refactor: jenkins adopts timeAfter (#4488)
cca6b390a is described below
commit cca6b390a24d30b0a8aa01f47dc4b7c3d50a8686
Author: Klesh Wong <[email protected]>
AuthorDate: Thu Feb 23 10:51:21 2023 +0800
refactor: jenkins adopts timeAfter (#4488)
---
backend/plugins/jenkins/api/blueprint_v200.go | 4 ++--
backend/plugins/jenkins/impl/impl.go | 14 +++++++-------
backend/plugins/jenkins/jenkins.go | 4 ++--
backend/plugins/jenkins/tasks/stage_collector.go | 13 +++++++------
backend/plugins/jenkins/tasks/task_data.go | 15 ++++++++-------
5 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/backend/plugins/jenkins/api/blueprint_v200.go
b/backend/plugins/jenkins/api/blueprint_v200.go
index e030a3312..c820f17ac 100644
--- a/backend/plugins/jenkins/api/blueprint_v200.go
+++ b/backend/plugins/jenkins/api/blueprint_v200.go
@@ -64,8 +64,8 @@ func makeDataSourcePipelinePlanV200(
options["scopeId"] = bpScope.Id
options["connectionId"] = connectionId
- if syncPolicy.CreatedDateAfter != nil {
- options["createdDateAfter"] =
syncPolicy.CreatedDateAfter.Format(time.RFC3339)
+ if syncPolicy.TimeAfter != nil {
+ options["timeAfter"] =
syncPolicy.TimeAfter.Format(time.RFC3339)
}
subtasks, err := helper.MakePipelinePlanSubtasks(subtaskMetas,
bpScope.Entities)
if err != nil {
diff --git a/backend/plugins/jenkins/impl/impl.go
b/backend/plugins/jenkins/impl/impl.go
index 3088d0624..eddc252e0 100644
--- a/backend/plugins/jenkins/impl/impl.go
+++ b/backend/plugins/jenkins/impl/impl.go
@@ -124,11 +124,11 @@ func (p Jenkins) PrepareTaskData(taskCtx
plugin.TaskContext, options map[string]
return nil, err
}
- var createdDateAfter time.Time
- if op.CreatedDateAfter != "" {
- createdDateAfter, err =
errors.Convert01(time.Parse(time.RFC3339, op.CreatedDateAfter))
+ var timeAfter time.Time
+ if op.TimeAfter != "" {
+ timeAfter, err = errors.Convert01(time.Parse(time.RFC3339,
op.TimeAfter))
if err != nil {
- return nil, errors.BadInput.Wrap(err, "invalid value
for `createdDateAfter`")
+ return nil, errors.BadInput.Wrap(err, "invalid value
for `timeAfter`")
}
}
taskData := &tasks.JenkinsTaskData{
@@ -136,9 +136,9 @@ func (p Jenkins) PrepareTaskData(taskCtx
plugin.TaskContext, options map[string]
ApiClient: apiClient,
Connection: connection,
}
- if !createdDateAfter.IsZero() {
- taskData.CreatedDateAfter = &createdDateAfter
- logger.Debug("collect data created from %s", createdDateAfter)
+ if !timeAfter.IsZero() {
+ taskData.TimeAfter = &timeAfter
+ logger.Debug("collect data created from %s", timeAfter)
}
return taskData, nil
}
diff --git a/backend/plugins/jenkins/jenkins.go
b/backend/plugins/jenkins/jenkins.go
index acaca384e..140e1167a 100644
--- a/backend/plugins/jenkins/jenkins.go
+++ b/backend/plugins/jenkins/jenkins.go
@@ -30,14 +30,14 @@ func main() {
connectionId := jenkinsCmd.Flags().Uint64P("connection", "c", 1,
"jenkins connection id")
jobFullName := jenkinsCmd.Flags().StringP("jobFullName", "j", "",
"jenkins job full name")
deployTagPattern := jenkinsCmd.Flags().String("deployTagPattern",
"(?i)deploy", "deploy tag name")
- CreatedDateAfter := jenkinsCmd.Flags().StringP("createdDateAfter", "a",
"", "collect data that are created after specified time, ie
2006-05-06T07:08:09Z")
+ timeAfter := jenkinsCmd.Flags().StringP("timeAfter", "a", "", "collect
data that are created after specified time, ie 2006-05-06T07:08:09Z")
jenkinsCmd.Run = func(cmd *cobra.Command, args []string) {
runner.DirectRun(cmd, args, PluginEntry, map[string]interface{}{
"connectionId": *connectionId,
"jobFullName": *jobFullName,
"deployTagPattern": *deployTagPattern,
- "createdDateAfter": *CreatedDateAfter,
+ "timeAfter": *timeAfter,
})
}
runner.RunCmd(jenkinsCmd)
diff --git a/backend/plugins/jenkins/tasks/stage_collector.go
b/backend/plugins/jenkins/tasks/stage_collector.go
index ea3d2c090..41c926352 100644
--- a/backend/plugins/jenkins/tasks/stage_collector.go
+++ b/backend/plugins/jenkins/tasks/stage_collector.go
@@ -20,13 +20,14 @@ package tasks
import (
"encoding/json"
"fmt"
+ "net/http"
+ "net/url"
+ "reflect"
+
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/plugin"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
- "net/http"
- "net/url"
- "reflect"
)
const RAW_STAGE_TABLE = "jenkins_api_stages"
@@ -53,9 +54,9 @@ func CollectApiStages(taskCtx plugin.SubTaskContext)
errors.Error {
dal.Where(`tjb.connection_id = ? and tjb.job_path = ? and
tjb.job_name = ? and tjb.class = ?`,
data.Options.ConnectionId, data.Options.JobPath,
data.Options.JobName, "WorkflowRun"),
}
- createdDateAfter := data.CreatedDateAfter
- if createdDateAfter != nil {
- clauses = append(clauses, dal.Where(`tjb.start_time >= ?`,
createdDateAfter.Format("2006/01/02 15:04")))
+ timeAfter := data.TimeAfter
+ if timeAfter != nil {
+ clauses = append(clauses, dal.Where(`tjb.start_time >= ?`,
timeAfter))
}
cursor, err := db.Cursor(clauses...)
diff --git a/backend/plugins/jenkins/tasks/task_data.go
b/backend/plugins/jenkins/tasks/task_data.go
index bc1877c19..2c340c1c4 100644
--- a/backend/plugins/jenkins/tasks/task_data.go
+++ b/backend/plugins/jenkins/tasks/task_data.go
@@ -18,11 +18,12 @@ limitations under the License.
package tasks
import (
+ "strings"
+ "time"
+
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/jenkins/models"
- "strings"
- "time"
)
type JenkinsApiParams struct {
@@ -37,16 +38,16 @@ type JenkinsOptions struct {
JobFullName string `json:"jobFullName"` //
"path1/path2/job name"
JobName string `json:"jobName"` // "job
name"
JobPath string `json:"jobPath"` //
"job/path1/job/path2"
- CreatedDateAfter string
+ TimeAfter string
Tasks []string `json:"tasks,omitempty"`
*models.JenkinsTransformationRule `mapstructure:"transformationRules"
json:"transformationRules"`
}
type JenkinsTaskData struct {
- Options *JenkinsOptions
- ApiClient *api.ApiAsyncClient
- Connection *models.JenkinsConnection
- CreatedDateAfter *time.Time
+ Options *JenkinsOptions
+ ApiClient *api.ApiAsyncClient
+ Connection *models.JenkinsConnection
+ TimeAfter *time.Time
}
func DecodeTaskOptions(options map[string]interface{}) (*JenkinsOptions,
errors.Error) {