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

Function CollectProjects

backend/plugins/taiga/tasks/project_collector.go:41–71  ·  view source on GitHub ↗
(taskCtx plugin.SubTaskContext)

Source from the content-addressed store, hash-verified

39}
40
41func CollectProjects(taskCtx plugin.SubTaskContext) errors.Error {
42 data := taskCtx.GetData().(*TaigaTaskData)
43 logger := taskCtx.GetLogger()
44 logger.Info("collect projects")
45
46 collector, err := api.NewApiCollector(api.ApiCollectorArgs{
47 RawDataSubTaskArgs: api.RawDataSubTaskArgs{
48 Ctx: taskCtx,
49 Params: TaigaApiParams{
50 ConnectionId: data.Options.ConnectionId,
51 ProjectId: data.Options.ProjectId,
52 },
53 Table: RAW_PROJECT_TABLE,
54 },
55 ApiClient: data.ApiClient,
56 UrlTemplate: "projects/{{ .Params.ProjectId }}",
57 ResponseParser: func(res *http.Response) ([]json.RawMessage, errors.Error) {
58 var result json.RawMessage
59 err := api.UnmarshalResponse(res, &result)
60 if err != nil {
61 return nil, err
62 }
63 return []json.RawMessage{result}, nil
64 },
65 })
66 if err != nil {
67 logger.Error(err, "collect project error")
68 return err
69 }
70 return collector.Execute()
71}
72
73type TaigaApiParams struct {
74 ConnectionId uint64

Callers

nothing calls this directly

Calls 5

ExecuteMethod · 0.95
GetDataMethod · 0.65
GetLoggerMethod · 0.65
InfoMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected