slackistrano 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/README.md +3 -3
- data/lib/slackistrano/tasks/slack.rake +14 -6
- data/lib/slackistrano/version.rb +1 -1
- data/spec/spec_helper.rb +0 -1
- data/spec/tasks_spec.rb +20 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a1407bbf8b606b2623a052d52055df8cc7b36bb
|
4
|
+
data.tar.gz: 81a5347837440d5955545f6fc3f74bc6b1e69ffe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f06468179a1d516d756972e6eae955ffa1d340284b415e2bd588950cd42eb7db164b2a9edb9e81a2d69fbb5029490947991bd58dc17e41009866e410aa25a8f9
|
7
|
+
data.tar.gz: c193cbf26a18f3d8b1a73591cb95dd85b4bb31340d3db76790955e5ccdb7a603b9ebf7aee6e5b1eb5d9566aade7a2c567fc7ce7bfe0d0c348b593ec5bf1e3ba5
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -58,9 +58,9 @@ Optionally, override the other slack settings:
|
|
58
58
|
set :slack_run_starting, ->{ true }
|
59
59
|
set :slack_run_finished, ->{ true }
|
60
60
|
set :slack_run_failed, ->{ true }
|
61
|
-
set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}
|
62
|
-
set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}
|
63
|
-
set :slack_msg_failed, ->{ "
|
61
|
+
set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}" }
|
62
|
+
set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}" }
|
63
|
+
set :slack_msg_failed, ->{ "#{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}" }
|
64
64
|
|
65
65
|
**Note**: You may wish to disable one of the notifications if another service (ex:
|
66
66
|
Honeybadger) also displays a deploy notification.
|
@@ -15,7 +15,9 @@ namespace :slack do
|
|
15
15
|
username: fetch(:slack_username),
|
16
16
|
icon_url: fetch(:slack_icon_url),
|
17
17
|
icon_emoji: fetch(:slack_icon_emoji),
|
18
|
-
|
18
|
+
attachments: [{
|
19
|
+
text: fetch(:slack_msg_starting)
|
20
|
+
}]
|
19
21
|
}
|
20
22
|
)
|
21
23
|
end
|
@@ -35,7 +37,10 @@ namespace :slack do
|
|
35
37
|
username: fetch(:slack_username),
|
36
38
|
icon_url: fetch(:slack_icon_url),
|
37
39
|
icon_emoji: fetch(:slack_icon_emoji),
|
38
|
-
|
40
|
+
attachments: [{
|
41
|
+
color: 'good',
|
42
|
+
text: fetch(:slack_msg_finished)
|
43
|
+
}]
|
39
44
|
}
|
40
45
|
)
|
41
46
|
end
|
@@ -55,7 +60,10 @@ namespace :slack do
|
|
55
60
|
username: fetch(:slack_username),
|
56
61
|
icon_url: fetch(:slack_icon_url),
|
57
62
|
icon_emoji: fetch(:slack_icon_emoji),
|
58
|
-
|
63
|
+
attachments: [{
|
64
|
+
color: 'danger',
|
65
|
+
text: fetch(:slack_msg_failed)
|
66
|
+
}]
|
59
67
|
}
|
60
68
|
)
|
61
69
|
end
|
@@ -84,8 +92,8 @@ namespace :load do
|
|
84
92
|
set :slack_run_starting, ->{ true } # Set to false to disable starting message.
|
85
93
|
set :slack_run_finished, ->{ true } # Set to false to disable finished message.
|
86
94
|
set :slack_run_failed, ->{ true } # Set to false to disable failure message.
|
87
|
-
set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}
|
88
|
-
set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}
|
89
|
-
set :slack_msg_failed, ->{ "
|
95
|
+
set :slack_msg_starting, ->{ "#{ENV['USER'] || ENV['USERNAME']} has started deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}" }
|
96
|
+
set :slack_msg_finished, ->{ "#{ENV['USER'] || ENV['USERNAME']} has finished deploying branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}" }
|
97
|
+
set :slack_msg_failed, ->{ "#{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}" }
|
90
98
|
end
|
91
99
|
end
|
data/lib/slackistrano/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/spec/tasks_spec.rb
CHANGED
@@ -23,8 +23,7 @@ describe Slackistrano do
|
|
23
23
|
Rake::Task['deploy:failed'].execute
|
24
24
|
end
|
25
25
|
|
26
|
-
|
27
|
-
|
26
|
+
shared_examples_for "slack notification" do |stage, color = nil|
|
28
27
|
it "posts to slack on slack:deploy:#{stage}" do
|
29
28
|
set "slack_run_#{stage}".to_sym, ->{ true }
|
30
29
|
expect(Slackistrano).to receive :post
|
@@ -38,14 +37,18 @@ describe Slackistrano do
|
|
38
37
|
end
|
39
38
|
|
40
39
|
it "calls Slackistrano.post with all the right arguments on slack:deploy:#{stage}" do
|
41
|
-
set "slack_run_#{stage}"
|
40
|
+
set :"slack_run_#{stage}", ->{ true }
|
42
41
|
set :slack_team, ->{ 'team' }
|
43
42
|
set :slack_token, ->{ 'token' }
|
44
43
|
set :slack_webhook, ->{ 'webhook' }
|
45
44
|
set :slack_channel, ->{ 'channel' }
|
46
45
|
set :slack_icon_url, ->{ 'http://icon.url' }
|
47
46
|
set :slack_icon_emoji, ->{ ':emoji:' }
|
48
|
-
set "slack_msg_#{stage}"
|
47
|
+
set :"slack_msg_#{stage}", ->{ 'text message' }
|
48
|
+
|
49
|
+
attachment = {text: 'text message'}
|
50
|
+
attachment[:color] = color unless color.nil?
|
51
|
+
|
49
52
|
expect(Slackistrano).to receive(:post).with(
|
50
53
|
team: 'team',
|
51
54
|
token: 'token',
|
@@ -56,11 +59,22 @@ describe Slackistrano do
|
|
56
59
|
username: 'Slackistrano',
|
57
60
|
icon_url: 'http://icon.url',
|
58
61
|
icon_emoji: ':emoji:',
|
59
|
-
|
62
|
+
attachments: [attachment]
|
60
63
|
}
|
61
64
|
)
|
62
65
|
Rake::Task["slack:deploy:#{stage}"].execute
|
63
66
|
end
|
64
|
-
end
|
67
|
+
end
|
65
68
|
|
69
|
+
describe 'build is starting' do
|
70
|
+
it_should_behave_like "slack notification", :starting
|
71
|
+
end
|
72
|
+
|
73
|
+
describe 'build has finished' do
|
74
|
+
it_should_behave_like "slack notification", :finished, 'good'
|
75
|
+
end
|
76
|
+
|
77
|
+
describe 'build has failed' do
|
78
|
+
it_should_behave_like "slack notification", :failed, 'danger'
|
79
|
+
end
|
66
80
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slackistrano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philip Hallstrom
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|