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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d58d90d84b9afb75ad4d9f823cc7aaa5a70c6f2a
4
- data.tar.gz: e60fff0f076080afa0b6f45cec21574692fd5f7c
3
+ metadata.gz: 0a1407bbf8b606b2623a052d52055df8cc7b36bb
4
+ data.tar.gz: 81a5347837440d5955545f6fc3f74bc6b1e69ffe
5
5
  SHA512:
6
- metadata.gz: 3db7ce926a979e201219dbb021e5335c3396feeeb6f280318385ca98bec7ce749be8beb74cf37be979a39b1c820fef5ab23e1207c35d8600b6c8521d7a4851a8
7
- data.tar.gz: 7292420d05d6d461984c502fe90c5b3f4d2393930c6343249d57accd9a0c88dba8a73d10c290c212ce00e863e49dbadbb1efa93f6eb3a62f52620468dcab0009
6
+ metadata.gz: f06468179a1d516d756972e6eae955ffa1d340284b415e2bd588950cd42eb7db164b2a9edb9e81a2d69fbb5029490947991bd58dc17e41009866e410aa25a8f9
7
+ data.tar.gz: c193cbf26a18f3d8b1a73591cb95dd85b4bb31340d3db76790955e5ccdb7a603b9ebf7aee6e5b1eb5d9566aade7a2c567fc7ce7bfe0d0c348b593ec5bf1e3ba5
data/.travis.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 2.2.0
3
4
  - 2.1.0
4
5
  - 2.0.0
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, ->{ "*ERROR!* #{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :rails_env, 'production'}." }
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
- text: fetch(:slack_msg_starting)
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
- text: fetch(:slack_msg_finished)
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
- text: fetch(:slack_msg_failed),
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, ->{ "*ERROR!* #{ENV['USER'] || ENV['USERNAME']} failed to deploy branch #{fetch :branch} of #{fetch :application} to #{fetch :stage, 'an unknown stage'}." }
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
@@ -1,3 +1,3 @@
1
1
  module Slackistrano
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -11,6 +11,5 @@ require 'rspec'
11
11
  Dir['#{File.dirname(__FILE__)}/support/**/*.rb'].each {|f| require f}
12
12
 
13
13
  RSpec.configure do |config|
14
- config.treat_symbols_as_metadata_keys_with_true_values = true
15
14
  config.order = 'random'
16
15
  end
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
- %w[starting finished failed].each do |stage|
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}".to_sym, ->{ true }
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}".to_sym, ->{ 'text message' }
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
- text: 'text message'
62
+ attachments: [attachment]
60
63
  }
61
64
  )
62
65
  Rake::Task["slack:deploy:#{stage}"].execute
63
66
  end
64
- end # of stage loop
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
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-01-07 00:00:00.000000000 Z
11
+ date: 2015-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano