jenkins2-api 0.0.1 → 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 +4 -4
- data/lib/jenkins2-api/client.rb +13 -20
- data/lib/jenkins2-api/endpoints/artifact.rb +15 -0
- data/lib/jenkins2-api/endpoints/build.rb +30 -0
- data/lib/jenkins2-api/endpoints/job.rb +16 -0
- data/lib/jenkins2-api/endpoints/node.rb +12 -0
- data/lib/jenkins2-api/version.rb +1 -1
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62981c6fd8f5b6edc958d228aba2bde9369e9e70
|
4
|
+
data.tar.gz: a2104e72d23d95e642f82ed01edf1e1460495e86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef141b8bd26a04b302f41b502cb20bf1aac69269d1cd77729ab75cb39106170ca486d29a45599a951b3c91383daebcb18ce21b7fb27e5ef55b3d6cbe26154add
|
7
|
+
data.tar.gz: 801d517e3c65ef1bc7deae04c7052f23d491f371d26ca1233733efd094ec36e9c36df920fb2be96c05f8da140ee9e0b8fdc13e18d97d0673f69400a9ffa68fbf
|
data/lib/jenkins2-api/client.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
require 'net/http'
|
2
2
|
require 'json'
|
3
3
|
|
4
|
+
require_relative './endpoints/artifact'
|
5
|
+
require_relative './endpoints/build'
|
6
|
+
require_relative './endpoints/job'
|
7
|
+
require_relative './endpoints/node'
|
8
|
+
|
4
9
|
module Jenkins2API
|
5
10
|
class Client
|
6
11
|
def initialize(**options)
|
@@ -13,34 +18,22 @@ module Jenkins2API
|
|
13
18
|
end
|
14
19
|
end
|
15
20
|
|
16
|
-
def
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
def list_jobs
|
21
|
-
api_request(:get, "")['jobs']
|
21
|
+
def job
|
22
|
+
@job ||= Job.new(self)
|
22
23
|
end
|
23
24
|
|
24
|
-
def
|
25
|
-
|
25
|
+
def build
|
26
|
+
@build ||= Build.new(self)
|
26
27
|
end
|
27
28
|
|
28
|
-
def
|
29
|
-
|
29
|
+
def artifact
|
30
|
+
@artifact ||= Artifact.new(self)
|
30
31
|
end
|
31
32
|
|
32
|
-
def
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
def get_build_slave_name(name, build_id)
|
37
|
-
log = get_full_log_lines(name, build_id)
|
38
|
-
relevant_line = log.select { |line| line.match(/^Running on /) }.first
|
39
|
-
|
40
|
-
relevant_line.match(/^Running on (.*) in \//)[1]
|
33
|
+
def node
|
34
|
+
@node ||= Node.new(self)
|
41
35
|
end
|
42
36
|
|
43
|
-
private
|
44
37
|
def api_request(method, path, response_type = :json, **opts)
|
45
38
|
response_type = :json unless [:json, :raw].include?(response_type)
|
46
39
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Jenkins2API
|
2
|
+
class Artifact
|
3
|
+
def initialize(client)
|
4
|
+
@client = client
|
5
|
+
end
|
6
|
+
|
7
|
+
def all(name, build_id)
|
8
|
+
@client.build.get(name)['artifacts']
|
9
|
+
end
|
10
|
+
|
11
|
+
def get(name, build_id, artifact)
|
12
|
+
@client.api_request(:get, "/job/#{name}/#{build_id}/artifact/#{artifact['relativePath']}", :raw)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Jenkins2API
|
2
|
+
class Build
|
3
|
+
def initialize(client)
|
4
|
+
@client = client
|
5
|
+
end
|
6
|
+
|
7
|
+
def get(job_name, build_id)
|
8
|
+
@client.api_request(:get, "/job/#{job_name}/#{build_id}")
|
9
|
+
end
|
10
|
+
|
11
|
+
def latest(name)
|
12
|
+
@client.api_request(:get, "/job/#{name}/lastBuild")
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_results(name, build_id)
|
16
|
+
@client.api_request(:get, "/job/#{name}/#{build_id}/testReport")
|
17
|
+
end
|
18
|
+
|
19
|
+
def logtext_lines(name, build_id)
|
20
|
+
@client.api_request(:get, "/job/#{name}/#{build_id}/logText/progressiveText", :raw).split("\r\n")
|
21
|
+
end
|
22
|
+
|
23
|
+
def slave_name(name, build_id)
|
24
|
+
log = logtext_lines(name, build_id)
|
25
|
+
relevant_line = log.select { |line| line.match(/^Running on /) }.first
|
26
|
+
|
27
|
+
relevant_line.match(/^Running on (.*) in \//)[1]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/jenkins2-api/version.rb
CHANGED
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.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Balazs Nadasdi
|
@@ -20,6 +20,10 @@ files:
|
|
20
20
|
- README.md
|
21
21
|
- lib/jenkins2-api.rb
|
22
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
|
23
27
|
- lib/jenkins2-api/version.rb
|
24
28
|
homepage: https://github.com/Yitsushi/jenkins2-api
|
25
29
|
licenses:
|