opsgenie 0.0.2
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 +7 -0
- data/lib/opsgenie.rb +51 -0
- metadata +72 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 93152f74eb89b198aaaf0d6d30df5f923cca29d5
|
4
|
+
data.tar.gz: 90f13fb9ec9ea29f7103854fbaaa9a2d94a82ad9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1c0c02567b1a031b629fe130907bd859d06cb2780d2df20583900677d1b9baa22eb6ba7838d7e4d7eb7ec11f6daef242d45cc242ee4669854ea0fbad606d196d
|
7
|
+
data.tar.gz: 0d168fdc7e5cf7eef5d05e7ae41e733cbcbfc0903166fc3274649223078cc572bf2d0f5824f7ad9475e627330eb034f9310ad2522eb6b3380bd602d0addff6da
|
data/lib/opsgenie.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "rubygems"
|
4
|
+
require "json"
|
5
|
+
require "net/http"
|
6
|
+
require "uri"
|
7
|
+
|
8
|
+
class Opsgenie
|
9
|
+
|
10
|
+
def initialize(api_key)
|
11
|
+
@api_key = api_key
|
12
|
+
@url_prefix = 'https://api.opsgenie.com/v1/json/alert'
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.fetch_json(uri, params, req_type)
|
16
|
+
uri = URI(uri)
|
17
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
18
|
+
https.use_ssl = true
|
19
|
+
begin
|
20
|
+
if req_type=='post'
|
21
|
+
res = https.post(uri.path, params)
|
22
|
+
else
|
23
|
+
uri.query = URI.encode_www_form(params) if params
|
24
|
+
res = Net::HTTP.get_response(uri)
|
25
|
+
end
|
26
|
+
if res.is_a?(Net::HTTPSuccess)
|
27
|
+
return JSON.parse(res.body)
|
28
|
+
else
|
29
|
+
return false
|
30
|
+
end
|
31
|
+
rescue
|
32
|
+
return false
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
def send_alert message
|
38
|
+
params = "{ \"apiKey\":\"#{@api_key}\", \"message\":\"#{message}\" }"
|
39
|
+
response = Opsgenie.fetch_json(@url_prefix, params, 'post')
|
40
|
+
return response==false ? 'Alert could not be generated.':'Alert generated.'
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_alert
|
44
|
+
puts "Testing alert service."
|
45
|
+
params = "{ \"apiKey\":\"#{@api_key}\", \"message\":\"testalert\" }"
|
46
|
+
response = Opsgenie.fetch_json(@url_prefix, params, 'post')
|
47
|
+
return response==false ? 'Alert could not be generated.':'Alert generated.'
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
metadata
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: opsgenie
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Shivam Bajpai
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-05-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: json
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.8.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.8.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: byebug
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 4.0.5
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 4.0.5
|
41
|
+
description: A gem to use opsgenie APIs with ruby
|
42
|
+
email: email4shivam@gmail.com
|
43
|
+
executables: []
|
44
|
+
extensions: []
|
45
|
+
extra_rdoc_files: []
|
46
|
+
files:
|
47
|
+
- lib/opsgenie.rb
|
48
|
+
homepage: http://rubygems.org/gems/opsgenie
|
49
|
+
licenses:
|
50
|
+
- MIT
|
51
|
+
metadata: {}
|
52
|
+
post_install_message:
|
53
|
+
rdoc_options: []
|
54
|
+
require_paths:
|
55
|
+
- lib
|
56
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
requirements: []
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 2.4.6
|
69
|
+
signing_key:
|
70
|
+
specification_version: 4
|
71
|
+
summary: Opsgenie API integration!
|
72
|
+
test_files: []
|