lita-github-pinger 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/lita/handlers/github_pinger.rb +31 -12
- data/lita-github-pinger.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a7a8963fc1e132d23b423e867bec4ce1ba1de85
|
4
|
+
data.tar.gz: 6b610f7318532b20c484532862b383f06444aa77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 407f6aa43001fcd9871ab1dbbb8a43dffb425901d7246dcc27181ddf46a51ff78084de7b58a0a24801c59b80767c45a6895bc29a4ebce4f35a4d24de29e1c491
|
7
|
+
data.tar.gz: cba4f864b8abd8e84beaa0db6379e977160dff5280774c68a5e3642e08c3edd86419d622d6bcb411a7f8a0455fecce7a8ba03b708bdffdc2770709ecacd407f5
|
@@ -6,28 +6,47 @@ module Lita
|
|
6
6
|
|
7
7
|
route(/@(\w*)/, :detect_comment, command: false)
|
8
8
|
|
9
|
+
http.get "/ghping", :ghping
|
10
|
+
|
11
|
+
def ghping(request, response)
|
12
|
+
room = Lita::Room.fuzzy_find("eng")
|
13
|
+
source = Lita::Source.new(room: room)
|
14
|
+
robot.send_message(source, "I just got pinged at /ghping!")
|
15
|
+
response.body << "Hello, #{request.user_agent}!"
|
16
|
+
end
|
17
|
+
|
18
|
+
def send_dm(username, content)
|
19
|
+
if user = Lita::User.fuzzy_find(eng[:slack])
|
20
|
+
source = Lita::Source.new(user: user)
|
21
|
+
robot.send_message(source, "New PR comment! #{message.message.body}")
|
22
|
+
else
|
23
|
+
puts "Could not find user with name #{username}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
9
27
|
def detect_comment(message)
|
10
28
|
return unless message.user.metadata["name"] == "" # Integrations don't have names
|
11
29
|
mentioned_username = message.matches[0][0]
|
12
30
|
|
13
|
-
|
14
|
-
found = config.engineers.any? do |eng|
|
31
|
+
config.engineers.each do |eng|
|
15
32
|
if eng[:github] == mentioned_username
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
robot.send_message(source, "New PR comment! #{message.message.body}")
|
22
|
-
else
|
33
|
+
|
34
|
+
case eng[:preference]
|
35
|
+
when "dm"
|
36
|
+
send_dm(eng[:slack], message.message.body)
|
37
|
+
when "eng_pr", "eng-pr"
|
23
38
|
message.reply(eng[:slack] + ": " + message.message.body)
|
39
|
+
when "off"
|
40
|
+
return
|
41
|
+
else
|
42
|
+
send_dm(eng[:slack], message.message.body)
|
24
43
|
end
|
44
|
+
|
45
|
+
return
|
25
46
|
end
|
26
47
|
end
|
27
48
|
|
28
|
-
|
29
|
-
message.reply("Could not find a slack username for #{pr_owner}. Please configure everbot to include this username.")
|
30
|
-
end
|
49
|
+
message.reply("Could not find a slack username for #{mentioned_username}. Please configure everbot to include this username.")
|
31
50
|
end
|
32
51
|
end
|
33
52
|
|
data/lita-github-pinger.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "lita-github-pinger"
|
3
|
-
spec.version = "0.2.
|
3
|
+
spec.version = "0.2.3"
|
4
4
|
spec.authors = ["Taylor Lapeyre"]
|
5
5
|
spec.email = ["taylorlapeyre@gmail.com"]
|
6
6
|
spec.description = "A Lita handler that detects github comment notifications and regurgitates a ping to the correct slack username."
|