rubyjobbuilderdsl 0.0.6 → 0.0.8
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 +5 -13
- data/CONTRIBUTING.md +5 -0
- data/{Readme.md → README.md} +0 -0
- data/docs/index.md +12 -12
- data/docs/pipeline.md +25 -25
- data/docs/postbuild.md +18 -0
- data/lib/rubyjobbuilderdsl/builder.rb +80 -80
- data/lib/rubyjobbuilderdsl/pipeline.rb +18 -19
- data/lib/rubyjobbuilderdsl/postbuild.rb +9 -1
- data/lib/rubyjobbuilderdsl/postbuild/hipchat_notifications.rb +68 -0
- data/lib/rubyjobbuilderdsl/postbuild/slack.rb +76 -77
- data/lib/rubyjobbuilderdsl/xml_generator.rb +940 -923
- data/rubyjobbuilderdsl-0.0.7.gem +0 -0
- data/rubyjobbuilderdsl.gemspec +13 -13
- data/sample/sample_slack_postbuild.rb +23 -23
- data/test/test_hipchat_notifications.rb +39 -0
- data/test/test_timeout.rb +1 -1
- metadata +14 -13
- data/sample/hello_mars.xml +0 -18
- data/sample/hello_world-post.xml +0 -40
- data/sample/test.xml +0 -21
checksums.yaml
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
MzY1ZjdlMDJjNDU3MjY1Nzc5MzI3OTVkMDEzY2Q5Y2NhYjE1NDc2OA==
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 5e8710ec979ceb65846d8448c55b6d79dc232b94
|
|
4
|
+
data.tar.gz: 3d5fb68fbbf98552a65d5a76fc96cbb112e99e77
|
|
7
5
|
SHA512:
|
|
8
|
-
metadata.gz:
|
|
9
|
-
|
|
10
|
-
MWM2NjQ5OGE3YWU2MWJiZWI5ZmQxZjhjYjBlZTI2NjIzNTJiZTIwN2ZlODUx
|
|
11
|
-
NWFjNWQxYmQ5ZDVmYmNiODYwZmU0MWY5YzY3ZDlhNGNlYmJiZWE=
|
|
12
|
-
data.tar.gz: !binary |-
|
|
13
|
-
N2NkNzcwZDg4OGMyNDI0MmNhZmU3OTA5MTdjY2M3ZDdlMDg5NjBmYWYzZDQ0
|
|
14
|
-
NzE0MTU4NjdmZGRlNzc2ZTY3NGIzMjczZDg3Y2ExMTFiNDQ5NjcyNWIwZWJk
|
|
15
|
-
N2UzYzJlODIzODJmZmM5Yzg5NGE0OTM4ZjM0YzNmMmJlMTk1NmI=
|
|
6
|
+
metadata.gz: 0676550cc2cc2c32651796f10e3ab232a50eefbf2595b3b3f85313193893ff756e40073be7594fb922fe0bb3ee5afd1d763d9072ba948d05afc214a10f0d5e72
|
|
7
|
+
data.tar.gz: 27635431522c0c0a6d193f3c37b90d43cfdd1397caa6fef1af8b94ff411522456cca3aabecee5cc633785a292d5f1bc534ae91ff4dfa0ea3798008cee3673a89
|
data/CONTRIBUTING.md
ADDED
data/{Readme.md → README.md}
RENAMED
|
File without changes
|
data/docs/index.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
## Ruby Job Builder DSL
|
|
2
|
-
|
|
3
|
-
* [Overview](overview.md)
|
|
4
|
-
* [Common](common.md)
|
|
5
|
-
* [FreeStyle](freestyle.md)
|
|
6
|
-
* [Flow](flow.md)
|
|
7
|
-
* [Multi](multi.md)
|
|
8
|
-
* [Pipeline](pipeline.md)
|
|
9
|
-
* [View](view.md)
|
|
10
|
-
* [Gerrit](gerrit.md)
|
|
11
|
-
* [Git](git.md)
|
|
12
|
-
* [Postbuild](postbuild.md)
|
|
1
|
+
## Ruby Job Builder DSL
|
|
2
|
+
|
|
3
|
+
* [Overview](overview.md)
|
|
4
|
+
* [Common](common.md)
|
|
5
|
+
* [FreeStyle](freestyle.md)
|
|
6
|
+
* [Flow](flow.md)
|
|
7
|
+
* [Multi](multi.md)
|
|
8
|
+
* [Pipeline](pipeline.md)
|
|
9
|
+
* [View](view.md)
|
|
10
|
+
* [Gerrit](gerrit.md)
|
|
11
|
+
* [Git](git.md)
|
|
12
|
+
* [Postbuild](postbuild.md)
|
data/docs/pipeline.md
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
## Create pipeline style project
|
|
2
|
-
|
|
3
|
-
Description: Create a pipeline job which can run a specified groovy script at a particular time
|
|
4
|
-
|
|
5
|
-
Example
|
|
6
|
-
|
|
7
|
-
builder.pipeline 'Schedule-sample-pipeline' do
|
|
8
|
-
schedule '0 15 * * *'
|
|
9
|
-
groovy <<EOS
|
|
10
|
-
|
|
11
|
-
def date = new Date()
|
|
12
|
-
def release = date.format('yyyy.MM.dd')
|
|
13
|
-
def releaseManifest = release + ".0400"
|
|
14
|
-
println releaseManifest
|
|
15
|
-
|
|
16
|
-
build job: 'CreateRelease-gen3',
|
|
17
|
-
parameters: [
|
|
18
|
-
string(name: 'OctopusServer', value: 'https://OctopusServerSomewhere.com'),
|
|
19
|
-
string(name: 'OctopusKey', value: 'An API Key'),
|
|
20
|
-
string(name: 'DeploySpecificPackages', value: 'false'),
|
|
21
|
-
string(name: 'ReleaseNumber', value: '63'),
|
|
22
|
-
string(name: 'ReleaseManifest', value: releaseManifest),
|
|
23
|
-
string(name: 'Channel', value: 'Release Channel')]
|
|
24
|
-
EOS
|
|
25
|
-
|
|
1
|
+
## Create pipeline style project
|
|
2
|
+
|
|
3
|
+
Description: Create a pipeline job which can run a specified groovy script at a particular time
|
|
4
|
+
|
|
5
|
+
Example
|
|
6
|
+
|
|
7
|
+
builder.pipeline 'Schedule-sample-pipeline' do
|
|
8
|
+
schedule '0 15 * * *'
|
|
9
|
+
groovy <<EOS
|
|
10
|
+
|
|
11
|
+
def date = new Date()
|
|
12
|
+
def release = date.format('yyyy.MM.dd')
|
|
13
|
+
def releaseManifest = release + ".0400"
|
|
14
|
+
println releaseManifest
|
|
15
|
+
|
|
16
|
+
build job: 'CreateRelease-gen3',
|
|
17
|
+
parameters: [
|
|
18
|
+
string(name: 'OctopusServer', value: 'https://OctopusServerSomewhere.com'),
|
|
19
|
+
string(name: 'OctopusKey', value: 'An API Key'),
|
|
20
|
+
string(name: 'DeploySpecificPackages', value: 'false'),
|
|
21
|
+
string(name: 'ReleaseNumber', value: '63'),
|
|
22
|
+
string(name: 'ReleaseManifest', value: releaseManifest),
|
|
23
|
+
string(name: 'Channel', value: 'Release Channel')]
|
|
24
|
+
EOS
|
|
25
|
+
|
|
26
26
|
end
|
data/docs/postbuild.md
CHANGED
|
@@ -263,4 +263,22 @@ Example
|
|
|
263
263
|
end
|
|
264
264
|
end
|
|
265
265
|
|
|
266
|
+
**hipchat**
|
|
267
|
+
|
|
268
|
+
Description: Send a hipchat notification
|
|
269
|
+
|
|
270
|
+
Multiple: Override
|
|
271
|
+
|
|
272
|
+
Example
|
|
273
|
+
|
|
274
|
+
builder.freestyle 'hello_world-build' do
|
|
275
|
+
postbuild do
|
|
276
|
+
hipchat do
|
|
277
|
+
token 'apitoken'
|
|
278
|
+
rooms 'room1, room1'
|
|
279
|
+
notify_failure true
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
|
|
266
284
|
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
require_relative 'freestyle'
|
|
2
|
-
require_relative 'flow'
|
|
3
|
-
require_relative 'pipeline'
|
|
4
|
-
require_relative 'multijob'
|
|
5
|
-
require_relative 'view'
|
|
6
|
-
require_relative 'xml_generator'
|
|
7
|
-
|
|
8
|
-
module JenkinsJob
|
|
9
|
-
# dsl methods for job builder
|
|
10
|
-
class Builder
|
|
11
|
-
attr_reader :jobs, :views
|
|
12
|
-
|
|
13
|
-
def initialize(&block)
|
|
14
|
-
@default_setting = []
|
|
15
|
-
@default_setting << block if block_given?
|
|
16
|
-
@jobs = {}
|
|
17
|
-
@views = {}
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def add_extension(&block)
|
|
21
|
-
@default_setting << block if block_given?
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def freestyle(name, &block)
|
|
25
|
-
@jobs[name] = FreeStyle.new(name, self)
|
|
26
|
-
|
|
27
|
-
@default_setting.each do |extension|
|
|
28
|
-
@jobs[name].instance_eval(&extension)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
@jobs[name].instance_eval(&block)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def flow(name, &block)
|
|
35
|
-
@jobs[name] = Flow.new(name, self)
|
|
36
|
-
|
|
37
|
-
@default_setting.each do |extension|
|
|
38
|
-
@jobs[name].instance_eval(&extension)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
@jobs[name].instance_eval(&block)
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def pipeline(name, &block)
|
|
45
|
-
@jobs[name] = Pipeline.new(name, self)
|
|
46
|
-
|
|
47
|
-
@default_setting.each do |extension|
|
|
48
|
-
@jobs[name].instance_eval(&extension)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
@jobs[name].instance_eval(&block)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def multi(name, &block)
|
|
55
|
-
@jobs[name] = MultiJob.new(name, self)
|
|
56
|
-
|
|
57
|
-
@default_setting.each do |extension|
|
|
58
|
-
@jobs[name].instance_eval(&extension)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
@jobs[name].instance_eval(&block)
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def view(name, &block)
|
|
65
|
-
@views[name] = View.new(name, self)
|
|
66
|
-
@views[name].instance_eval(&block)
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
def generate_xml
|
|
70
|
-
return unless block_given?
|
|
71
|
-
generator = XmlGenerator.new
|
|
72
|
-
@jobs.each do |name, job|
|
|
73
|
-
yield name, generator.generate(job), :job
|
|
74
|
-
end
|
|
75
|
-
@views.each do |name, job|
|
|
76
|
-
yield name, generator.generate(job), :view
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
1
|
+
require_relative 'freestyle'
|
|
2
|
+
require_relative 'flow'
|
|
3
|
+
require_relative 'pipeline'
|
|
4
|
+
require_relative 'multijob'
|
|
5
|
+
require_relative 'view'
|
|
6
|
+
require_relative 'xml_generator'
|
|
7
|
+
|
|
8
|
+
module JenkinsJob
|
|
9
|
+
# dsl methods for job builder
|
|
10
|
+
class Builder
|
|
11
|
+
attr_reader :jobs, :views
|
|
12
|
+
|
|
13
|
+
def initialize(&block)
|
|
14
|
+
@default_setting = []
|
|
15
|
+
@default_setting << block if block_given?
|
|
16
|
+
@jobs = {}
|
|
17
|
+
@views = {}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def add_extension(&block)
|
|
21
|
+
@default_setting << block if block_given?
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def freestyle(name, &block)
|
|
25
|
+
@jobs[name] = FreeStyle.new(name, self)
|
|
26
|
+
|
|
27
|
+
@default_setting.each do |extension|
|
|
28
|
+
@jobs[name].instance_eval(&extension)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
@jobs[name].instance_eval(&block)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def flow(name, &block)
|
|
35
|
+
@jobs[name] = Flow.new(name, self)
|
|
36
|
+
|
|
37
|
+
@default_setting.each do |extension|
|
|
38
|
+
@jobs[name].instance_eval(&extension)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
@jobs[name].instance_eval(&block)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def pipeline(name, &block)
|
|
45
|
+
@jobs[name] = Pipeline.new(name, self)
|
|
46
|
+
|
|
47
|
+
@default_setting.each do |extension|
|
|
48
|
+
@jobs[name].instance_eval(&extension)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
@jobs[name].instance_eval(&block)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def multi(name, &block)
|
|
55
|
+
@jobs[name] = MultiJob.new(name, self)
|
|
56
|
+
|
|
57
|
+
@default_setting.each do |extension|
|
|
58
|
+
@jobs[name].instance_eval(&extension)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
@jobs[name].instance_eval(&block)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def view(name, &block)
|
|
65
|
+
@views[name] = View.new(name, self)
|
|
66
|
+
@views[name].instance_eval(&block)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def generate_xml
|
|
70
|
+
return unless block_given?
|
|
71
|
+
generator = XmlGenerator.new
|
|
72
|
+
@jobs.each do |name, job|
|
|
73
|
+
yield name, generator.generate(job), :job
|
|
74
|
+
end
|
|
75
|
+
@views.each do |name, job|
|
|
76
|
+
yield name, generator.generate(job), :view
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
module JenkinsJob
|
|
2
|
-
class Pipeline < Common::Common
|
|
3
|
-
attr_reader :name, :groovy_
|
|
4
|
-
|
|
5
|
-
def initialize(name, builder)
|
|
6
|
-
super(builder)
|
|
7
|
-
@name = name
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def groovy(value)
|
|
11
|
-
@groovy_ = value
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def schedule(value)
|
|
15
|
-
@schedule_ = value
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
end
|
|
1
|
+
module JenkinsJob
|
|
2
|
+
class Pipeline < Common::Common
|
|
3
|
+
attr_reader :name, :groovy_, :schedule_
|
|
4
|
+
|
|
5
|
+
def initialize(name, builder)
|
|
6
|
+
super(builder)
|
|
7
|
+
@name = name
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def groovy(value)
|
|
11
|
+
@groovy_ = value
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def schedule(value)
|
|
15
|
+
@schedule_ = value
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -16,6 +16,7 @@ require_relative 'postbuild/trigger'
|
|
|
16
16
|
require_relative 'postbuild/groovy'
|
|
17
17
|
require_relative 'postbuild/cucumber_json_publisher'
|
|
18
18
|
require_relative 'postbuild/slack'
|
|
19
|
+
require_relative 'postbuild/hipchat_notifications'
|
|
19
20
|
require_relative 'buildstep/shell'
|
|
20
21
|
|
|
21
22
|
# dsl methods for job builder
|
|
@@ -117,7 +118,7 @@ module JenkinsJob
|
|
|
117
118
|
slack = PostbuildSlack.new
|
|
118
119
|
slack.instance_eval(&block) if block
|
|
119
120
|
@publishers_['slack'] = slack
|
|
120
|
-
end
|
|
121
|
+
end
|
|
121
122
|
|
|
122
123
|
def cucumber_json_publisher(&block)
|
|
123
124
|
cucumber = CucumberJsonPublisher.new
|
|
@@ -155,6 +156,13 @@ module JenkinsJob
|
|
|
155
156
|
publisher = ClaimPublisher.new
|
|
156
157
|
@publishers_['claim-publisher'] = publisher
|
|
157
158
|
end
|
|
159
|
+
|
|
160
|
+
def hipchat_notifications(&block)
|
|
161
|
+
notifier = HipchatNotifications.new
|
|
162
|
+
notifier.instance_eval(&block) if block
|
|
163
|
+
@publishers_['hipchat_notifications'] = notifier
|
|
164
|
+
end
|
|
165
|
+
alias_method :hipchat, :hipchat_notifications
|
|
158
166
|
end
|
|
159
167
|
end
|
|
160
168
|
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
module JenkinsJob
|
|
2
|
+
module Postbuild
|
|
3
|
+
class HipchatNotifications < BasicObject
|
|
4
|
+
attr_reader :token_, :room_, :notify_start_, :notify_success_,
|
|
5
|
+
:notify_aborted_, :notify_not_built_, :notify_unstable_,
|
|
6
|
+
:notify_failure_, :notify_back_to_normal_, :start_message_,
|
|
7
|
+
:complete_message_
|
|
8
|
+
|
|
9
|
+
def initialize
|
|
10
|
+
@token_ = ''
|
|
11
|
+
@room_ = ''
|
|
12
|
+
@notify_start_ = false
|
|
13
|
+
@notify_success_ = false
|
|
14
|
+
@notify_aborted_ = false
|
|
15
|
+
@notify_not_built_ = false
|
|
16
|
+
@notify_unstable_ = false
|
|
17
|
+
@notify_failure_ = false
|
|
18
|
+
@notify_back_to_normal_ = false
|
|
19
|
+
@start_message_ = ''
|
|
20
|
+
@complete_message_ = ''
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def token(value = '')
|
|
24
|
+
@token_ = value
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def room(value = '')
|
|
28
|
+
@room_ = value
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def notify_start(value)
|
|
32
|
+
@notify_start_ = value
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def notify_success(value)
|
|
36
|
+
@notify_success_ = value
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def notify_aborted(value)
|
|
40
|
+
@notify_aborted_ = value
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def notify_not_built(value)
|
|
44
|
+
@notify_not_built_ = value
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def notify_unstable(value)
|
|
48
|
+
@notify_unstable_ = value
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def notify_failure(value)
|
|
52
|
+
@notify_failure_ = value
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def notify_back_to_normal(value)
|
|
56
|
+
@notify_back_to_normal_ = value
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def start_message(value)
|
|
60
|
+
@start_message_ = value
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def complete_message(value)
|
|
64
|
+
@complete_message_ = value
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -1,77 +1,76 @@
|
|
|
1
|
-
module JenkinsJob
|
|
2
|
-
module Postbuild
|
|
3
|
-
class PostbuildSlack < BasicObject
|
|
4
|
-
attr_reader :base_url_, :auth_token_, :start_notification_, :notify_success_, :notify_aborted_,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def initialize
|
|
10
|
-
@start_notification_ = false
|
|
11
|
-
@notify_success_ = false
|
|
12
|
-
@notify_aborted_ = false
|
|
13
|
-
@notify_not_built_ = false
|
|
14
|
-
@notify_unstable_ = false
|
|
15
|
-
@notify_regression_ = false
|
|
16
|
-
@notify_failure_ = false
|
|
17
|
-
@notify_back_to_normal_ = false
|
|
18
|
-
@notify_repeated_failure_ = false
|
|
19
|
-
@include_test_summary_ = false
|
|
20
|
-
@include_failed_tests_ = false
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def base_url(value)
|
|
24
|
-
@base_url_ = value
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def auth_token(value)
|
|
28
|
-
@auth_token_ = value
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def start_notification(value = false)
|
|
32
|
-
@start_notification_ = value
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def notify_success(value = false)
|
|
36
|
-
@notify_success_ = value
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def notify_aborted(value = false)
|
|
40
|
-
@notify_aborted_ = value
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def notify_not_built(value = false)
|
|
44
|
-
@notify_not_built_ = value
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def notify_unstable(value = false)
|
|
48
|
-
@notify_unstable_ = value
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def notify_regression(value = false)
|
|
52
|
-
@notify_regression_ = value
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def notify_failure(value = false)
|
|
56
|
-
@notify_failure_ = value
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def notify_back_to_normal(value = false)
|
|
60
|
-
@notify_back_to_normal_ = value
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def notify_repeated_failure(value = false)
|
|
64
|
-
@notify_repeated_failure_ = value
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def include_test_summary(value = false)
|
|
68
|
-
@include_test_summary_ = value
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def include_failed_tests(value = false)
|
|
72
|
-
@include_failed_tests_ = value
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
end
|
|
1
|
+
module JenkinsJob
|
|
2
|
+
module Postbuild
|
|
3
|
+
class PostbuildSlack < BasicObject
|
|
4
|
+
attr_reader :base_url_, :auth_token_, :start_notification_, :notify_success_, :notify_aborted_,
|
|
5
|
+
:notify_not_built_, :notify_unstable_, :notify_regression_, :notify_failure_,
|
|
6
|
+
:notify_back_to_normal_, :notify_repeated_failure_, :include_test_summary_,
|
|
7
|
+
:include_failed_tests_
|
|
8
|
+
|
|
9
|
+
def initialize
|
|
10
|
+
@start_notification_ = false
|
|
11
|
+
@notify_success_ = false
|
|
12
|
+
@notify_aborted_ = false
|
|
13
|
+
@notify_not_built_ = false
|
|
14
|
+
@notify_unstable_ = false
|
|
15
|
+
@notify_regression_ = false
|
|
16
|
+
@notify_failure_ = false
|
|
17
|
+
@notify_back_to_normal_ = false
|
|
18
|
+
@notify_repeated_failure_ = false
|
|
19
|
+
@include_test_summary_ = false
|
|
20
|
+
@include_failed_tests_ = false
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def base_url(value)
|
|
24
|
+
@base_url_ = value
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def auth_token(value)
|
|
28
|
+
@auth_token_ = value
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def start_notification(value = false)
|
|
32
|
+
@start_notification_ = value
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def notify_success(value = false)
|
|
36
|
+
@notify_success_ = value
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def notify_aborted(value = false)
|
|
40
|
+
@notify_aborted_ = value
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def notify_not_built(value = false)
|
|
44
|
+
@notify_not_built_ = value
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def notify_unstable(value = false)
|
|
48
|
+
@notify_unstable_ = value
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def notify_regression(value = false)
|
|
52
|
+
@notify_regression_ = value
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def notify_failure(value = false)
|
|
56
|
+
@notify_failure_ = value
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def notify_back_to_normal(value = false)
|
|
60
|
+
@notify_back_to_normal_ = value
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def notify_repeated_failure(value = false)
|
|
64
|
+
@notify_repeated_failure_ = value
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def include_test_summary(value = false)
|
|
68
|
+
@include_test_summary_ = value
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def include_failed_tests(value = false)
|
|
72
|
+
@include_failed_tests_ = value
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|