bamboo-client 0.1.8 → 0.1.9
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 +43 -0
- data/features/rest.feature +1 -1
- data/lib/bamboo-client/http/abstract.rb +3 -1
- data/lib/bamboo-client/rest.rb +1 -1
- data/lib/bamboo-client/version.rb +1 -1
- data/spec/bamboo-client/http/abstract_spec.rb +21 -0
- data/spec/bamboo-client/rest_spec.rb +6 -7
- metadata +25 -23
- data/README +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7a987904bc39ab3246172e8bab30eeb058a30ec
|
4
|
+
data.tar.gz: 0fea1f048f1ec80381f47dc94b08e8fb9f1adce0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee80274a412aafe3864ed8ec0ae45dbce49ff151c136466a2b0eb0b2348cb1d611847e678d35b9005875b6451a9302a6fe314ac35a3b7cd596899e219ee4e78b
|
7
|
+
data.tar.gz: ac6e8255c6f168d4a924ce9c25c4f75b702540f391524a18654c96dbfb60aa4b6872a765177c8a6a765ea2a36cc0aa5ff6d461146e3e6e7905051a398661f362
|
data/README.md
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
# bamboo-client
|
2
|
+
|
3
|
+
Ruby clients for Bamboo's REST APIs:
|
4
|
+
|
5
|
+
* http://confluence.atlassian.com/display/BAMBOO/Bamboo+REST+APIs
|
6
|
+
* http://confluence.atlassian.com/display/BAMBOO/Bamboo+Remote+API (deprecated)
|
7
|
+
|
8
|
+
## Example
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
client = Bamboo::Client.for(:rest, "http://bamboo.example.com/")
|
12
|
+
client.login(user, pass) # required for some API calls
|
13
|
+
|
14
|
+
project = client.projects.first
|
15
|
+
project.key
|
16
|
+
project.url
|
17
|
+
|
18
|
+
plan = project.plans.first
|
19
|
+
plan.key
|
20
|
+
plan.enabled?
|
21
|
+
|
22
|
+
plan.queue unless plan.building?
|
23
|
+
sleep 1 until plan.building?
|
24
|
+
sleep 1 while plan.building?
|
25
|
+
|
26
|
+
result = plan.results.first
|
27
|
+
result.key
|
28
|
+
result.successful?
|
29
|
+
result.start_time
|
30
|
+
result.completed_time
|
31
|
+
result.state
|
32
|
+
# etc
|
33
|
+
```
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
|
data/features/rest.feature
CHANGED
@@ -5,6 +5,7 @@ Feature: Bamboo REST client
|
|
5
5
|
|
6
6
|
Background:
|
7
7
|
Given I am using the REST client
|
8
|
+
And I log in
|
8
9
|
|
9
10
|
Scenario: Fetch plans
|
10
11
|
When I fetch all the plans
|
@@ -27,7 +28,6 @@ Feature: Bamboo REST client
|
|
27
28
|
And all results should have a state
|
28
29
|
|
29
30
|
Scenario: Authenticated API
|
30
|
-
When I log in
|
31
31
|
Then I should get a session ID
|
32
32
|
When I fetch all results
|
33
33
|
Then all results should have a state
|
@@ -10,6 +10,8 @@ module Bamboo
|
|
10
10
|
|
11
11
|
private
|
12
12
|
|
13
|
+
# argument is only an uri if its coming from a result set.
|
14
|
+
# in this case, we don't need to prefix the path anymore.
|
13
15
|
def uri_for(uri_or_path, params = nil)
|
14
16
|
if uri_or_path.kind_of? URI
|
15
17
|
u = uri_or_path.dup
|
@@ -19,7 +21,7 @@ module Bamboo
|
|
19
21
|
u.scheme = @uri.scheme
|
20
22
|
else
|
21
23
|
u = uri.dup
|
22
|
-
u.path = uri_or_path
|
24
|
+
u.path = File.join(uri.path, uri_or_path)
|
23
25
|
end
|
24
26
|
|
25
27
|
u.query = query_string_for(params) if params
|
data/lib/bamboo-client/rest.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
require File.expand_path("../../../spec_helper", __FILE__)
|
2
|
+
|
3
|
+
module Bamboo
|
4
|
+
module Client
|
5
|
+
module Http
|
6
|
+
describe Abstract do
|
7
|
+
|
8
|
+
it 'should translate a path with prefix' do
|
9
|
+
http = Http::Abstract.new('http://example.com/bamboo')
|
10
|
+
http.send(:uri_for, '/foobar').should == 'http://example.com/bamboo/foobar'
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should translate a path without prefix' do
|
14
|
+
http = Http::Abstract.new('http://example.com/')
|
15
|
+
http.send(:uri_for, '/foobar').should == 'http://example.com/foobar'
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -23,7 +23,6 @@ module Bamboo
|
|
23
23
|
|
24
24
|
http.should_receive(:get).with(
|
25
25
|
"/rest/api/latest/plan/",
|
26
|
-
nil,
|
27
26
|
nil
|
28
27
|
).and_return(document)
|
29
28
|
|
@@ -33,7 +32,7 @@ module Bamboo
|
|
33
32
|
it "should be able to fetch projects" do
|
34
33
|
document.should_receive(:auto_expand).with(Rest::Project, http).and_return %w[foo bar]
|
35
34
|
|
36
|
-
http.should_receive(:get).with("/rest/api/latest/project/", nil
|
35
|
+
http.should_receive(:get).with("/rest/api/latest/project/", nil).
|
37
36
|
and_return(document)
|
38
37
|
|
39
38
|
client.projects.should == %w[foo bar]
|
@@ -42,7 +41,7 @@ module Bamboo
|
|
42
41
|
it "should be able to fetch results" do
|
43
42
|
document.should_receive(:auto_expand).with(Rest::Result, http).and_return %w[foo bar]
|
44
43
|
|
45
|
-
http.should_receive(:get).with("/rest/api/latest/result/", nil
|
44
|
+
http.should_receive(:get).with("/rest/api/latest/result/", nil).
|
46
45
|
and_return(document)
|
47
46
|
|
48
47
|
client.results.should == %w[foo bar]
|
@@ -51,7 +50,7 @@ module Bamboo
|
|
51
50
|
it "should be able to fetch the queue" do
|
52
51
|
document.should_receive(:data).and_return('some' => 'data')
|
53
52
|
|
54
|
-
http.should_receive(:get).with("/rest/api/latest/queue/", nil
|
53
|
+
http.should_receive(:get).with("/rest/api/latest/queue/", nil).
|
55
54
|
and_return(document)
|
56
55
|
|
57
56
|
client.queue().should be_kind_of(Rest::Queue)
|
@@ -60,7 +59,7 @@ module Bamboo
|
|
60
59
|
it "should be able to fetch results for a specific key" do
|
61
60
|
document.should_receive(:auto_expand).with(Rest::Result, http).and_return %w[foo bar]
|
62
61
|
|
63
|
-
http.should_receive(:get).with("/rest/api/latest/result/SOME-KEY", nil
|
62
|
+
http.should_receive(:get).with("/rest/api/latest/result/SOME-KEY", nil).
|
64
63
|
and_return(document)
|
65
64
|
|
66
65
|
client.results_for("SOME-KEY").should == %w[foo bar]
|
@@ -69,7 +68,7 @@ module Bamboo
|
|
69
68
|
it "should be able to fetch a plan for a specific key" do
|
70
69
|
document.should_receive(:data).and_return('some' => 'data')
|
71
70
|
|
72
|
-
http.should_receive(:get).with("/rest/api/latest/plan/SOME-KEY", nil
|
71
|
+
http.should_receive(:get).with("/rest/api/latest/plan/SOME-KEY", nil).
|
73
72
|
and_return(document)
|
74
73
|
|
75
74
|
client.plan_for("SOME-KEY").should be_kind_of(Rest::Plan)
|
@@ -79,7 +78,7 @@ module Bamboo
|
|
79
78
|
it "should be able to fetch a project for a specific key" do
|
80
79
|
document.should_receive(:data).and_return('some' => 'data')
|
81
80
|
|
82
|
-
http.should_receive(:get).with("/rest/api/latest/project/SOME-KEY", nil
|
81
|
+
http.should_receive(:get).with("/rest/api/latest/project/SOME-KEY", nil).
|
83
82
|
and_return(document)
|
84
83
|
|
85
84
|
client.project_for("SOME-KEY").should be_kind_of(Rest::Project)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bamboo-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jari Bakken
|
@@ -9,104 +9,104 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-11-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '2.5'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ~>
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '2.5'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: cucumber
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - '>='
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: 0.10.0
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - '>='
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: 0.10.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: simplecov
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - '>='
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '0'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rake
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0.9'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0.9'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: rest-client
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- -
|
74
|
+
- - '>='
|
75
75
|
- !ruby/object:Gem::Version
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
|
-
- -
|
81
|
+
- - '>='
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: json
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - '>='
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - '>='
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: nokogiri
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- -
|
102
|
+
- - '>='
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - '>='
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
description: Ruby client for Atlassian Bamboo's REST APIs
|
@@ -117,12 +117,12 @@ executables: []
|
|
117
117
|
extensions: []
|
118
118
|
extra_rdoc_files: []
|
119
119
|
files:
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
120
|
+
- .gitignore
|
121
|
+
- .rspec
|
122
|
+
- .travis.yml
|
123
123
|
- Gemfile
|
124
124
|
- LICENSE
|
125
|
-
- README
|
125
|
+
- README.md
|
126
126
|
- Rakefile
|
127
127
|
- bamboo-client.gemspec
|
128
128
|
- cucumber.yml
|
@@ -141,6 +141,7 @@ files:
|
|
141
141
|
- lib/bamboo-client/rest.rb
|
142
142
|
- lib/bamboo-client/version.rb
|
143
143
|
- spec/bamboo-client/client_spec.rb
|
144
|
+
- spec/bamboo-client/http/abstract_spec.rb
|
144
145
|
- spec/bamboo-client/http/json_spec.rb
|
145
146
|
- spec/bamboo-client/http/xml_spec.rb
|
146
147
|
- spec/bamboo-client/remote_spec.rb
|
@@ -166,17 +167,17 @@ require_paths:
|
|
166
167
|
- lib
|
167
168
|
required_ruby_version: !ruby/object:Gem::Requirement
|
168
169
|
requirements:
|
169
|
-
- -
|
170
|
+
- - '>='
|
170
171
|
- !ruby/object:Gem::Version
|
171
172
|
version: '0'
|
172
173
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
173
174
|
requirements:
|
174
|
-
- -
|
175
|
+
- - '>='
|
175
176
|
- !ruby/object:Gem::Version
|
176
177
|
version: '0'
|
177
178
|
requirements: []
|
178
179
|
rubyforge_project: bamboo-client
|
179
|
-
rubygems_version: 2.
|
180
|
+
rubygems_version: 2.0.14
|
180
181
|
signing_key:
|
181
182
|
specification_version: 4
|
182
183
|
summary: Ruby client for Atlassian Bamboo's REST APIs
|
@@ -187,6 +188,7 @@ test_files:
|
|
187
188
|
- features/step_definitions/rest_steps.rb
|
188
189
|
- features/support/env.rb
|
189
190
|
- spec/bamboo-client/client_spec.rb
|
191
|
+
- spec/bamboo-client/http/abstract_spec.rb
|
190
192
|
- spec/bamboo-client/http/json_spec.rb
|
191
193
|
- spec/bamboo-client/http/xml_spec.rb
|
192
194
|
- spec/bamboo-client/remote_spec.rb
|
data/README
DELETED