agile_notifier 1.0 → 1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/agile_notifier.gemspec +4 -4
- data/lib/agile_notifier/composer.rb +70 -42
- data/lib/agile_notifier/configuration.rb +4 -0
- data/lib/agile_notifier/jenkins.rb +28 -2
- data/lib/agile_notifier/judger.rb +4 -0
- data/lib/agile_notifier/operating_system.rb +4 -4
- data/lib/agile_notifier/trackable.rb +4 -0
- data/lib/agile_notifier.rb +1 -1
- metadata +23 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34504b3a9422b50073c4fe0f45b0dc52ebca9ed8
|
4
|
+
data.tar.gz: 724a67ca83c874eecafd91b99926df5fe5b9bc2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6da9030c1896cc97f6d8299e5f8d18e439e29aae0f291abc31ed59f91c8af43f9f5ef78fa343ee0a7c28624bd088d93ee146c140dd5d2e3ec10f9157f88da80c
|
7
|
+
data.tar.gz: b0aefc03d0fe0c5c8fdeade85bfe0503b2ba660a263c838ba5f5de6da6f7868d79f1ff68174e4388e424b3a3fd05f702b07d4aa6d865ff53ca1a80fce5ba026b
|
data/README.md
CHANGED
data/agile_notifier.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.name = 'agile_notifier'
|
8
8
|
s.version = AgileNotifier::VERSION
|
9
9
|
s.license = 'MIT'
|
10
|
-
s.date = '
|
10
|
+
s.date = '2014-05-06'
|
11
11
|
s.summary = %q{agile_notifier alerts you via making wonderful noises}
|
12
12
|
s.description = %q{agile_notifier alerts you via making wonderful noises, make software development more fun}
|
13
13
|
s.authors = ['Jing Li']
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
17
|
s.homepage = 'https://github.com/thyrlian/AgileNotifier'
|
18
18
|
|
19
|
-
s.add_runtime_dependency('json', '~> 1.8.0')
|
20
|
-
s.add_runtime_dependency('httparty', '~> 0.11.0')
|
21
|
-
s.add_development_dependency('mocha', '~> 0.14.0')
|
19
|
+
s.add_runtime_dependency('json', '~> 1.8.0', '>= 1.8.0')
|
20
|
+
s.add_runtime_dependency('httparty', '~> 0.11.0', '>= 0.11.0')
|
21
|
+
s.add_development_dependency('mocha', '~> 0.14.0', '>= 0.14.0')
|
22
22
|
end
|
@@ -3,51 +3,70 @@
|
|
3
3
|
module AgileNotifier
|
4
4
|
class Composer
|
5
5
|
SENTENCES_BLAME = {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
6
|
+
de: [
|
7
|
+
"%{committer_name} hat den Build kaputt gemacht.",
|
8
|
+
"Schießt %{committer_name} mit der Nerf Gun ab!",
|
9
|
+
"%{committer_name} hat Scheiße gebaut.",
|
10
|
+
"%Hilfe! Hilfe! %{committer_name} versucht mich zu töten!"
|
11
|
+
],
|
12
|
+
en: [
|
13
|
+
"%{committer_name} has broken the build.",
|
14
|
+
"%{committer_name} fucked up the build.",
|
15
|
+
"What the fucking code has %{committer_name} pushed!"
|
16
|
+
],
|
17
|
+
es: [
|
18
|
+
"%{committer_name} ha destruido la compilacion",
|
19
|
+
"que clase de codigo esta escribiendo %{committer_name} ? ",
|
20
|
+
"tal vez es mejor que %{committer_name} se dedique a otra cosa..."
|
21
|
+
],
|
22
|
+
zh: [
|
23
|
+
"%{committer_name}在搞毛啊, 构建失败了!",
|
24
|
+
"%{committer_name}提交的什么烂代码啊?",
|
25
|
+
"请注意, %{committer_name}在搞破坏."
|
26
|
+
]
|
27
|
+
}
|
28
|
+
|
29
|
+
SENTENCES_WARN = {
|
30
|
+
de: [
|
31
|
+
"%{committer_name} hat den Build krank gemacht.",
|
32
|
+
"%{committer_name} hat etwas nicht gut genug gemacht."
|
33
|
+
],
|
34
|
+
en: [
|
35
|
+
"%{committer_name} has made the build sick.",
|
36
|
+
"%{committer_name} has done something not so good."
|
37
|
+
],
|
38
|
+
es: [
|
39
|
+
"%{committer_name} ha hecho a los enfermos de generación.",
|
40
|
+
"%{committer_name} ha hecho algo malo."
|
41
|
+
],
|
42
|
+
zh: [
|
43
|
+
"%{committer_name}让构建生病了.",
|
44
|
+
"%{committer_name}做了一件不太光荣的事."
|
45
|
+
]
|
27
46
|
}
|
28
47
|
|
29
48
|
SENTENCES_PRAISE = {
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
49
|
+
de: [
|
50
|
+
"%{committer_name} hat den Build gefixt!",
|
51
|
+
"%{committer_name} ist ein Genie!",
|
52
|
+
"%{committer_name} hat die Welt gerettet!"
|
53
|
+
],
|
54
|
+
en: [
|
55
|
+
"%{committer_name} has fixed the build.",
|
56
|
+
"%{committer_name} is super brilliant!",
|
57
|
+
"%{committer_name} saved the world.",
|
58
|
+
"%{committer_name} roundhouse kicked chuck norris' butt"
|
59
|
+
],
|
60
|
+
es: [
|
61
|
+
"%{committer_name} ha reparado la compilacion",
|
62
|
+
"%{committer_name} es un genio!",
|
63
|
+
"%{committer_name} es el mejor programador de la historia!"
|
64
|
+
],
|
65
|
+
zh: [
|
66
|
+
"%{committer_name}很厉害啊, 修复了构建.",
|
67
|
+
"%{committer_name}是个好同志, 该涨工资了.",
|
68
|
+
"%{committer_name}是当代活雷锋啊!"
|
69
|
+
]
|
51
70
|
}
|
52
71
|
|
53
72
|
class << self
|
@@ -55,6 +74,11 @@ module AgileNotifier
|
|
55
74
|
committer_name = get_committer_name_of_a_commit(args)
|
56
75
|
blame_committer(committer_name, args[:language])
|
57
76
|
end
|
77
|
+
|
78
|
+
def warn_committer_of_a_commit(args)
|
79
|
+
committer_name = get_committer_name_of_a_commit(args)
|
80
|
+
warn_committer(committer_name, args[:language])
|
81
|
+
end
|
58
82
|
|
59
83
|
def praise_committer_of_a_commit(args)
|
60
84
|
committer_name = get_committer_name_of_a_commit(args)
|
@@ -70,6 +94,10 @@ module AgileNotifier
|
|
70
94
|
def blame_committer(committer_name, language)
|
71
95
|
mention_committer(committer_name, SENTENCES_BLAME[language])
|
72
96
|
end
|
97
|
+
|
98
|
+
def warn_committer(committer_name, language)
|
99
|
+
mention_committer(committer_name, SENTENCES_WARN[language])
|
100
|
+
end
|
73
101
|
|
74
102
|
def praise_committer(committer_name, language)
|
75
103
|
mention_committer(committer_name, SENTENCES_PRAISE[language])
|
@@ -75,7 +75,21 @@ module AgileNotifier
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def get_previous_result
|
78
|
-
get_previous_build
|
78
|
+
previous_build = get_previous_build
|
79
|
+
if previous_build
|
80
|
+
return previous_build.get_result
|
81
|
+
else
|
82
|
+
return nil
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
def is_triggered_manually?
|
87
|
+
previous_build = get_previous_build
|
88
|
+
if previous_build && @revision == previous_build.get_revision
|
89
|
+
return true
|
90
|
+
else
|
91
|
+
return false
|
92
|
+
end
|
79
93
|
end
|
80
94
|
|
81
95
|
def passed?
|
@@ -83,7 +97,19 @@ module AgileNotifier
|
|
83
97
|
end
|
84
98
|
|
85
99
|
def failed?
|
86
|
-
@result == 'FAILURE'
|
100
|
+
if @result == 'FAILURE' && !is_triggered_manually?
|
101
|
+
return true
|
102
|
+
else
|
103
|
+
return false
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
def unstable?
|
108
|
+
if @result == 'UNSTABLE' && !is_triggered_manually?
|
109
|
+
return true
|
110
|
+
else
|
111
|
+
return false
|
112
|
+
end
|
87
113
|
end
|
88
114
|
|
89
115
|
def fixed?
|
@@ -6,6 +6,10 @@ module AgileNotifier
|
|
6
6
|
def on_fail(trackable, text, args)
|
7
7
|
on_condition(trackable.failed?, text, args)
|
8
8
|
end
|
9
|
+
|
10
|
+
def on_unstable(trackable, text, args)
|
11
|
+
on_condition(trackable.unstable?, text, args)
|
12
|
+
end
|
9
13
|
|
10
14
|
def on_pass(trackable, text, args)
|
11
15
|
on_condition(trackable.passed?, text, args)
|
@@ -3,6 +3,10 @@ module AgileNotifier
|
|
3
3
|
def failed?
|
4
4
|
raise(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
|
5
5
|
end
|
6
|
+
|
7
|
+
def unstable?
|
8
|
+
raise(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
|
9
|
+
end
|
6
10
|
|
7
11
|
def passed?
|
8
12
|
raise(NotImplementedError, "Abstract method [#{__method__}] is called, please implement", caller)
|
data/lib/agile_notifier.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: agile_notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jing Li
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.8.0
|
20
|
+
- - '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.8.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,6 +27,9 @@ dependencies:
|
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 1.8.0
|
30
|
+
- - '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.8.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: httparty
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -31,6 +37,9 @@ dependencies:
|
|
31
37
|
- - ~>
|
32
38
|
- !ruby/object:Gem::Version
|
33
39
|
version: 0.11.0
|
40
|
+
- - '>='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.11.0
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -38,6 +47,9 @@ dependencies:
|
|
38
47
|
- - ~>
|
39
48
|
- !ruby/object:Gem::Version
|
40
49
|
version: 0.11.0
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.11.0
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: mocha
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,6 +57,9 @@ dependencies:
|
|
45
57
|
- - ~>
|
46
58
|
- !ruby/object:Gem::Version
|
47
59
|
version: 0.14.0
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.14.0
|
48
63
|
type: :development
|
49
64
|
prerelease: false
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,6 +67,9 @@ dependencies:
|
|
52
67
|
- - ~>
|
53
68
|
- !ruby/object:Gem::Version
|
54
69
|
version: 0.14.0
|
70
|
+
- - '>='
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 0.14.0
|
55
73
|
description: agile_notifier alerts you via making wonderful noises, make software
|
56
74
|
development more fun
|
57
75
|
email:
|
@@ -97,17 +115,17 @@ require_paths:
|
|
97
115
|
- lib
|
98
116
|
required_ruby_version: !ruby/object:Gem::Requirement
|
99
117
|
requirements:
|
100
|
-
- -
|
118
|
+
- - '>='
|
101
119
|
- !ruby/object:Gem::Version
|
102
120
|
version: '0'
|
103
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
122
|
requirements:
|
105
|
-
- -
|
123
|
+
- - '>='
|
106
124
|
- !ruby/object:Gem::Version
|
107
125
|
version: '0'
|
108
126
|
requirements: []
|
109
127
|
rubyforge_project:
|
110
|
-
rubygems_version: 2.
|
128
|
+
rubygems_version: 2.2.2
|
111
129
|
signing_key:
|
112
130
|
specification_version: 4
|
113
131
|
summary: agile_notifier alerts you via making wonderful noises
|