MCPcopy Create free account
hub / github.com/apache/devlake / CollectDeployment

Function CollectDeployment

backend/plugins/gitlab/tasks/deployment_collector.go:50–88  ·  view source on GitHub ↗
(taskCtx plugin.SubTaskContext)

Source from the content-addressed store, hash-verified

48}
49
50func CollectDeployment(taskCtx plugin.SubTaskContext) errors.Error {
51 rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_DEPLOYMENT)
52 apiCollector, err := helper.NewStatefulApiCollector(*rawDataSubTaskArgs)
53 if err != nil {
54 return err
55 }
56 err = apiCollector.InitCollector(helper.ApiCollectorArgs{
57 RawDataSubTaskArgs: *rawDataSubTaskArgs,
58 ApiClient: data.ApiClient,
59 PageSize: 100,
60 UrlTemplate: "projects/{{ .Params.ProjectId }}/deployments",
61 Query: func(reqData *helper.RequestData) (url.Values, errors.Error) {
62 query, err := GetQuery(reqData)
63 if err != nil {
64 return query, err
65 }
66 // https://gitlab.com/gitlab-org/gitlab/-/issues/328500
67 // https://docs.gitlab.com/ee/api/deployments.html#list-project-deployments
68 if semver.Compare(data.ApiClient.GetData(models.GitlabApiClientData_ApiVersion).(string), "v16.0") >= 0 {
69 query.Set("order_by", "updated_at")
70 } else {
71 query.Set("order_by", "created_at")
72 }
73 if apiCollector.GetSince() != nil {
74 query.Set("updated_after", apiCollector.GetSince().Format(time.RFC3339))
75 }
76 if apiCollector.GetUntil() != nil {
77 query.Set("updated_before", apiCollector.GetUntil().Format(time.RFC3339))
78 }
79 return query, nil
80 },
81 GetTotalPages: GetTotalPagesFromResponse,
82 ResponseParser: GetRawMessageFromResponse,
83 })
84 if err != nil {
85 return err
86 }
87 return apiCollector.Execute()
88}

Callers

nothing calls this directly

Calls 8

InitCollectorMethod · 0.95
ExecuteMethod · 0.95
FormatMethod · 0.80
CreateRawDataSubTaskArgsFunction · 0.70
GetQueryFunction · 0.70
GetDataMethod · 0.65
GetSinceMethod · 0.45
GetUntilMethod · 0.45

Tested by

no test coverage detected