diff --git a/internal/scms/gitlab/pullrequest.go b/internal/scms/gitlab/pullrequest.go index 53d25b649..ecba4d7b8 100644 --- a/internal/scms/gitlab/pullrequest.go +++ b/internal/scms/gitlab/pullrequest.go @@ -2,6 +2,7 @@ package gitlab import ( "context" + "errors" "fmt" "strconv" "time" @@ -247,13 +248,16 @@ func (pr *PullRequest) FindOpen(ctx context.Context, pullRequest v1alpha1.PullRe start := time.Now() mrs, resp, err := pr.client.MergeRequests.ListMergeRequests(options) - if resp != nil { - metrics.RecordSCMCall(repo, metrics.SCMAPIPullRequest, metrics.SCMOperationList, resp.StatusCode, time.Since(start), nil) + if resp == nil { + statusCode := -1 + metrics.RecordSCMCall(repo, metrics.SCMAPIPullRequest, metrics.SCMOperationList, statusCode, time.Since(start), nil) + logger.V(4).Info("gitlab response status", "status", "nil response") + return false, "", time.Time{}, errors.New("received nil response from GitLab API") } + metrics.RecordSCMCall(repo, metrics.SCMAPIPullRequest, metrics.SCMOperationList, resp.StatusCode, time.Since(start), nil) if err != nil { return false, "", time.Time{}, fmt.Errorf("failed to list pull requests: %w", err) } - logGitLabRateLimitsIfAvailable( logger, pullRequest.Spec.RepositoryReference.Name,