factor-connector-jenkins 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 +7 -0
- data/lib/factor/connector/jenkins_job.rb +123 -0
- metadata +114 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 34f2d732f2ffb05fee2f72617d9550905c9ec97c
|
4
|
+
data.tar.gz: fd8537b56bbc5272783778896e53a15cb621b129
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fd2f19de91673af9288a96d433370985fb6f5d1d4bfd48141186b632a7d6dff764153e63a4f0cc123220aadc67c2c2a5428fc69132b8966a69e7c8cb0807ef0c
|
7
|
+
data.tar.gz: d2a2f0313c4ab85ad869822daa090e081a9e1c55b84aa92253965502570a2440b8824a483d83c91fc409b4a72128734c2af53f7a765c3534503370011d2fb393
|
@@ -0,0 +1,123 @@
|
|
1
|
+
require 'factor-connector-api'
|
2
|
+
require 'jenkins_api_client'
|
3
|
+
|
4
|
+
Factor::Connector.service 'jenkins_job' do
|
5
|
+
|
6
|
+
action 'list' do |params|
|
7
|
+
username = params['username']
|
8
|
+
password = params['password']
|
9
|
+
host = params['host']
|
10
|
+
filter = params['filter']
|
11
|
+
status = params['status']
|
12
|
+
|
13
|
+
|
14
|
+
fail 'Host (host) is requires' unless host
|
15
|
+
|
16
|
+
connection_settings = { server_ip: host }
|
17
|
+
connection_settings[:username] = username if username
|
18
|
+
connection_settings[:password] = password if password
|
19
|
+
|
20
|
+
|
21
|
+
client = JenkinsApi::Client.new connection_settings
|
22
|
+
|
23
|
+
jobs = if filter
|
24
|
+
client.job.list_details(filter)
|
25
|
+
elsif status
|
26
|
+
client.job.list_by_status(status)
|
27
|
+
else
|
28
|
+
client.job.list_all_with_details
|
29
|
+
end
|
30
|
+
|
31
|
+
action_callback jobs
|
32
|
+
end
|
33
|
+
|
34
|
+
action 'build' do |params|
|
35
|
+
username = params['username']
|
36
|
+
password = params['password']
|
37
|
+
host = params['host']
|
38
|
+
id = params['job']
|
39
|
+
|
40
|
+
fail 'Host (host) is required' unless host
|
41
|
+
fail 'Job ID (job) is required' unless id
|
42
|
+
|
43
|
+
connection_settings = { server_ip: host }
|
44
|
+
connection_settings[:username] = username if username
|
45
|
+
connection_settings[:password] = password if password
|
46
|
+
|
47
|
+
client = JenkinsApi::Client.new connection_settings
|
48
|
+
|
49
|
+
code = client.job.build(id)
|
50
|
+
|
51
|
+
fail "Unable to build job: #{id}" unless code == '201'
|
52
|
+
|
53
|
+
action_callback code: code
|
54
|
+
end
|
55
|
+
|
56
|
+
action 'stop' do |params|
|
57
|
+
username = params['username']
|
58
|
+
password = params['password']
|
59
|
+
host = params['host']
|
60
|
+
id = params['job']
|
61
|
+
build = params['build'] || 0
|
62
|
+
|
63
|
+
fail 'Host (host) is required' unless host
|
64
|
+
fail 'Job ID (job) is required' unless id
|
65
|
+
|
66
|
+
connection_settings = { server_ip: host }
|
67
|
+
connection_settings[:username] = username if username
|
68
|
+
connection_settings[:password] = password if password
|
69
|
+
|
70
|
+
client = JenkinsApi::Client.new connection_settings
|
71
|
+
|
72
|
+
code = client.job.stop_build(id, build)
|
73
|
+
|
74
|
+
fail "Unable to stop job: #{id}" unless code == '302'
|
75
|
+
|
76
|
+
action_callback code: code
|
77
|
+
end
|
78
|
+
|
79
|
+
action 'status' do |params|
|
80
|
+
username = params['username']
|
81
|
+
password = params['password']
|
82
|
+
host = params['host']
|
83
|
+
id = params['job']
|
84
|
+
|
85
|
+
fail 'Host (host) is required' unless host
|
86
|
+
fail 'Job ID (job) is required' unless id
|
87
|
+
|
88
|
+
connection_settings = { server_ip: host }
|
89
|
+
connection_settings[:username] = username if username
|
90
|
+
connection_settings[:password] = password if password
|
91
|
+
|
92
|
+
client = JenkinsApi::Client.new connection_settings
|
93
|
+
|
94
|
+
status = client.job.get_current_build_status(id)
|
95
|
+
|
96
|
+
action_callback status:status
|
97
|
+
end
|
98
|
+
|
99
|
+
action 'rename' do |params|
|
100
|
+
username = params['username']
|
101
|
+
password = params['password']
|
102
|
+
host = params['host']
|
103
|
+
id = params['job']
|
104
|
+
new_id = params['new_job']
|
105
|
+
|
106
|
+
fail 'Host (host) is required' unless host
|
107
|
+
fail 'Job ID (job) is required' unless id
|
108
|
+
fail 'New Job ID (new_id) is required' unless new_id
|
109
|
+
|
110
|
+
connection_settings = { server_ip: host }
|
111
|
+
connection_settings[:username] = username if username
|
112
|
+
connection_settings[:password] = password if password
|
113
|
+
|
114
|
+
client = JenkinsApi::Client.new connection_settings
|
115
|
+
|
116
|
+
code = client.job.rename(id, new_id)
|
117
|
+
|
118
|
+
fail "Unable to rename job '#{id} to #{new_id}'" unless code == '302'
|
119
|
+
|
120
|
+
action_callback code: code
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
metadata
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: factor-connector-jenkins
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Maciej Skierkowski
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: factor-connector-api
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.0.13
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.0.13
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: jenkins_api_client
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.0.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: codeclimate-test-reporter
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.3.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.3.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.1.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.1.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 10.3.2
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 10.3.2
|
83
|
+
description:
|
84
|
+
email:
|
85
|
+
- maciej@factor.io
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- lib/factor/connector/jenkins_job.rb
|
91
|
+
homepage: https://factor.io
|
92
|
+
licenses: []
|
93
|
+
metadata: {}
|
94
|
+
post_install_message:
|
95
|
+
rdoc_options: []
|
96
|
+
require_paths:
|
97
|
+
- lib
|
98
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - ">="
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
108
|
+
requirements: []
|
109
|
+
rubyforge_project:
|
110
|
+
rubygems_version: 2.2.2
|
111
|
+
signing_key:
|
112
|
+
specification_version: 4
|
113
|
+
summary: Jenkins Factor.io Connector
|
114
|
+
test_files: []
|