huginn_netlify_status_agent 0.1 → 0.1.10

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
  SHA256:
3
- metadata.gz: cc23c4b474de38d7e6901238e36db39ccefcd3a67e9505ee8844d72ba4b586f9
4
- data.tar.gz: a493994581897d5d1a52fb8d47c11e6a677b4dedb7d033c5df31ac2cf59eace1
3
+ metadata.gz: 0d80deb05ae4081d6994f47acf1664c34d64364cfb47d5ba93bb535dcddc6564
4
+ data.tar.gz: d6359c3286a6bb5f1e6808289b59753229b337a58c7a8219db93bff8b5754ca9
5
5
  SHA512:
6
- metadata.gz: ce3773b351a36a9efa22fb1be3d8d6701a42961bab77497b0169c6d3654b2fbd180df70ce911873c77c15d037ca9ca64018624d19e41501cdedfced170c491d3
7
- data.tar.gz: bcddbcfcd5ea9242cd95e7308d2cb08170af5ad72e62131426c6c2442200d1afbe4143abb4756272e703f2441226d26c9b27f4bacf30c28a96f6f07661a6b678
6
+ metadata.gz: cd8c8144a877e8b940360b8373a5a58ceff8112bc72c2b93a1aa11e32d203e619349e6681e04f503d37ca13304673d1193fca601e1c4d7c8483bddbcf449e275
7
+ data.tar.gz: 95a6b5c46975c5abde6d5b629cb29f7ce302262b0d4384d6c471d562149518203e6e37a92706dab52afb8790da5d7588917f5b9886288f4df9259b3a2af04eb2
@@ -10,6 +10,8 @@ module Agents
10
10
  The Netlify Agent fetches Netlify services status.
11
11
  I added this agent because with website agent, when indicator is empty for "all ok status", no event was created.
12
12
 
13
+ The `debug` can add verbosity.
14
+
13
15
  `expected_receive_period_in_days` is used to determine if the Agent is working. Set it to the maximum number of days
14
16
  that you anticipate passing without this Agent receiving an incoming Event.
15
17
  MD
@@ -28,6 +30,7 @@ module Agents
28
30
 
29
31
  def default_options
30
32
  {
33
+ 'debug' => 'false',
31
34
  'expected_receive_period_in_days' => '2',
32
35
  'changes_only' => 'true'
33
36
  }
@@ -42,6 +45,10 @@ module Agents
42
45
  errors.add(:base, "if provided, changes_only must be true or false")
43
46
  end
44
47
 
48
+ if options.has_key?('debug') && boolify(options['debug']).nil?
49
+ errors.add(:base, "if provided, debug must be true or false")
50
+ end
51
+
45
52
  unless options['expected_receive_period_in_days'].present? && options['expected_receive_period_in_days'].to_i > 0
46
53
  errors.add(:base, "Please provide 'expected_receive_period_in_days' to indicate how many days can pass before this Agent is considered to be not working")
47
54
  end
@@ -57,26 +64,40 @@ module Agents
57
64
 
58
65
  private
59
66
 
67
+ def log_curl_output(code,body)
68
+
69
+ log "request status : #{code}"
70
+
71
+ if interpolated['debug'] == 'true'
72
+ log "request status : #{code}"
73
+ log "body"
74
+ log body
75
+ end
76
+
77
+ end
78
+
60
79
  def check_status()
61
80
 
62
- uri = URI.parse("https://www.netlifystatus.com/api/v2/status.json")
63
- response = Net::HTTP.get_response(uri)
64
-
65
- log "fetch status request status : #{response.code}"
66
- parsed_json = JSON.parse(response.body)
67
- payload = { :status => { :indicator => "#{parsed_json['status']['indicator']}", :description => "#{parsed_json['status']['description']}" } }
68
-
69
- if interpolated['changes_only'] == 'true'
70
- if payload.to_s != memory['last_status']
71
- memory['last_status'] = payload.to_s
72
- create_event payload: payload
73
- end
74
- else
75
- create_event payload: payload
76
- if payload.to_s != memory['last_status']
77
- memory['last_status'] = payload.to_s
78
- end
81
+ uri = URI.parse("https://www.netlifystatus.com/api/v2/status.json")
82
+ response = Net::HTTP.get_response(uri)
83
+
84
+ log_curl_output(response.code,response.body)
85
+
86
+ payload = JSON.parse(response.body)
87
+ event = payload.dup
88
+ event = { :status => { :name => "#{payload['page']['name']}", :indicator => "#{payload['status']['indicator']}", :description => "#{payload['status']['description']}" } }
89
+
90
+ if interpolated['changes_only'] == 'true'
91
+ if payload != memory['last_status']
92
+ memory['last_status'] = payload
93
+ create_event payload: event
94
+ end
95
+ else
96
+ create_event payload: event
97
+ if payload != memory['last_status']
98
+ memory['last_status'] = payload
79
99
  end
100
+ end
80
101
  end
81
102
  end
82
103
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: huginn_netlify_status_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas Germain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-07 00:00:00.000000000 Z
11
+ date: 2024-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  requirements: []
85
- rubygems_version: 3.1.6
85
+ rubygems_version: 3.3.3
86
86
  signing_key:
87
87
  specification_version: 4
88
88
  summary: Write a short summary, because Rubygems requires one.