bitbucket_rest_api2 0.9.1 → 0.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -12
- data/lib/bitbucket_rest_api/api.rb +1 -6
- data/lib/bitbucket_rest_api/api_factory.rb +0 -1
- data/lib/bitbucket_rest_api/configuration.rb +7 -1
- data/lib/bitbucket_rest_api/connection.rb +7 -4
- data/lib/bitbucket_rest_api/error/refresh_token.rb +12 -0
- data/lib/bitbucket_rest_api/error.rb +1 -0
- data/lib/bitbucket_rest_api/helpers/repository_helper.rb +13 -0
- data/lib/bitbucket_rest_api/invitations.rb +1 -1
- data/lib/bitbucket_rest_api/issues/comments.rb +5 -5
- data/lib/bitbucket_rest_api/issues/components.rb +5 -5
- data/lib/bitbucket_rest_api/issues/milestones.rb +5 -5
- data/lib/bitbucket_rest_api/issues.rb +5 -5
- data/lib/bitbucket_rest_api/repos/changesets.rb +2 -2
- data/lib/bitbucket_rest_api/repos/commits.rb +8 -2
- data/lib/bitbucket_rest_api/repos/following.rb +2 -2
- data/lib/bitbucket_rest_api/repos/forks.rb +1 -1
- data/lib/bitbucket_rest_api/repos/keys.rb +32 -12
- data/lib/bitbucket_rest_api/repos/pull_request.rb +1 -1
- data/lib/bitbucket_rest_api/repos/services.rb +14 -7
- data/lib/bitbucket_rest_api/repos/sources.rb +2 -2
- data/lib/bitbucket_rest_api/repos/statuses.rb +51 -0
- data/lib/bitbucket_rest_api/repos/webhooks.rb +35 -16
- data/lib/bitbucket_rest_api/repos.rb +35 -12
- data/lib/bitbucket_rest_api/request.rb +43 -15
- data/lib/bitbucket_rest_api/response/raise_error.rb +5 -0
- data/lib/bitbucket_rest_api/user.rb +7 -7
- data/lib/bitbucket_rest_api/users/account.rb +8 -8
- data/lib/bitbucket_rest_api/version.rb +1 -1
- data/lib/bitbucket_rest_api.rb +1 -25
- data/spec/bitbucket_rest_api/core_ext/hash_spec.rb +1 -1
- data/spec/bitbucket_rest_api/helpers/repository_helper_spec.rb +30 -0
- data/spec/bitbucket_rest_api/invitations_spec.rb +1 -1
- data/spec/bitbucket_rest_api/issues/comments_spec.rb +5 -5
- data/spec/bitbucket_rest_api/issues/components_spec.rb +5 -5
- data/spec/bitbucket_rest_api/issues/milestones_spec.rb +5 -5
- data/spec/bitbucket_rest_api/issues_spec.rb +5 -5
- data/spec/bitbucket_rest_api/repos/changesets_spec.rb +2 -2
- data/spec/bitbucket_rest_api/repos/following_spec.rb +2 -2
- data/spec/bitbucket_rest_api/repos/forks_spec.rb +1 -1
- data/spec/bitbucket_rest_api/repos/keys_spec.rb +5 -5
- data/spec/bitbucket_rest_api/repos/pull_request_spec.rb +1 -1
- data/spec/bitbucket_rest_api/repos/sources_spec.rb +3 -3
- data/spec/bitbucket_rest_api/repos/statuses_spec.rb +48 -0
- data/spec/bitbucket_rest_api/repos/webhooks_spec.rb +3 -3
- data/spec/bitbucket_rest_api/repos_spec.rb +7 -7
- data/spec/bitbucket_rest_api/request_spec.rb +11 -11
- data/spec/bitbucket_rest_api/user_spec.rb +8 -8
- metadata +11 -8
- data/lib/bitbucket_rest_api/response/helpers.rb +0 -21
- data/lib/bitbucket_rest_api/result.rb +0 -140
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e7fe03a821fac9f9d30b4cc8e1ff65625d45202553fcbf9b32434debfc21872
|
4
|
+
data.tar.gz: 04acd1fa3f3ad6853e8bb89148b1670ca9f49b58369b922d5ee3c8aeb2afd657
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9184b838b5c6908f3b468cb32e5e914c532861fdc10406902af750b6dbfd8bc8f3dc92b56621a9898b6e1e1acc9a549f73060a11a5fc8576841da82e5ce3e79
|
7
|
+
data.tar.gz: a0237065ac0b3dfcd1cd827fd20b9413c16bf5a675ce6ad73b1167fa9648cdec6506025ae6ad9cfe699ef66ea6d5ee52a9459d873ee8060c9465785805ad57bc
|
data/README.md
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
[Wiki](https://github.com/vongrippen/bitbucket/wiki) | [RDocs](http://rubydoc.info/github/vongrippen/bitbucket/master/frames)
|
6
6
|
|
7
|
+
[ ](https://www.codeship.io/projects/4690)
|
8
|
+
|
7
9
|
A Ruby wrapper for the BitBucket REST API.
|
8
10
|
|
9
11
|
## Installation
|
@@ -25,19 +27,19 @@ gem "bitbucket_rest_api"
|
|
25
27
|
Create a new client instance
|
26
28
|
|
27
29
|
```ruby
|
28
|
-
bitbucket = BitBucket.new
|
30
|
+
bitbucket = BitBucket::Client.new
|
29
31
|
```
|
30
32
|
|
31
33
|
At this stage you can also supply various configuration parameters, such as `:user`,`:repo`, `:oauth_token`, `:oauth_secret`, `:basic_auth` which are used throughout the API. These can be passed directly as hash options:
|
32
34
|
|
33
35
|
```ruby
|
34
|
-
bitbucket = BitBucket.new oauth_token: 'request_token', oauth_secret: 'request_secret'
|
36
|
+
bitbucket = BitBucket::Client.new oauth_token: 'request_token', oauth_secret: 'request_secret'
|
35
37
|
```
|
36
38
|
|
37
39
|
Alternatively, you can configure the BitBucket settings by passing a block:
|
38
40
|
|
39
41
|
```ruby
|
40
|
-
bitbucket = BitBucket.new do |config|
|
42
|
+
bitbucket = BitBucket::Client.new do |config|
|
41
43
|
config.oauth_token = 'request_token'
|
42
44
|
config.oauth_secret = 'request_secret'
|
43
45
|
config.client_id = 'consumer_key'
|
@@ -49,16 +51,16 @@ end
|
|
49
51
|
You can authenticate either using OAuth authentication or through basic authentication by passing your login and password credentials
|
50
52
|
|
51
53
|
```ruby
|
52
|
-
bitbucket = BitBucket.new login:'vongrippen', password:'...'
|
54
|
+
bitbucket = BitBucket::Client.new login:'vongrippen', password:'...'
|
53
55
|
```
|
54
56
|
|
55
57
|
or use convenience method:
|
56
58
|
|
57
59
|
```ruby
|
58
|
-
bitbucket = BitBucket.new basic_auth: 'login:password'
|
60
|
+
bitbucket = BitBucket::Client.new basic_auth: 'login:password'
|
59
61
|
```
|
60
62
|
|
61
|
-
You can interact with BitBucket interface, for example repositories, by issuing following calls that correspond directly to the BitBucket API hierarchy
|
63
|
+
You can interact with BitBucket interface, for example repositories, by issuing the following calls that correspond directly to the BitBucket API hierarchy
|
62
64
|
|
63
65
|
```ruby
|
64
66
|
bitbucket.repos.changesets.all 'user-name', 'repo-name'
|
@@ -84,19 +86,18 @@ end
|
|
84
86
|
The `bitbucket_rest_api` gem will use the default middleware stack which is exposed by calling `stack` on client instance. However, this stack can be freely modified with methods such as `insert`, `insert_after`, `delete` and `swap`. For instance to add your `CustomMiddleware` do
|
85
87
|
|
86
88
|
```ruby
|
87
|
-
bitbucket = BitBucket.new do |config|
|
88
|
-
config.stack.insert_after
|
89
|
+
bitbucket = BitBucket::Client.new do |config|
|
90
|
+
config.stack.insert_after CustomMiddleware
|
89
91
|
end
|
90
92
|
```
|
91
93
|
|
92
94
|
Furthermore, you can build your entire custom stack and specify other connection options such as `adapter`
|
93
95
|
|
94
96
|
```ruby
|
95
|
-
bitbucket = BitBucket.new do |config|
|
97
|
+
bitbucket = BitBucket::Client.new do |config|
|
96
98
|
config.adapter :excon
|
97
99
|
|
98
100
|
config.stack do |builder|
|
99
|
-
builder.use BitBucket::Response::Helpers
|
100
101
|
builder.use BitBucket::Response::Jsonize
|
101
102
|
end
|
102
103
|
end
|
@@ -155,8 +156,8 @@ end
|
|
155
156
|
|
156
157
|
or
|
157
158
|
|
158
|
-
BitBucket.new(:oauth_token => YOUR_OAUTH_REQUEST_TOKEN, :oauth_secret => YOUR_OAUTH_REQUEST_TOKEN_SECRET)
|
159
|
-
BitBucket.new(:basic_auth => 'login:password')
|
159
|
+
BitBucket::Client.new(:oauth_token => YOUR_OAUTH_REQUEST_TOKEN, :oauth_secret => YOUR_OAUTH_REQUEST_TOKEN_SECRET)
|
160
|
+
BitBucket::Client.new(:basic_auth => 'login:password')
|
160
161
|
```
|
161
162
|
|
162
163
|
## Development
|
@@ -19,6 +19,7 @@ module BitBucket
|
|
19
19
|
include Validations
|
20
20
|
include ParameterFilter
|
21
21
|
include Normalizer
|
22
|
+
include Helpers::RepositoryHelper
|
22
23
|
|
23
24
|
attr_reader *Configuration::VALID_OPTIONS_KEYS
|
24
25
|
|
@@ -38,7 +39,6 @@ module BitBucket
|
|
38
39
|
def initialize(options={}, &block)
|
39
40
|
super()
|
40
41
|
setup options
|
41
|
-
set_api_client
|
42
42
|
|
43
43
|
self.instance_eval(&block) if block_given?
|
44
44
|
end
|
@@ -62,11 +62,6 @@ module BitBucket
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
# Assigns current api class
|
66
|
-
def set_api_client
|
67
|
-
BitBucket.api_client = self
|
68
|
-
end
|
69
|
-
|
70
65
|
# Responds to attribute query or attribute clear
|
71
66
|
def method_missing(method, *args, &block) # :nodoc:
|
72
67
|
case method.to_s
|
@@ -18,9 +18,13 @@ module BitBucket
|
|
18
18
|
:user,
|
19
19
|
:login,
|
20
20
|
:password,
|
21
|
-
:basic_auth
|
21
|
+
:basic_auth,
|
22
|
+
:bitbucket_server
|
22
23
|
].freeze
|
23
24
|
|
25
|
+
# the URI schema is dependent on whether we are talking about BitBucket Cloud or Server
|
26
|
+
DEFAULT_BITBUCKET_SERVER = false
|
27
|
+
|
24
28
|
# Other adapters are :typhoeus, :patron, :em_synchrony, :excon, :test
|
25
29
|
DEFAULT_ADAPTER = :net_http
|
26
30
|
|
@@ -99,6 +103,8 @@ module BitBucket
|
|
99
103
|
self.login = DEFAULT_LOGIN
|
100
104
|
self.password = DEFAULT_PASSWORD
|
101
105
|
self.basic_auth = DEFAULT_BASIC_AUTH
|
106
|
+
self.bitbucket_server = DEFAULT_BITBUCKET_SERVER
|
107
|
+
|
102
108
|
self
|
103
109
|
end
|
104
110
|
|
@@ -5,7 +5,6 @@ require 'faraday_middleware'
|
|
5
5
|
require 'bitbucket_rest_api/response'
|
6
6
|
require 'bitbucket_rest_api/response/mashify'
|
7
7
|
require 'bitbucket_rest_api/response/jsonize'
|
8
|
-
require 'bitbucket_rest_api/response/helpers'
|
9
8
|
require 'bitbucket_rest_api/response/raise_error'
|
10
9
|
require 'bitbucket_rest_api/request/oauth'
|
11
10
|
require 'bitbucket_rest_api/request/basic_auth'
|
@@ -31,7 +30,8 @@ module BitBucket
|
|
31
30
|
},
|
32
31
|
:ssl => { :verify => false },
|
33
32
|
:url => options.fetch(:endpoint) { BitBucket.endpoint }
|
34
|
-
}.merge(
|
33
|
+
}.merge(BitBucket.connection_options)
|
34
|
+
.merge(options)
|
35
35
|
end
|
36
36
|
|
37
37
|
# Default middleware stack that uses default adapter as specified at
|
@@ -42,12 +42,15 @@ module BitBucket
|
|
42
42
|
#builder.use BitBucket::Request::Jsonize
|
43
43
|
builder.use Faraday::Request::Multipart
|
44
44
|
builder.use Faraday::Request::UrlEncoded
|
45
|
-
|
45
|
+
|
46
|
+
if client_id? && client_secret?
|
47
|
+
builder.use FaradayMiddleware::OAuth, {consumer_key: client_id, consumer_secret: client_secret, token: oauth_token, token_secret: oauth_secret}
|
48
|
+
end
|
49
|
+
|
46
50
|
builder.use BitBucket::Request::BasicAuth, authentication if basic_authed?
|
47
51
|
builder.use FaradayMiddleware::EncodeJson
|
48
52
|
|
49
53
|
builder.use Faraday::Response::Logger if ENV['DEBUG']
|
50
|
-
builder.use BitBucket::Response::Helpers
|
51
54
|
unless options[:raw]
|
52
55
|
builder.use BitBucket::Response::Mashify
|
53
56
|
builder.use BitBucket::Response::Jsonize
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module BitBucket
|
2
|
+
module Helpers
|
3
|
+
module RepositoryHelper
|
4
|
+
def sanitize_repository_name(repository_name)
|
5
|
+
return nil if repository_name.nil?
|
6
|
+
repository_name.downcase
|
7
|
+
.gsub(/[^a-z0-9\_\-\.\/ ]/, '') # strip special characters
|
8
|
+
.gsub(/[ \/]/, '-') # convert characters to dashes
|
9
|
+
.gsub(/-+/, '-') # only allow one dash in a row
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -8,7 +8,7 @@ module BitBucket
|
|
8
8
|
_validate_presence_of emailaddress
|
9
9
|
perm ||= "write"
|
10
10
|
|
11
|
-
post_request("/
|
11
|
+
post_request("/1.0/invitations/#{user}/#{repo.downcase}/#{emailaddress}",
|
12
12
|
permission: perm)
|
13
13
|
end
|
14
14
|
end
|
@@ -27,7 +27,7 @@ module BitBucket
|
|
27
27
|
normalize! params
|
28
28
|
# _merge_mime_type(:issue_comment, params)
|
29
29
|
|
30
|
-
response = get_request("/
|
30
|
+
response = get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/#{issue_id}/comments/", params)
|
31
31
|
return response unless block_given?
|
32
32
|
response.each { |el| yield el }
|
33
33
|
end
|
@@ -47,7 +47,7 @@ module BitBucket
|
|
47
47
|
normalize! params
|
48
48
|
# _merge_mime_type(:issue_comment, params)
|
49
49
|
|
50
|
-
get_request("/
|
50
|
+
get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/comments/#{comment_id}", params)
|
51
51
|
end
|
52
52
|
alias :find :get
|
53
53
|
|
@@ -71,7 +71,7 @@ module BitBucket
|
|
71
71
|
filter! VALID_ISSUE_COMMENT_PARAM_NAME, params
|
72
72
|
assert_required_keys(%w[ content ], params)
|
73
73
|
|
74
|
-
post_request("/
|
74
|
+
post_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/#{issue_id}/comments/", params)
|
75
75
|
end
|
76
76
|
|
77
77
|
# Edit a comment
|
@@ -94,7 +94,7 @@ module BitBucket
|
|
94
94
|
filter! VALID_ISSUE_COMMENT_PARAM_NAME, params
|
95
95
|
assert_required_keys(%w[ content ], params)
|
96
96
|
|
97
|
-
put_request("/
|
97
|
+
put_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/comments/#{comment_id}", params)
|
98
98
|
end
|
99
99
|
|
100
100
|
# Delete a comment
|
@@ -111,7 +111,7 @@ module BitBucket
|
|
111
111
|
normalize! params
|
112
112
|
# _merge_mime_type(:issue_comment, params)
|
113
113
|
|
114
|
-
delete_request("/
|
114
|
+
delete_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/comments/#{comment_id}", params)
|
115
115
|
end
|
116
116
|
|
117
117
|
end # Issues::Comments
|
@@ -21,7 +21,7 @@ module BitBucket
|
|
21
21
|
_validate_user_repo_params(user, repo) unless user? && repo?
|
22
22
|
normalize! params
|
23
23
|
|
24
|
-
response = get_request("/
|
24
|
+
response = get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/components", params)
|
25
25
|
return response unless block_given?
|
26
26
|
response.each { |el| yield el }
|
27
27
|
end
|
@@ -39,7 +39,7 @@ module BitBucket
|
|
39
39
|
_validate_presence_of component_id
|
40
40
|
normalize! params
|
41
41
|
|
42
|
-
get_request("/
|
42
|
+
get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/components/#{component_id}", params)
|
43
43
|
end
|
44
44
|
alias :find :get
|
45
45
|
|
@@ -60,7 +60,7 @@ module BitBucket
|
|
60
60
|
filter! VALID_COMPONENT_INPUTS, params
|
61
61
|
assert_required_keys(VALID_COMPONENT_INPUTS, params)
|
62
62
|
|
63
|
-
post_request("/
|
63
|
+
post_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/components", params)
|
64
64
|
end
|
65
65
|
|
66
66
|
# Update a component
|
@@ -82,7 +82,7 @@ module BitBucket
|
|
82
82
|
filter! VALID_COMPONENT_INPUTS, params
|
83
83
|
assert_required_keys(VALID_COMPONENT_INPUTS, params)
|
84
84
|
|
85
|
-
put_request("/
|
85
|
+
put_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/components/#{component_id}", params)
|
86
86
|
end
|
87
87
|
alias :edit :update
|
88
88
|
|
@@ -99,7 +99,7 @@ module BitBucket
|
|
99
99
|
_validate_presence_of component_id
|
100
100
|
normalize! params
|
101
101
|
|
102
|
-
delete_request("/
|
102
|
+
delete_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/components/#{component_id}", params)
|
103
103
|
end
|
104
104
|
|
105
105
|
end # Issues::Components
|
@@ -24,7 +24,7 @@ module BitBucket
|
|
24
24
|
|
25
25
|
normalize! params
|
26
26
|
|
27
|
-
response = get_request("/
|
27
|
+
response = get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/milestones", params)
|
28
28
|
return response unless block_given?
|
29
29
|
response.each { |el| yield el }
|
30
30
|
end
|
@@ -42,7 +42,7 @@ module BitBucket
|
|
42
42
|
_validate_presence_of milestone_id
|
43
43
|
normalize! params
|
44
44
|
|
45
|
-
get_request("/
|
45
|
+
get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/milestones/#{milestone_id}", params)
|
46
46
|
end
|
47
47
|
alias :find :get
|
48
48
|
|
@@ -63,7 +63,7 @@ module BitBucket
|
|
63
63
|
filter! VALID_MILESTONE_INPUTS, params
|
64
64
|
assert_required_keys(%w[ name ], params)
|
65
65
|
|
66
|
-
post_request("/
|
66
|
+
post_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/milestones", params)
|
67
67
|
end
|
68
68
|
|
69
69
|
# Update a milestone
|
@@ -85,7 +85,7 @@ module BitBucket
|
|
85
85
|
filter! VALID_MILESTONE_INPUTS, params
|
86
86
|
assert_required_keys(%w[ name ], params)
|
87
87
|
|
88
|
-
put_request("/
|
88
|
+
put_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/milestones/#{milestone_id}", params)
|
89
89
|
end
|
90
90
|
|
91
91
|
# Delete a milestone
|
@@ -100,7 +100,7 @@ module BitBucket
|
|
100
100
|
_validate_presence_of milestone_id
|
101
101
|
normalize! params
|
102
102
|
|
103
|
-
delete_request("/
|
103
|
+
delete_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/milestones/#{milestone_id}", params)
|
104
104
|
end
|
105
105
|
|
106
106
|
end # Issues::Milestones
|
@@ -82,7 +82,7 @@ module BitBucket
|
|
82
82
|
# _merge_mime_type(:issue, params)
|
83
83
|
assert_valid_values(VALID_ISSUE_PARAM_VALUES, params)
|
84
84
|
|
85
|
-
response = get_request("/
|
85
|
+
response = get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues", params)
|
86
86
|
return response.issues unless block_given?
|
87
87
|
response.issues.each { |el| yield el }
|
88
88
|
end
|
@@ -103,7 +103,7 @@ module BitBucket
|
|
103
103
|
normalize! params
|
104
104
|
# _merge_mime_type(:issue, params)
|
105
105
|
|
106
|
-
get_request("/
|
106
|
+
get_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/#{issue_id}", params)
|
107
107
|
end
|
108
108
|
|
109
109
|
alias :find :get
|
@@ -122,7 +122,7 @@ module BitBucket
|
|
122
122
|
normalize! params
|
123
123
|
# _merge_mime_type(:issue, params)
|
124
124
|
|
125
|
-
delete_request("/
|
125
|
+
delete_request("/1.0/repositories/#{user}/#{repo}/issues/#{issue_id}", params)
|
126
126
|
end
|
127
127
|
|
128
128
|
# Create an issue
|
@@ -173,7 +173,7 @@ module BitBucket
|
|
173
173
|
filter! VALID_ISSUE_PARAM_NAMES, params
|
174
174
|
assert_required_keys(%w[ title ], params)
|
175
175
|
|
176
|
-
post_request("/
|
176
|
+
post_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/", params)
|
177
177
|
end
|
178
178
|
|
179
179
|
# Edit an issue
|
@@ -223,7 +223,7 @@ module BitBucket
|
|
223
223
|
# _merge_mime_type(:issue, params)
|
224
224
|
filter! VALID_ISSUE_PARAM_NAMES, params
|
225
225
|
|
226
|
-
put_request("/
|
226
|
+
put_request("/1.0/repositories/#{user}/#{repo.downcase}/issues/#{issue_id}/", params)
|
227
227
|
end
|
228
228
|
|
229
229
|
end # Issues
|
@@ -28,7 +28,7 @@ module BitBucket
|
|
28
28
|
normalize! params
|
29
29
|
filter! %w[ limit start], params
|
30
30
|
|
31
|
-
response = get_request("/
|
31
|
+
response = get_request("/1.0/repositories/#{user}/#{repo.downcase}/changesets", params)
|
32
32
|
return response unless block_given?
|
33
33
|
response.each { |el| yield el }
|
34
34
|
end
|
@@ -46,7 +46,7 @@ module BitBucket
|
|
46
46
|
_validate_presence_of sha
|
47
47
|
normalize! params
|
48
48
|
|
49
|
-
get_request("/
|
49
|
+
get_request("/1.0/repositories/#{user}/#{repo.downcase}/changesets/#{sha}", params)
|
50
50
|
end
|
51
51
|
alias :find :get
|
52
52
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module BitBucket
|
4
4
|
class Repos::Commits < API
|
5
5
|
|
6
|
-
VALID_KEY_PARAM_NAMES = %w(include exclude).freeze
|
6
|
+
VALID_KEY_PARAM_NAMES = %w(include exclude pagelen).freeze
|
7
7
|
|
8
8
|
# Gets the commit information associated with a repository. By default, this
|
9
9
|
# call returns all the commits across all branches, bookmarks, and tags. The
|
@@ -28,9 +28,15 @@ module BitBucket
|
|
28
28
|
normalize! params
|
29
29
|
filter! VALID_KEY_PARAM_NAMES, params
|
30
30
|
|
31
|
-
path =
|
31
|
+
path = if BitBucket.options[:bitbucket_server]
|
32
|
+
"/1.0/projects/#{user_name}/repos/#{repo_name}/commits"
|
33
|
+
else
|
34
|
+
"/2.0/repositories/#{user}/#{repo.downcase}/commits"
|
35
|
+
end
|
36
|
+
|
32
37
|
path << "/#{branchortag}" if branchortag
|
33
38
|
response = get_request(path, params)
|
39
|
+
|
34
40
|
return response unless block_given?
|
35
41
|
response.each { |el| yield el }
|
36
42
|
end
|
@@ -15,7 +15,7 @@ module BitBucket
|
|
15
15
|
_validate_user_repo_params(user, repo) unless user? && repo?
|
16
16
|
normalize! params
|
17
17
|
|
18
|
-
response = get_request("/
|
18
|
+
response = get_request("/1.0/repositories/#{user}/#{repo.downcase}/followers/", params)
|
19
19
|
return response unless block_given?
|
20
20
|
response.each { |el| yield el }
|
21
21
|
end
|
@@ -30,7 +30,7 @@ module BitBucket
|
|
30
30
|
params = args.extract_options!
|
31
31
|
normalize! params
|
32
32
|
|
33
|
-
response = get_request("/
|
33
|
+
response = get_request("/1.0/user/follows", params)
|
34
34
|
return response unless block_given?
|
35
35
|
response.each { |el| yield el }
|
36
36
|
end
|
@@ -61,7 +61,7 @@ module BitBucket
|
|
61
61
|
assert_required_keys(REQUIRED_KEY_PARAM_NAMES, params)
|
62
62
|
filter! VALID_REPO_OPTIONS, params
|
63
63
|
|
64
|
-
post_request("/
|
64
|
+
post_request("/1.0/repositories/#{user}/#{repo.downcase}/fork", params)
|
65
65
|
end
|
66
66
|
|
67
67
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module BitBucket
|
4
4
|
class Repos::Keys < API
|
5
5
|
|
6
|
-
VALID_KEY_PARAM_NAMES = %w[ label key ].freeze
|
6
|
+
VALID_KEY_PARAM_NAMES = %w[ label key text ].freeze
|
7
7
|
|
8
8
|
# List deploy keys
|
9
9
|
#
|
@@ -12,12 +12,19 @@ module BitBucket
|
|
12
12
|
# bitbucket.repos.keys.list 'user-name', 'repo-name'
|
13
13
|
# bitbucket.repos.keys.list 'user-name', 'repo-name' { |key| ... }
|
14
14
|
#
|
15
|
-
def list(
|
16
|
-
_update_user_repo_params(
|
15
|
+
def list(user_name_or_project_key, repo_name, params={})
|
16
|
+
_update_user_repo_params(user_name_or_project_key, repo_name)
|
17
17
|
_validate_user_repo_params(user, repo) unless user? && repo?
|
18
18
|
normalize! params
|
19
19
|
|
20
|
-
|
20
|
+
url = if BitBucket.options[:bitbucket_server]
|
21
|
+
"/1.0/projects/#{user_name_or_project_key}/repos/#{repo_name.downcase}/ssh"
|
22
|
+
else
|
23
|
+
"/1.0/repositories/#{user_name_or_project_key}/#{repo.downcase}/deploy-keys/"
|
24
|
+
end
|
25
|
+
|
26
|
+
response = get_request(url, params)
|
27
|
+
|
21
28
|
return response unless block_given?
|
22
29
|
response.each { |el| yield el }
|
23
30
|
end
|
@@ -35,14 +42,21 @@ module BitBucket
|
|
35
42
|
# "label" => "octocat@octomac",
|
36
43
|
# "key" => "ssh-rsa AAA..."
|
37
44
|
#
|
38
|
-
def create(
|
39
|
-
_update_user_repo_params(
|
45
|
+
def create(user_name_or_project_key, repo_name, params={})
|
46
|
+
_update_user_repo_params(user_name_or_project_key, repo_name)
|
40
47
|
_validate_user_repo_params(user, repo) unless user? && repo?
|
41
48
|
normalize! params
|
42
49
|
filter! VALID_KEY_PARAM_NAMES, params
|
43
|
-
assert_required_keys(VALID_KEY_PARAM_NAMES, params)
|
44
50
|
|
45
|
-
|
51
|
+
options = { headers: { "Content-Type" => "application/json" } }
|
52
|
+
|
53
|
+
url = if BitBucket.options[:bitbucket_server]
|
54
|
+
"/1.0/projects/#{user_name_or_project_key}/repos/#{repo_name.downcase}/ssh"
|
55
|
+
else
|
56
|
+
"/1.0/repositories/#{user_name_or_project_key}/#{repo.downcase}/deploy-keys/"
|
57
|
+
end
|
58
|
+
|
59
|
+
post_request(url, params, options)
|
46
60
|
end
|
47
61
|
|
48
62
|
# Edit a key
|
@@ -65,7 +79,7 @@ module BitBucket
|
|
65
79
|
normalize! params
|
66
80
|
filter! VALID_KEY_PARAM_NAMES, params
|
67
81
|
|
68
|
-
put_request("/
|
82
|
+
put_request("/1.0/repositories/#{user}/#{sanitize_repository_name(repo)}/deploy-keys/#{key_id}", params)
|
69
83
|
end
|
70
84
|
|
71
85
|
# Delete key
|
@@ -74,13 +88,19 @@ module BitBucket
|
|
74
88
|
# @bitbucket = BitBucket.new
|
75
89
|
# @bitbucket.repos.keys.delete 'user-name', 'repo-name', 'key-id'
|
76
90
|
#
|
77
|
-
def delete(
|
78
|
-
_update_user_repo_params(
|
91
|
+
def delete(user_name_or_project_key, repo_name, key_id, params={})
|
92
|
+
_update_user_repo_params(user_name_or_project_key, repo_name)
|
79
93
|
_validate_user_repo_params(user, repo) unless user? && repo?
|
80
94
|
_validate_presence_of key_id
|
81
95
|
normalize! params
|
82
96
|
|
83
|
-
|
97
|
+
url = if BitBucket.options[:bitbucket_server]
|
98
|
+
"/1.0/projects/#{user_name_or_project_key}/repos/#{repo_name.downcase}/ssh/#{key_id}"
|
99
|
+
else
|
100
|
+
"/1.0/repositories/#{user_name_or_project_key}/#{repo.downcase}/deploy-keys/#{key_id}"
|
101
|
+
end
|
102
|
+
|
103
|
+
delete_request(url, params)
|
84
104
|
end
|
85
105
|
|
86
106
|
end # Repos::Keys
|
@@ -33,7 +33,7 @@ module BitBucket
|
|
33
33
|
_validate_user_repo_params(user, repo) unless user? && repo?
|
34
34
|
normalize! params
|
35
35
|
|
36
|
-
response = get_request("/
|
36
|
+
response = get_request("/1.0/repositories/#{user}/#{repo.downcase}/pullrequests/#{pull_request_id}/participants", params)
|
37
37
|
return response unless block_given?
|
38
38
|
response.each { |el| yield el }
|
39
39
|
end
|
@@ -12,12 +12,19 @@ module BitBucket
|
|
12
12
|
# bitbucket.repos.services.list 'user-name', 'repo-name'
|
13
13
|
# bitbucket.repos.services.list 'user-name', 'repo-name' { |service| ... }
|
14
14
|
#
|
15
|
-
def list(
|
16
|
-
_update_user_repo_params(
|
15
|
+
def list(user_name_or_project_key, repo_name, params={})
|
16
|
+
_update_user_repo_params(user_name_or_project_key, repo_name)
|
17
17
|
_validate_user_repo_params(user, repo) unless user? && repo?
|
18
18
|
normalize! params
|
19
19
|
|
20
|
-
|
20
|
+
url = if BitBucket.options[:bitbucket_server]
|
21
|
+
"/1.0/projects/#{user_name_or_project_key}/repos/#{repo.downcase}/settings/hooks"
|
22
|
+
else
|
23
|
+
"/1.0/repositories/#{user}/#{repo.downcase}/services"
|
24
|
+
end
|
25
|
+
|
26
|
+
response = get_request(url, params)
|
27
|
+
|
21
28
|
return response unless block_given?
|
22
29
|
response.each { |el| yield el }
|
23
30
|
end
|
@@ -35,7 +42,7 @@ module BitBucket
|
|
35
42
|
_validate_presence_of(service_id)
|
36
43
|
normalize! params
|
37
44
|
|
38
|
-
get_request("/
|
45
|
+
get_request("/1.0/repositories/#{user}/#{repo.downcase}/services/#{service_id}", params)
|
39
46
|
end
|
40
47
|
alias :find :get
|
41
48
|
|
@@ -58,7 +65,7 @@ module BitBucket
|
|
58
65
|
normalize! params
|
59
66
|
assert_required_keys(REQUIRED_KEY_PARAM_NAMES, params)
|
60
67
|
|
61
|
-
post_request("/
|
68
|
+
post_request("/1.0/repositories/#{user}/#{repo.downcase}/services", params)
|
62
69
|
end
|
63
70
|
|
64
71
|
# Edit a service
|
@@ -81,7 +88,7 @@ module BitBucket
|
|
81
88
|
|
82
89
|
normalize! params
|
83
90
|
|
84
|
-
put_request("/
|
91
|
+
put_request("/1.0/repositories/#{user}/#{repo.downcase}/services/#{service_id}", params)
|
85
92
|
end
|
86
93
|
|
87
94
|
# Delete service
|
@@ -96,7 +103,7 @@ module BitBucket
|
|
96
103
|
_validate_presence_of(service_id)
|
97
104
|
normalize! params
|
98
105
|
|
99
|
-
delete_request("/
|
106
|
+
delete_request("/1.0/repositories/#{user}/#{repo.downcase}/services/#{service_id}", params)
|
100
107
|
end
|
101
108
|
|
102
109
|
end # Repos::Keys
|