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

Function CollectBugCommits

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

Source from the content-addressed store, hash-verified

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

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