lenza-notifier 1.0.1 → 1.2.0
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/CHANGELOG.md +8 -0
- data/README.md +20 -1
- data/lib/lenza/capistrano/tasks/lenza_notification.rake +48 -0
- data/lib/lenza/capistrano.rb +1 -0
- data/lib/lenza/config.rb +1 -1
- data/lib/lenza/notifier.rb +5 -2
- data/lib/lenza/version.rb +1 -1
- metadata +22 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 529cb1c069b40190fe1fb7cc1dd5d62769ef3823aed9446c7bf355af72f2198a
|
|
4
|
+
data.tar.gz: 23b33bf33eb5e42b3348a25e4786537b59b60fc561cf0d280455e24e6f01f21e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2865368e5aa2276dd87e52f7249d3e1053e80ca93a6ba3d2c2564f81ecbe2114e16b7eba4059eddb42ecdb6dd99ac07ffd9a051fd16672bdc7f34ccb8755e17f
|
|
7
|
+
data.tar.gz: 00616a6361e4ab913c97b88ebabf6a586b805099025ffbcd6853bdfd817315bd61bd1b54f51e10eabd4e8adc19b47cfa2e9671659b59c06905fe4d0db48f0270
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
### 1.2.0 (18.09.2025)
|
|
2
|
+
|
|
3
|
+
* Возможность проверки SSL-сертификатов при отправке запроса.
|
|
4
|
+
|
|
5
|
+
### 1.1.0 (22.04.2025)
|
|
6
|
+
|
|
7
|
+
* Возможность настройки уведомлений об обновлениях через Capistrano.
|
|
8
|
+
|
|
1
9
|
### 1.0.0 (20.01.2025)
|
|
2
10
|
|
|
3
11
|
* Базовая логика конфигурирования и отправки сообщений.
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Lenza Notifier
|
|
2
2
|
[](https://badge.fury.io/rb/lenza-notifier)
|
|
3
3
|
|
|
4
|
-
Ruby-гем для отправки сообщений в каналы мессенджера Lenza с помощью вебхуков.
|
|
4
|
+
Ruby-гем для отправки сообщений в каналы мессенджера [Lenza](https://lenzaos.com/) с помощью вебхуков.
|
|
5
5
|
|
|
6
6
|

|
|
7
7
|
|
|
@@ -44,3 +44,22 @@ end
|
|
|
44
44
|
```ruby
|
|
45
45
|
Lenza::Notifier.new.ping('Привет!')
|
|
46
46
|
```
|
|
47
|
+
|
|
48
|
+
## Capistrano
|
|
49
|
+
|
|
50
|
+
Для уведомлений о процессах обновления с помощью Capistrano добавьте в Capfile:
|
|
51
|
+
|
|
52
|
+
```ruby
|
|
53
|
+
require 'lenza/capistrano'
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
А также задайте URL вебхука в `config/deploy.rb` или конфигурации для среды Capistrano:
|
|
57
|
+
|
|
58
|
+
```ruby
|
|
59
|
+
set :lenza, {
|
|
60
|
+
webhook_url: ENV['LENZA_WEBHOOK_URL']
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
Во время процесса обновления и после его успешного (или неуспешного) завершения в канал Lenza отправятся сообщения, пример:
|
|
64
|
+
|
|
65
|
+
<img src="capistrano-msg.png" width="450">
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require 'lenza-notifier'
|
|
2
|
+
|
|
3
|
+
namespace :lenza do
|
|
4
|
+
namespace :deploy do
|
|
5
|
+
|
|
6
|
+
desc 'Уведомление о запуске обновления'
|
|
7
|
+
task :start do
|
|
8
|
+
message = "Запуск обновления [b]#{fetch(:application)}[/b]"
|
|
9
|
+
|
|
10
|
+
if !fetch(:stage).nil? && fetch(:stage) != ''
|
|
11
|
+
message += " в среде [b]#{fetch(:stage)}[/b]"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Lenza::Notifier.new(fetch(:lenza)[:webhook_url]).ping(message)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
desc 'Уведомление об успешном обновлении'
|
|
18
|
+
task :success do
|
|
19
|
+
message = "Обновление [b]#{fetch(:application)}[/b]"
|
|
20
|
+
|
|
21
|
+
if !fetch(:stage).nil? && fetch(:stage) != ''
|
|
22
|
+
message += " в среде [b]#{fetch(:stage)}[/b]"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
message += ' прошло успешно'
|
|
26
|
+
|
|
27
|
+
Lenza::Notifier.new(fetch(:lenza)[:webhook_url]).ping(message)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
desc 'Уведомление о неуспешном обновлении'
|
|
31
|
+
task :fail do
|
|
32
|
+
message = "При обновлении [b]#{fetch(:application)}[/b]"
|
|
33
|
+
|
|
34
|
+
if !fetch(:stage).nil? && fetch(:stage) != ''
|
|
35
|
+
message += " в среде [b]#{fetch(:stage)}[/b]"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
message += ' произошла ошибка'
|
|
39
|
+
|
|
40
|
+
Lenza::Notifier.new(fetch(:lenza)[:webhook_url]).ping(message)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
before 'deploy:starting', 'lenza:deploy:start'
|
|
47
|
+
after 'deploy:finishing', 'lenza:deploy:success'
|
|
48
|
+
after 'deploy:failed', 'lenza:deploy:fail'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
load File.expand_path('../capistrano/tasks/lenza_notification.rake', __FILE__)
|
data/lib/lenza/config.rb
CHANGED
data/lib/lenza/notifier.rb
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
require 'net/http'
|
|
2
|
+
|
|
1
3
|
module Lenza
|
|
2
4
|
class Notifier
|
|
3
5
|
|
|
4
6
|
def initialize(webhook_url = nil)
|
|
5
7
|
url = Lenza::Config.webhook_url || webhook_url
|
|
8
|
+
@verify_ssl = Lenza::Config.verify_ssl || OpenSSL::SSL::VERIFY_PEER
|
|
6
9
|
|
|
7
|
-
if url.
|
|
10
|
+
if url == '' || url.nil?
|
|
8
11
|
raise StandardError.new('URL вебхука отсутствует')
|
|
9
12
|
end
|
|
10
13
|
|
|
@@ -18,7 +21,7 @@ module Lenza
|
|
|
18
21
|
request.body = JSON.dump(message:)
|
|
19
22
|
|
|
20
23
|
# отправка запроса
|
|
21
|
-
response = Net::HTTP.start(@uri.hostname, @uri.port, use_ssl: true) do |http|
|
|
24
|
+
response = Net::HTTP.start(@uri.hostname, @uri.port, use_ssl: true, verify_mode: @verify_ssl) do |http|
|
|
22
25
|
http.request(request)
|
|
23
26
|
end
|
|
24
27
|
|
data/lib/lenza/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lenza-notifier
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Павел Бабин
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
12
|
-
dependencies:
|
|
11
|
+
date: 2025-09-18 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: net-http
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
13
27
|
description: Ruby-wrapper для отправки сообщений в мессенджере Lenza с помощью вебхуков
|
|
14
28
|
email: babin359@icloud.com
|
|
15
29
|
executables: []
|
|
@@ -19,6 +33,8 @@ files:
|
|
|
19
33
|
- CHANGELOG.md
|
|
20
34
|
- README.md
|
|
21
35
|
- lib/lenza-notifier.rb
|
|
36
|
+
- lib/lenza/capistrano.rb
|
|
37
|
+
- lib/lenza/capistrano/tasks/lenza_notification.rake
|
|
22
38
|
- lib/lenza/config.rb
|
|
23
39
|
- lib/lenza/notifier.rb
|
|
24
40
|
- lib/lenza/version.rb
|
|
@@ -31,7 +47,7 @@ metadata:
|
|
|
31
47
|
changelog_uri: https://gitverse.ru/babin/lenza-notifier/content/master/CHANGELOG.md
|
|
32
48
|
source_code_uri: https://gitverse.ru/babin/lenza-notifier
|
|
33
49
|
bug_tracker_uri: https://gitverse.ru/babin/lenza-notifier/tasktracker
|
|
34
|
-
post_install_message:
|
|
50
|
+
post_install_message:
|
|
35
51
|
rdoc_options: []
|
|
36
52
|
require_paths:
|
|
37
53
|
- lib
|
|
@@ -47,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
47
63
|
version: '0'
|
|
48
64
|
requirements: []
|
|
49
65
|
rubygems_version: 3.3.3
|
|
50
|
-
signing_key:
|
|
66
|
+
signing_key:
|
|
51
67
|
specification_version: 4
|
|
52
68
|
summary: Ruby-wrapper для отправки сообщений в мессенджере Lenza с помощью вебхуков
|
|
53
69
|
test_files: []
|