MCPcopy
hub / github.com/apache/devlake / CollectTaskCommits

Function CollectTaskCommits

backend/plugins/tapd/tasks/task_commit_collector.go:38–89  ·  view source on GitHub ↗
(taskCtx plugin.SubTaskContext)

Source from the content-addressed store, hash-verified

36var _ plugin.SubTaskEntryPoint = CollectTaskCommits
37
38func CollectTaskCommits(taskCtx plugin.SubTaskContext) errors.Error {
39 rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_TASK_COMMIT_TABLE)
40 db := taskCtx.GetDal()
41 apiCollector, err := api.NewStatefulApiCollector(*rawDataSubTaskArgs)
42 if err != nil {
43 return err
44 }
45 logger := taskCtx.GetLogger()
46 logger.Info("collect issueCommits")
47 clauses := []dal.Clause{
48 dal.Select("_tool_tapd_tasks.id as issue_id, modified as update_time"),
49 dal.From(&models.TapdTask{}),
50 dal.Where("_tool_tapd_tasks.connection_id = ? and _tool_tapd_tasks.workspace_id = ? ", data.Options.ConnectionId, data.Options.WorkspaceId),
51 }
52 if apiCollector.GetSince() != nil {
53 clauses = append(clauses, dal.Where("modified > ?", *apiCollector.GetSince()))
54 }
55 cursor, err := db.Cursor(clauses...)
56 if err != nil {
57 return err
58 }
59 iterator, err := api.NewDalCursorIterator(db, cursor, reflect.TypeOf(models.Input{}))
60 if err != nil {
61 return err
62 }
63 err = apiCollector.InitCollector(api.ApiCollectorArgs{
64 ApiClient: data.ApiClient,
65 Input: iterator,
66 UrlTemplate: "code_commit_infos",
67 Query: func(reqData *api.RequestData) (url.Values, errors.Error) {
68 input := reqData.Input.(*models.Input)
69 query := url.Values{}
70 query.Set("workspace_id", fmt.Sprintf("%v", data.Options.WorkspaceId))
71 query.Set("type", "task")
72 query.Set("object_id", fmt.Sprintf("%v", input.IssueId))
73 query.Set("order", "created asc")
74 return query, nil
75 },
76 ResponseParser: func(res *http.Response) ([]json.RawMessage, errors.Error) {
77 var data struct {
78 Stories []json.RawMessage `json:"data"`
79 }
80 err := api.UnmarshalResponse(res, &data)
81 return data.Stories, err
82 },
83 })
84 if err != nil {
85 logger.Error(err, "collect issueCommit error")
86 return err
87 }
88 return apiCollector.Execute()
89}
90
91var CollectTaskCommitMeta = plugin.SubTaskMeta{
92 Name: "collectTaskCommits",

Callers

nothing calls this directly

Calls 10

InitCollectorMethod · 0.95
ExecuteMethod · 0.95
CreateRawDataSubTaskArgsFunction · 0.70
GetDalMethod · 0.65
GetLoggerMethod · 0.65
InfoMethod · 0.65
FromMethod · 0.65
CursorMethod · 0.65
ErrorMethod · 0.65
GetSinceMethod · 0.45

Tested by

no test coverage detected