bamboo-console 0.0.2
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 +7 -0
- data/bin/bamboo-console +5 -0
- data/lib/bamboo.rb +52 -0
- data/lib/cli.rb +59 -0
- data/lib/outputs.rb +21 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b6f52f77a27553f5eb3772724ef0e3911428d067
|
4
|
+
data.tar.gz: ed6ca2f0a0265411dca2b3c6599d5bf7ef1f601e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a816009a94822d8488008b1335c6f9e9e6aa6346d8b546a6b544b62909a5c4d7f3e6ec46bce156a7cf7b85d56534eb259588e910249c812be93a560e4a976520
|
7
|
+
data.tar.gz: 08e2fd85fdfd35559cd5e339095d1611f46ace131db74191495971db58279914131ab90709f3ba64ce02d9ba05c29d11eb08e0f230b6fd83623236ff2906aa5c
|
data/bin/bamboo-console
ADDED
data/lib/bamboo.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
|
2
|
+
require 'httparty'
|
3
|
+
require 'uri-handler'
|
4
|
+
|
5
|
+
class Bamboo
|
6
|
+
include HTTParty
|
7
|
+
default_params :output => 'json'
|
8
|
+
format :json
|
9
|
+
headers 'Accept' => 'application/json'
|
10
|
+
headers 'Content-Type' => 'application/json'
|
11
|
+
|
12
|
+
def initialize(u, p, uri)
|
13
|
+
self.class.base_uri uri
|
14
|
+
self.class.basic_auth u, p
|
15
|
+
end
|
16
|
+
|
17
|
+
def queue(key, allstages, stage)
|
18
|
+
|
19
|
+
url = '/rest/api/latest/queue/' + key
|
20
|
+
if allstages
|
21
|
+
url = url + '?executeAllStages=true'
|
22
|
+
elsif stage
|
23
|
+
url = url + '?stage=' + URI::encode(stage)
|
24
|
+
end
|
25
|
+
self.class.post(url)
|
26
|
+
end
|
27
|
+
|
28
|
+
def server
|
29
|
+
self.class.get('/rest/api/latest/info.json')
|
30
|
+
end
|
31
|
+
|
32
|
+
def info(key)
|
33
|
+
puts key
|
34
|
+
self.class.get('/rest/api/latest/plan/' + key + '.json')
|
35
|
+
end
|
36
|
+
|
37
|
+
def me
|
38
|
+
self.class.get('/rest/api/latest/currentUser.json')
|
39
|
+
end
|
40
|
+
|
41
|
+
def pause
|
42
|
+
self.class.post('/rest/api/latest/server/pause')
|
43
|
+
end
|
44
|
+
|
45
|
+
def resume
|
46
|
+
self.class.post('/rest/api/latest/server/resume')
|
47
|
+
end
|
48
|
+
|
49
|
+
def clone(key, newkey)
|
50
|
+
self.class.put('/rest/api/latest/clone/' + key + ':' + newkey)
|
51
|
+
end
|
52
|
+
end
|
data/lib/cli.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
|
2
|
+
require 'rubygems'
|
3
|
+
require 'thor'
|
4
|
+
require 'json'
|
5
|
+
|
6
|
+
require 'outputs.rb'
|
7
|
+
require 'bamboo.rb'
|
8
|
+
|
9
|
+
SERVER_URL = ENV['BAMBOO_URL']
|
10
|
+
USERNAME = ENV['BAMBOO_USERNAME']
|
11
|
+
PASSWORD = ENV['BAMBOO_PASSWORD']
|
12
|
+
|
13
|
+
BAMBOO = Bamboo.new(USERNAME, PASSWORD, SERVER_URL)
|
14
|
+
OUT = TextOutput.new
|
15
|
+
|
16
|
+
if SERVER_URL.nil? or USERNAME.nil? or PASSWORD.nil?
|
17
|
+
puts 'You must set BAMBOO_URL, BAMBOO_USERNAME and BAMBOO_PASSWORD'
|
18
|
+
exit 1
|
19
|
+
end
|
20
|
+
|
21
|
+
class Cli < Thor
|
22
|
+
|
23
|
+
desc "me", "Gets information about the current user"
|
24
|
+
def me
|
25
|
+
OUT.out BAMBOO.me
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "server", "Gets information about the server"
|
29
|
+
def server
|
30
|
+
OUT.out BAMBOO.server
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "info KEY", "Gets the info (including if its building or not) of a plan or job"
|
34
|
+
def info(key)
|
35
|
+
OUT.out BAMBOO.info(key)
|
36
|
+
end
|
37
|
+
|
38
|
+
desc "queue KEY", "Queues the given build"
|
39
|
+
method_option :allstages, :type => :boolean, :desc => "Execute all stages, including manual stages"
|
40
|
+
method_option :stage, :type => :string, :desc => "name of the stage that should be executed even if defined as manual stage. Execution will follow to the next manual stage after this or end of plan if no subsequent manual stage"
|
41
|
+
def queue(key)
|
42
|
+
OUT.out BAMBOO.queue(key, options[:allstages], options[:stage])
|
43
|
+
end
|
44
|
+
|
45
|
+
desc "pause", "Pause the server from building"
|
46
|
+
def pause
|
47
|
+
OUT.out BAMBOO.pause
|
48
|
+
end
|
49
|
+
|
50
|
+
desc "resume", "Resume the server from pause"
|
51
|
+
def resume
|
52
|
+
OUT.out BAMBOO.resume
|
53
|
+
end
|
54
|
+
|
55
|
+
desc "clone KEY NEWKEY", "Clones a plan configuration"
|
56
|
+
def clone(key, newkey)
|
57
|
+
OUT.out BAMBOO.clone(key, newkey)
|
58
|
+
end
|
59
|
+
end
|
data/lib/outputs.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
class TextOutput
|
2
|
+
def out(hash)
|
3
|
+
hash.each_pair do |k,v|
|
4
|
+
print(k, k, v) if v != nil
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
def print(parent_key, k, v)
|
9
|
+
if v.is_a?(Hash)
|
10
|
+
print_hash(k, v)
|
11
|
+
else
|
12
|
+
puts k + ": " + v.to_s
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def print_hash(parent_key, hash)
|
17
|
+
hash.each_pair do |k,v|
|
18
|
+
print parent_key + "." + k, k, v if v != nil
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bamboo-console
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jeoffrey Bauvin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-08-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.14'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.14'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: httparty
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.8'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: json
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: uri-handler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.0'
|
69
|
+
description: Command line interface for Atlassian Bamboo (all versions). Forked from
|
70
|
+
https://bitbucket.org/atlassian/bamboo-cli
|
71
|
+
email:
|
72
|
+
- jeoffrey.bauvin@gmail.com
|
73
|
+
executables:
|
74
|
+
- bamboo-console
|
75
|
+
extensions: []
|
76
|
+
extra_rdoc_files: []
|
77
|
+
files:
|
78
|
+
- bin/bamboo-console
|
79
|
+
- lib/bamboo.rb
|
80
|
+
- lib/cli.rb
|
81
|
+
- lib/outputs.rb
|
82
|
+
homepage: https://github.com/Jeoffreybauvin/bamboo-console
|
83
|
+
licenses:
|
84
|
+
- Apache-2.0
|
85
|
+
metadata: {}
|
86
|
+
post_install_message:
|
87
|
+
rdoc_options: []
|
88
|
+
require_paths:
|
89
|
+
- lib
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
requirements: []
|
101
|
+
rubyforge_project:
|
102
|
+
rubygems_version: 2.2.2
|
103
|
+
signing_key:
|
104
|
+
specification_version: 4
|
105
|
+
summary: Command line interface for Atlassian Bamboo
|
106
|
+
test_files: []
|