jenkins2-api 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62981c6fd8f5b6edc958d228aba2bde9369e9e70
4
- data.tar.gz: a2104e72d23d95e642f82ed01edf1e1460495e86
3
+ metadata.gz: 50a66d046cf1b80d6157faa6ee3b5dd688f15801
4
+ data.tar.gz: 3e3772fca9cfba891cf35c6cb90db613eaf98821
5
5
  SHA512:
6
- metadata.gz: ef141b8bd26a04b302f41b502cb20bf1aac69269d1cd77729ab75cb39106170ca486d29a45599a951b3c91383daebcb18ce21b7fb27e5ef55b3d6cbe26154add
7
- data.tar.gz: 801d517e3c65ef1bc7deae04c7052f23d491f371d26ca1233733efd094ec36e9c36df920fb2be96c05f8da140ee9e0b8fdc13e18d97d0673f69400a9ffa68fbf
6
+ metadata.gz: fbc0008f7d0f0be707e920794e5ea1a0b758b191b1e72922bb40b130092c779b86364ffcbf0a56488281a825ce39c66379390704bc98cf575278c02d999e6e14
7
+ data.tar.gz: 904a2d34054ff7ebfa7239315ee18db4802c7fb8dfc941585d87f683093978874bae9e2ba968624f971a37153af37e526bfc49681b907403c26d4ab83691b9d7
data/bin/jenkins2api ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'thor'
4
+ require 'jenkins2-api'
5
+
6
+ module Jenkins2API
7
+ module CLI
8
+ class Jenkins2 < Thor
9
+ class_option :password, :desc => "Password", :aliases => "-p", :required => true
10
+ class_option :username, :desc => "Username", :aliases => "-u", :required => true
11
+ class_option :server, :desc => "Server path", :aliases => "-s", :required => true
12
+
13
+ map %w[--version -v] => :__print_version
14
+
15
+ desc "--version, -v", "print the version"
16
+ def __print_version
17
+ puts Jenkins2API::VERSION
18
+ end
19
+
20
+ register(Jenkins2API::Command::Job, 'job', 'job <command>', 'Job related commands')
21
+ register(Jenkins2API::Command::Build, 'build', 'build <command>', 'Build related commands')
22
+ register(Jenkins2API::Command::Node, 'node', 'node <command>', 'Node related commands')
23
+ end
24
+ end
25
+ end
26
+
27
+ Jenkins2API::CLI::Jenkins2.start
File without changes
@@ -0,0 +1,16 @@
1
+ require 'thor'
2
+
3
+ module Jenkins2API
4
+ module Command
5
+ class Build < Jenkins2API::ThorCommand
6
+ desc 'slave-name JOB_NAME BUILD_ID', 'Get Node name where a specific build was running'
7
+ method_option :ec2id, :default => false, :type => :boolean
8
+ def slave_name(name, build_id)
9
+ slave_name = client.build.slave_name(name, build_id)
10
+ slave_name = slave_name.match(/(i-[0-9a-zA-Z]+)/).captures.first if options[:ec2id]
11
+
12
+ puts slave_name
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,9 @@
1
+ require 'thor'
2
+
3
+ module Jenkins2API
4
+ module Command
5
+ class Job < Jenkins2API::ThorCommand
6
+ end
7
+ end
8
+ end
9
+
@@ -0,0 +1,28 @@
1
+ require 'thor'
2
+
3
+ module Jenkins2API
4
+ module Command
5
+ class Node < Jenkins2API::ThorCommand
6
+ desc :all, "List all nodes"
7
+ def all
8
+ nodes = client.node.all
9
+ nodes['computer'].each do |computer|
10
+ type = 'slave'
11
+ type = 'master' if computer['_class'] == 'hudson.model.Hudson$MasterComputer'
12
+ puts "[%5s] #{computer['displayName']}" % [type]
13
+ end
14
+ end
15
+
16
+ desc :slaves, "List all slave nodes"
17
+ def slaves
18
+ nodes = client.node.all
19
+ nodes['computer'].each do |computer|
20
+ next if computer['_class'] == 'hudson.model.Hudson$MasterComputer'
21
+ puts computer['displayName']
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+
File without changes
File without changes
File without changes
data/lib/jenkins2-api.rb CHANGED
@@ -1,2 +1,8 @@
1
- require_relative 'jenkins2-api/version'
2
- require_relative 'jenkins2-api/client'
1
+ require_relative 'version'
2
+ require_relative 'client'
3
+ require_relative 'thor_command'
4
+
5
+ path = File.join(File.dirname(__FILE__), 'commands', '*.rb')
6
+ Dir.glob(path).each do |file|
7
+ require file
8
+ end
@@ -0,0 +1,15 @@
1
+ require 'thor'
2
+
3
+ module Jenkins2API
4
+ class ThorCommand < Thor
5
+
6
+ private
7
+ def client
8
+ @client ||= Jenkins2API::Client.new(
9
+ :server => options[:server],
10
+ :username => options[:username],
11
+ :password => options[:password]
12
+ )
13
+ end
14
+ end
15
+ end
@@ -1,4 +1,4 @@
1
1
  module Jenkins2API
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jenkins2-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Balazs Nadasdi
@@ -9,22 +9,42 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2017-04-06 00:00:00.000000000 Z
12
- dependencies: []
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.19'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.19'
13
27
  description: API client for Jenkins 2.
14
28
  email: balazs.nadasdi@cheppers.com
15
- executables: []
29
+ executables:
30
+ - jenkins2api
16
31
  extensions: []
17
32
  extra_rdoc_files: []
18
33
  files:
19
34
  - LICENSE
20
35
  - README.md
36
+ - bin/jenkins2api
37
+ - lib/client.rb
38
+ - lib/commands/build.rb
39
+ - lib/commands/job.rb
40
+ - lib/commands/node.rb
41
+ - lib/endpoints/artifact.rb
42
+ - lib/endpoints/build.rb
43
+ - lib/endpoints/job.rb
44
+ - lib/endpoints/node.rb
21
45
  - lib/jenkins2-api.rb
22
- - lib/jenkins2-api/client.rb
23
- - lib/jenkins2-api/endpoints/artifact.rb
24
- - lib/jenkins2-api/endpoints/build.rb
25
- - lib/jenkins2-api/endpoints/job.rb
26
- - lib/jenkins2-api/endpoints/node.rb
27
- - lib/jenkins2-api/version.rb
46
+ - lib/thor_command.rb
47
+ - lib/version.rb
28
48
  homepage: https://github.com/Yitsushi/jenkins2-api
29
49
  licenses:
30
50
  - MIT
@@ -45,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
45
65
  version: '0'
46
66
  requirements: []
47
67
  rubyforge_project:
48
- rubygems_version: 2.4.5.1
68
+ rubygems_version: 2.5.1
49
69
  signing_key:
50
70
  specification_version: 4
51
71
  summary: API client for Jenkins 2.