blob: 9a0ed3c734253c6d9c45e52c40fba8be1e03149a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# frozen_string_literal: true
module Sentry
class Client
module Repo
def repos(organization_slug)
repos_url = repos_api_url(organization_slug)
repos = http_get(repos_url)[:body]
handle_mapping_exceptions do
map_to_repos(repos)
end
end
private
def repos_api_url(organization_slug)
repos_url = URI(url)
repos_url.path = "/api/0/organizations/#{organization_slug}/repos/"
repos_url
end
def map_to_repos(repos)
repos.map(&method(:map_to_repo))
end
def map_to_repo(repo)
Gitlab::ErrorTracking::Repo.new(
status: repo.fetch('status'),
integration_id: repo.fetch('integrationId'),
project_id: repo.fetch('externalSlug')
)
end
end
end
end
|