agile_notifier 1.0 → 1.1
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/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
|