lita-bamboo 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +4 -0
- data/lib/bamboohelper/plans.rb +57 -0
- data/lib/lita/handlers/bamboo.rb +86 -0
- data/lita-bamboo.gemspec +1 -1
- data/locales/en.yml +6 -0
- data/spec/lita/handlers/bamboo_spec.rb +28 -16
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b32f91efad6d5c1feb644b160f9b3c1e8ad9f05a
|
4
|
+
data.tar.gz: 46125daa47d0587f0989467e80bf9cea553dc453
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30ec9e07bbfc04bd642dfd470e05dac71e5f44f649122dfbaf02e8ee645ce0fb6dededb55f43167884160802db141e68dd67c76382370993a1cc8f8d2d7f5abc
|
7
|
+
data.tar.gz: 824abba275eb7b1a0a59ac9191852d8a579267b422f0b1e1436716e4d2e2b661f95d3e0c3ca56b42dd06fa93e46bb90d8e33982197c154adb8afda22336d3c49
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# lita-bamboo Change Log
|
2
2
|
|
3
|
+
### v0.1.4
|
4
|
+
* show server info
|
5
|
+
* get build result labels, add label to and remove label from build results. (Experimental)
|
6
|
+
|
3
7
|
### v0.1.3
|
4
8
|
* list queue not proper output when queue is empty
|
5
9
|
* Now when plan is queued successfully, show response with message
|
data/README.md
CHANGED
data/lib/bamboohelper/plans.rb
CHANGED
@@ -108,5 +108,62 @@ module LitaBambooHelper
|
|
108
108
|
end
|
109
109
|
info.to_s
|
110
110
|
end
|
111
|
+
|
112
|
+
def get_server_info
|
113
|
+
url = "#{config.url}/info.json?os_authType=basic"
|
114
|
+
info = {}
|
115
|
+
begin
|
116
|
+
response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get, user: config.user, password: config.password)
|
117
|
+
info = JSON.parse(response)
|
118
|
+
rescue Exception=>e
|
119
|
+
raise "Error to get server info :#{e.message}"
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def get_server_version
|
124
|
+
info = get_server_info
|
125
|
+
info['version']
|
126
|
+
end
|
127
|
+
|
128
|
+
def get_build_labels(build_id)
|
129
|
+
url = "#{config.url}/result/#{build_id}/label.json"
|
130
|
+
info = []
|
131
|
+
begin
|
132
|
+
response = RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :get)
|
133
|
+
json_response = JSON.parse(response)
|
134
|
+
if json_response['labels']['label']
|
135
|
+
json_response['labels']['label'].each do |result|
|
136
|
+
info << "[#{result['name']}]"
|
137
|
+
end
|
138
|
+
end
|
139
|
+
rescue Exception=>e
|
140
|
+
raise "Error to list build queue :#{e.message}"
|
141
|
+
end
|
142
|
+
info.join(',')
|
143
|
+
end #def
|
144
|
+
|
145
|
+
def add_build_label(build_id, label)
|
146
|
+
url = "#{config.url}/result/#{build_id}/label"
|
147
|
+
payload = {'name' => "#{label}"}
|
148
|
+
headers = {'Content-Type'=> 'application/json'}
|
149
|
+
info = []
|
150
|
+
begin
|
151
|
+
RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :post, :payload =>payload, :headers => headers )
|
152
|
+
true
|
153
|
+
rescue Exception=>e
|
154
|
+
raise "Error to add label to build result :#{e.message}"
|
155
|
+
end
|
156
|
+
end #def
|
157
|
+
|
158
|
+
def delete_build_label(build_id, label)
|
159
|
+
url = "#{config.url}/result/#{build_id}/#{label}"
|
160
|
+
begin
|
161
|
+
RestClient::Request.execute(:url => url, :verify_ssl => config.verify_ssl, :method=> :delete )
|
162
|
+
true
|
163
|
+
rescue Exception=>e
|
164
|
+
raise "Error to delete label from build result :#{e.message}"
|
165
|
+
end
|
166
|
+
end #def
|
167
|
+
|
111
168
|
end #module
|
112
169
|
end
|
data/lib/lita/handlers/bamboo.rb
CHANGED
@@ -64,6 +64,43 @@ module Lita
|
|
64
64
|
}
|
65
65
|
)
|
66
66
|
|
67
|
+
route(
|
68
|
+
/^bamboo\s+get\s+label[s]?\s+(\S+)\s*$/,
|
69
|
+
:cmd_get_labels,
|
70
|
+
command: true,
|
71
|
+
help: {
|
72
|
+
t('help.cmd_get_labels_key') => t('help.cmd_get_labels_value')
|
73
|
+
}
|
74
|
+
)
|
75
|
+
|
76
|
+
route(
|
77
|
+
/^bamboo\s+add\s+label\s+(\S+)\s+to\s+(\S+)\s*$/,
|
78
|
+
:cmd_add_label,
|
79
|
+
command:true,
|
80
|
+
help: {
|
81
|
+
t('help.cmd_add_label_key') => t('help.cmd_add_label_value')
|
82
|
+
}
|
83
|
+
)
|
84
|
+
|
85
|
+
route(
|
86
|
+
/^bamboo\s+delete\s+label\s+(\S+)\s+from\s+(\S+)\s*$/,
|
87
|
+
:cmd_delete_label,
|
88
|
+
command:true,
|
89
|
+
help: {
|
90
|
+
t('help.cmd_add_label_key') => t('help.cmd_add_label_value')
|
91
|
+
}
|
92
|
+
)
|
93
|
+
|
94
|
+
route(
|
95
|
+
/^bamboo\s+info\s*$/,
|
96
|
+
:cmd_get_info,
|
97
|
+
command: true,
|
98
|
+
help: {
|
99
|
+
t('help_cmd_get_info_key') => t('help_cmd_get_info_value')
|
100
|
+
}
|
101
|
+
|
102
|
+
)
|
103
|
+
|
67
104
|
def cmd_list_projects(response)
|
68
105
|
begin
|
69
106
|
info = list_projects
|
@@ -129,6 +166,55 @@ module Lita
|
|
129
166
|
end
|
130
167
|
end
|
131
168
|
|
169
|
+
def cmd_get_labels(response)
|
170
|
+
build_id = response.matches[0][0]
|
171
|
+
begin
|
172
|
+
info = get_build_labels(build_id)
|
173
|
+
response.reply info
|
174
|
+
rescue Exception => e
|
175
|
+
response.reply e.message
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
def cmd_add_label(response)
|
180
|
+
build_id = response.matches[0][0]
|
181
|
+
label = response.matches[0][1]
|
182
|
+
begin
|
183
|
+
success = add_build_label(build_id, label)
|
184
|
+
if success
|
185
|
+
response.reply "Lable set successfully."
|
186
|
+
else
|
187
|
+
response.reply "Cannot add label to build result."
|
188
|
+
end
|
189
|
+
rescue Exception => e
|
190
|
+
response.reply e.message
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
def cmd_delete_label(response)
|
195
|
+
build_id = response.matches[0][0]
|
196
|
+
label = response.matches[0][1]
|
197
|
+
begin
|
198
|
+
success = delete_build_label(build_id, label)
|
199
|
+
if success
|
200
|
+
response.reply "Lable deleted successfully."
|
201
|
+
else
|
202
|
+
response.reply "Cannot delete label from build result."
|
203
|
+
end
|
204
|
+
rescue Exception => e
|
205
|
+
response.reply e.message
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
209
|
+
def cmd_get_info(response)
|
210
|
+
begin
|
211
|
+
info = get_server_info
|
212
|
+
response.reply info.to_s
|
213
|
+
rescue Exception => e
|
214
|
+
response.reply e.message
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
132
218
|
Lita.register_handler(self)
|
133
219
|
|
134
220
|
end
|
data/lita-bamboo.gemspec
CHANGED
data/locales/en.yml
CHANGED
@@ -15,3 +15,9 @@ en:
|
|
15
15
|
cmd_queue_plan_value: 'Queue plan for build'
|
16
16
|
cmd_dequeue_plan_key: 'bamboo dequeue BUILD_KEY'
|
17
17
|
cmd_dequeue_plan_value: 'Dequeue plan from build'
|
18
|
+
cmd_get_labels_key: 'bamboo get labels BUILD_KEY'
|
19
|
+
cmd_get_labels_value: 'List build labels'
|
20
|
+
cmd_get_info_key: 'bamboo info'
|
21
|
+
cmd_get_info_value: 'Show bamboo server info'
|
22
|
+
cmd_add_label_key: 'bamboo add label LABEL to BUILD_KEY'
|
23
|
+
cmd_add_label_value: 'Add label to build result'
|
@@ -14,6 +14,10 @@ describe Lita::Handlers::Bamboo, lita_handler: true do
|
|
14
14
|
is_expected.to route_command('bamboo list queue').to(:cmd_list_queue)
|
15
15
|
is_expected.to route_command('bamboo queue PM-RVMGEMSET').to(:cmd_queue_plan)
|
16
16
|
is_expected.to route_command('bamboo dequeue PM-RVMGEMSET-8').to(:cmd_dequeue_plan)
|
17
|
+
is_expected.to route_command('bamboo get labels PM-BUILDPM-195').to(:cmd_get_labels)
|
18
|
+
is_expected.to route_command('bamboo info').to(:cmd_get_info)
|
19
|
+
is_expected.to route_command('bamboo add label LABLE1 to GE-BUILD-1').to(:cmd_add_label)
|
20
|
+
is_expected.to route_command('bamboo delete label LABLE1 from GE-BUILD-1').to(:cmd_delete_label)
|
17
21
|
end
|
18
22
|
|
19
23
|
describe '#get all project list' do
|
@@ -43,33 +47,41 @@ describe Lita::Handlers::Bamboo, lita_handler: true do
|
|
43
47
|
end
|
44
48
|
end
|
45
49
|
|
46
|
-
describe '#
|
47
|
-
#let(:robot) { Lita::Robot.new(registry) }
|
48
|
-
it 'fecth list of plan build results' do
|
49
|
-
send_command('bamboo list plan AG-FPMWIL results limit 2')
|
50
|
-
puts replies.last
|
51
|
-
#expect(replies.last).to match(/repositoryPath/)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
describe '#get build queue' do
|
50
|
+
describe '#manage build queue' do
|
56
51
|
it 'list build queue' do
|
57
52
|
send_command('bamboo list queue')
|
58
53
|
puts replies.last
|
59
54
|
end
|
60
|
-
end
|
61
|
-
|
62
|
-
describe '#queue plan for build' do
|
63
55
|
it 'queue plan' do
|
64
56
|
send_command('bamboo queue PM-RVMGEMSET')
|
65
57
|
puts replies.last
|
66
58
|
end
|
67
|
-
end
|
68
|
-
|
69
|
-
describe '#dequeue plan from build' do
|
70
59
|
it 'dequeue plan' do
|
71
60
|
send_command('bamboo dequeue PORJ-PLAN-8')
|
72
61
|
puts replies.last
|
73
62
|
end
|
74
63
|
end
|
64
|
+
|
65
|
+
describe '#get server info' do
|
66
|
+
it 'show server info' do
|
67
|
+
send_command('bamboo info')
|
68
|
+
puts replies.last
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe '#manage bulid label' do
|
73
|
+
it 'get build labels' do
|
74
|
+
send_command('bamboo get labels PM-BUILDPM-195')
|
75
|
+
puts replies.last
|
76
|
+
end
|
77
|
+
it 'add label to build' do
|
78
|
+
send_command('bamboo add label LABEL1 to TEST-PLAN-1')
|
79
|
+
puts replies.last
|
80
|
+
end
|
81
|
+
it 'delete label to build' do
|
82
|
+
send_command('bamboo delete label LABEL1 from TEST-PLAN-1')
|
83
|
+
puts replies.last
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
75
87
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-bamboo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wang, Dawei
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|