Class: UniversalGitClient::Http::Bitbucket
- Inherits:
-
Base
- Object
- Base
- UniversalGitClient::Http::Bitbucket
show all
- Defined in:
- lib/universal-git-client/http/bitbucket.rb
Instance Method Summary
collapse
-
#branch(owner:, repo:, branch:) ⇒ Object
-
#branches(owner:, repo:, page: 1, per_page: nil) ⇒ Object
-
#delete_repo_webhook(owner:, repo:, webhook_id:) ⇒ Object
-
#download_repo_archive(owner:, repo:, branch: nil) ⇒ Object
-
#orga_repos(organization:, page: 1, per_page: nil) ⇒ Object
-
#organizations(page: 1, per_page: nil) ⇒ Object
-
#repository(owner:, repo:) ⇒ Object
-
#setup_repo_webhook(owner:, repo:, webhook_url:, webhook_secret: nil) ⇒ Object
-
#user ⇒ Object
-
#user_repos(page: 1, per_page: nil) ⇒ Object
Methods inherited from Base
#initialize
#with_response_validation!
Instance Method Details
#branch(owner:, repo:, branch:) ⇒ Object
79
80
81
82
83
84
85
86
87
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 79
def branch(owner:, repo:, branch:)
encoded_branch = URI.encode_www_form_component(branch)
with_response_validation! do
self.class.get(
"/repositories/#{owner}/#{repo}/refs/branches/#{encoded_branch}",
default_options
)
end
end
|
#branches(owner:, repo:, page: 1, per_page: nil) ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 65
def branches(owner:, repo:, page: 1, per_page: nil)
with_response_validation! do
self.class.get(
"/repositories/#{owner}/#{repo}/refs/branches",
default_options.merge(
query: {
page: page,
pagelen: per_page || default_elements_per_page
}
)
)
end
end
|
#delete_repo_webhook(owner:, repo:, webhook_id:) ⇒ Object
111
112
113
114
115
116
117
118
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 111
def delete_repo_webhook(owner:, repo:, webhook_id:)
with_response_validation! do
self.class.delete(
"/repositories/#{owner}/#{repo}/hooks/#{webhook_id}",
default_options
)
end
end
|
#download_repo_archive(owner:, repo:, branch: nil) ⇒ Object
89
90
91
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 89
def download_repo_archive(owner:, repo:, branch: nil)
Down.download("#{download_url}/#{owner}/#{repo}/get/#{branch}.zip", down_default_options)
end
|
#orga_repos(organization:, page: 1, per_page: nil) ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 45
def orga_repos(organization:, page: 1, per_page: nil)
with_response_validation! do
self.class.get(
"/repositories/#{organization}",
default_options.merge(
query: {
page: page,
pagelen: per_page || default_elements_per_page
}
)
)
end
end
|
#organizations(page: 1, per_page: nil) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 15
def organizations(page: 1, per_page: nil)
with_response_validation! do
self.class.get(
'/workspaces',
default_options.merge(
query: {
page: page,
pagelen: per_page || default_elements_per_page,
q: %(uuid!="#{user['uuid']}")
}
)
)
end
end
|
#repository(owner:, repo:) ⇒ Object
59
60
61
62
63
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 59
def repository(owner:, repo:)
with_response_validation! do
self.class.get("/repositories/#{owner}/#{repo}", default_options)
end
end
|
#setup_repo_webhook(owner:, repo:, webhook_url:, webhook_secret: nil) ⇒ Object
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 93
def setup_repo_webhook(owner:, repo:, webhook_url:, webhook_secret: nil)
with_response_validation! do
self.class.post(
"/repositories/#{owner}/#{repo}/hooks",
default_options.merge(
body: {
description: 'webhook',
url: webhook_secret ? "#{webhook_url}?secret=#{webhook_secret}" : webhook_url,
active: true,
events: [
'repo:push'
]
}.to_json
)
)
end
end
|
#user ⇒ Object
9
10
11
12
13
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 9
def user
with_response_validation! do
self.class.get('/user', default_options)
end
end
|
#user_repos(page: 1, per_page: nil) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/universal-git-client/http/bitbucket.rb', line 30
def user_repos(page: 1, per_page: nil)
current_user_uuid = URI.encode_www_form_component(user['uuid'])
with_response_validation! do
self.class.get(
"/repositories/#{current_user_uuid}",
default_options.merge(
query: {
page: page,
pagelen: per_page || default_elements_per_page
}
)
)
end
end
|