jenkins2-api 0.0.2 → 0.0.3

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 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.