generated from tidb-incubator/tidb-template-project
/
event.go
43 lines (37 loc) · 1.18 KB
/
event.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package notify
import (
"fmt"
"log"
"github.com/google/go-github/v32/github"
)
func (n *Notify) ProcessIssuesEvent(event *github.IssuesEvent) {
if event.GetAction() != "opened" {
return
}
preText, text := buildIssueMsg(event)
if err := n.sendMsg(preText, text); err != nil {
log.Println(err)
}
}
func (n *Notify) ProcessIssueCommentEvent(event *github.IssueCommentEvent) {
if event.Issue != nil && event.Issue.PullRequestLinks != nil {
return
}
preText, text := buildIssueCommentMsg(event)
if err := n.sendMsg(preText, text); err != nil {
log.Println(err)
}
}
func buildIssueMsg(event *github.IssuesEvent) (preText, text string) {
issue := event.Issue
preText = fmt.Sprintf("New Issue <%s|%s> by user: <%s|%s>", issue.GetHTMLURL(), issue.GetTitle(), issue.GetUser().GetHTMLURL(), issue.GetUser().GetLogin())
text = issue.GetBody()
return
}
func buildIssueCommentMsg(event *github.IssueCommentEvent) (preText, text string) {
issue := event.Issue
comment := event.Comment
preText = fmt.Sprintf("New comment for <%s|%s> by user: <%s|%s>", comment.GetHTMLURL(), issue.GetTitle(), comment.GetUser().GetHTMLURL(), comment.GetUser().GetLogin())
text = comment.GetBody()
return
}