@@ -22,65 +22,79 @@ extractMentionsFromBody = (body) ->
22
22
else
23
23
" "
24
24
25
+ formatUrl = (adapter , url , text ) ->
26
+ switch adapter
27
+ when " mattermost" || " slack"
28
+ " <#{ url} |#{ text} >"
29
+ else
30
+ url
31
+
25
32
module .exports =
26
- commit_comment : (data , callback ) ->
33
+ commit_comment : (adapter , data , callback ) ->
27
34
comment = data .comment
28
35
repo = data .repository
36
+ repo_link = formatUrl adapter, repo .html_url , repo .name
37
+ commit_link = formatUrl adapter, comment .html_url , comment .commit_id
29
38
30
- callback " New comment by #{ comment .user .login }
31
- on Commit #{ comment .commit_id } : #{ comment .body } - #{ comment .html_url } "
39
+ callback " [#{ repo_link} ] New comment by #{ comment .user .login } on commit #{ commit_link} : \n\" #{ comment .body } \" "
32
40
33
- create : (data , callback ) ->
41
+ create : (adapter , data , callback ) ->
34
42
repo = data .repository
43
+ repo_link = formatUrl adapter, repo .html_url , repo .name
35
44
ref_type = data .ref_type
36
45
ref = data .ref
37
46
38
- callback " New #{ ref_type} #{ ref} created on #{ repo . full_name } "
47
+ callback " [ #{ repo_link } ] New #{ ref_type} #{ ref} created"
39
48
40
- delete : (data , callback ) ->
49
+ delete : (adapter , data , callback ) ->
41
50
repo = data .repository
51
+ repo_link = formatUrl adapter, repo .html_url , repo .name
42
52
ref_type = data .ref_type
43
53
44
54
ref = data .ref .split (' refs/heads/' ).join (' ' )
45
55
46
- callback " #{ ref_type } #{ ref } deleted on #{ repo . full_name } "
56
+ callback " [ #{ repo_link } ] #{ ref_type } #{ ref } deleted "
47
57
48
- deployment : (data , callback ) ->
58
+ deployment : (adapter , data , callback ) ->
49
59
deploy = data .deployment
50
60
repo = data .repository
51
61
52
62
callback " New deployment #{ deploy .id } from: #{ repo .full_name } to: #{ deploy .environment } started by: #{ deploy .creator .login } "
53
63
54
- deployment_status : (data , callback ) ->
64
+ deployment_status : (adapter , data , callback ) ->
55
65
deploy = data .deployment
56
66
deploy_status = data .deployment_status
57
67
repo = data .repository
58
68
59
69
callback " Deployment #{ deploy .id } from: #{ repo .full_name } to: #{ deploy .environment } - #{ deploy_status .state } by #{ deploy .status .creator .login } "
60
70
61
- fork : (data , callback ) ->
71
+ fork : (adapter , data , callback ) ->
62
72
forkee = data .forkee
63
73
repo = data .repository
74
+ repo_link = formatUrl adapter, repo .html_url , repo .name
64
75
65
- callback " #{ repo . full_name } forked by #{ forkee .owner .login } "
76
+ callback " #{ repo_link } forked by #{ forkee .owner .login } "
66
77
67
78
# Needs to handle more then just one page
68
- gollum : (data , callback ) ->
79
+ gollum : (adapter , data , callback ) ->
69
80
pages = data .pages
70
81
repo = data .repository
82
+ repo_link = formatUrl adapter, repo .html_url , repo .name
71
83
sender = data .sender
72
84
73
85
page = pages[0 ]
74
86
75
- callback " Wiki page: #{ page .page_name } #{ page .action } on #{ repo . full_name } by #{ sender .login } "
87
+ callback " [ #{ repo_link } ] Wiki page: #{ page .page_name } #{ page .action } by #{ sender .login } "
76
88
77
- issues : (data , callback ) ->
89
+ issues : (adapter , data , callback ) ->
78
90
issue = data .issue
79
91
repo = data .repository
92
+ repo_link = formatUrl adapter, repo .html_url , repo .name
93
+ issue_link = formatUrl adapter, issue .html_url , " ##{ issue .number } \" #{ issue .title } \" "
80
94
action = data .action
81
95
sender = data .sender
82
96
83
- msg = " Issue \# #{ issue . number } \" #{ issue . title } \" "
97
+ msg = " [ #{ repo_link } ] Issue #{ issue_link } "
84
98
85
99
switch action
86
100
when " assigned"
@@ -98,36 +112,38 @@ module.exports =
98
112
when " unlabeled"
99
113
msg += " #{ sender .login } removed label: \" #{ data .label .name } \" "
100
114
101
- callback msg + " - #{ issue . html_url } "
115
+ callback msg
102
116
103
- issue_comment : (data , callback ) ->
117
+ issue_comment : (adapter , data , callback ) ->
104
118
issue = data .issue
105
119
comment = data .comment
106
120
repo = data .repository
121
+ repo_link = formatUrl adapter, repo .html_url , repo .name
122
+ comment_link = formatUrl adapter, comment .html_url , " #{ issue_pull} ##{ issue .number } "
107
123
108
124
issue_pull = " Issue"
109
125
110
126
if comment .html_url .indexOf (" /pull/" ) > - 1
111
127
issue_pull = " Pull Request"
112
128
113
- callback " New Comment on #{ issue_pull } \# #{ issue . number } by #{ comment .user .login } : \" #{ comment .body } \" - #{ comment . html_url } "
129
+ callback " [ #{ repo_link } ] New comment on #{ comment_link } by #{ comment .user .login } : \n\ " #{ comment .body } \" "
114
130
115
- member : (data , callback ) ->
131
+ member : (adapter , data , callback ) ->
116
132
member = data .member
117
133
repo = data .repository
118
134
119
135
callback " Member #{ member .login } #{ data .action } from #{ repo .full_name } "
120
136
121
137
# Org level event
122
- membership : (data , callback ) ->
138
+ membership : (adapter , data , callback ) ->
123
139
scope = data .scope
124
140
member = data .member
125
141
team = data .team
126
142
org = data .organization
127
143
128
144
callback " #{ org .login } #{ data .action } #{ member .login } to #{ scope} #{ team .name } "
129
145
130
- page_build : (data , callback ) ->
146
+ page_build : (adapter , data , callback ) ->
131
147
build = data .build
132
148
repo = data .repository
133
149
if build?
@@ -136,24 +152,28 @@ module.exports =
136
152
if build .error .message ?
137
153
callback " Page build for #{ data .repository .full_name } errored: #{ build .error .message } ."
138
154
139
- pull_request_review_comment : (data , callback ) ->
155
+ pull_request_review_comment : (adapter , data , callback ) ->
140
156
comment = data .comment
141
157
pull_req = data .pull_request
142
158
base = data .base
143
159
repo = data .repository
160
+ repo_link = formatUrl adapter, repo .html_url , repo .name
161
+ comment_link = formatUrl adapter, comment .html_url , pull_req .title
144
162
145
- callback " New Comment on Pull Request \" #{ comment . body } \" by #{ comment .user .login } : #{ comment .html_url } "
163
+ callback " [ #{ repo_link } ] New comment on Pull Request #{ comment_link } by #{ comment .user .login } : \n\" #{ comment .body } \" "
146
164
147
- pull_request : (data , callback ) ->
165
+ pull_request : (adapter , data , callback ) ->
148
166
pull_num = data .number
149
167
pull_req = data .pull_request
150
168
base = data .base
151
169
repo = data .repository
170
+ repo_link = formatUrl adapter, repo .html_url , repo .name
171
+ pull_request_link = formatUrl adapter, pull_req .html_url , " ##{ data .number } \" #{ pull_req .title } \" "
152
172
sender = data .sender
153
173
154
174
action = data .action
155
175
156
- msg = " Pull Request \# #{ data . number } \" #{ pull_req . title } \" "
176
+ msg = " [ #{ repo_link } ] Pull Request #{ pull_request_link } "
157
177
158
178
switch action
159
179
when " assigned"
@@ -176,44 +196,54 @@ module.exports =
176
196
when " synchronize"
177
197
msg += " synchronized by #{ sender .login } "
178
198
179
- callback msg + " - #{ pull_req . html_url } "
199
+ callback msg
180
200
181
- push : (data , callback ) ->
201
+ push : (adapter , data , callback ) ->
182
202
commit = data .after
183
203
commits = data .commits
184
204
head_commit = data .head_commit
185
205
repo = data .repository
206
+ repo_link = formatUrl adapter, repo .html_url , repo .name
186
207
pusher = data .pusher
187
208
188
209
if ! data .deleted
189
- callback " New Commit \" #{ head_commit .message } \" to #{ repo .full_name } by #{ pusher .name } : #{ head_commit .url } "
210
+ if commits .length == 1
211
+ commit_link = formatUrl adapter, head_commit .url , " \" #{ head_commit .message } \" "
212
+ callback " [#{ repo_link} ] New commit #{ commit_link} by #{ pusher .name } "
213
+ else if commits .length > 1
214
+ message = " [#{ repo_link} ] #{ pusher .name } pushed #{ commits .length } commits:"
215
+ for commit in commits
216
+ commit_link = formatUrl adapter, commit .url , " \" #{ commit .message } \" "
217
+ message += " \n #{ commit_link} "
218
+ callback message
190
219
191
220
# Org level event
192
- repository : (data , callback ) ->
221
+ repository : (adapter , data , callback ) ->
193
222
repo = data .repository
194
223
org = data .organization
195
224
action = data .action
196
225
197
226
callback " #{ repo .full_name } #{ action} "
198
227
199
- release : (data , callback ) ->
228
+ release : (adapter , data , callback ) ->
200
229
release = data .release
201
230
repo = data .repository
231
+ repo_link = formatUrl adapter, repo .html_url , repo .name
202
232
action = data .action
203
233
204
- callback " Release #{ release .tag_name } #{ action} on #{ repo . full_name } "
234
+ callback " [ #{ repo_link } ] Release #{ release .tag_name } #{ action} "
205
235
206
236
# No clue what to do with this one.
207
- status : (data , callback ) ->
237
+ status : (adapter , data , callback ) ->
208
238
commit = data .commit
209
239
state = data .state
210
240
branches = data .branches
211
241
repo = data .repository
212
242
213
243
callback " "
214
244
215
- watch : (data , callback ) ->
245
+ watch : (adapter , data , callback ) ->
216
246
repo = data .repository
217
247
sender = data .sender
218
248
219
- callback " #{ repo .full_name } is now being watched by #{ sender .login } "
249
+ callback " #{ repo .full_name } is now being watched by #{ sender .login } "
0 commit comments