MCPcopy Create free account
hub / github.com/gogs/gogs / GetSlackPayload

Function GetSlackPayload

internal/database/webhook_slack.go:287–321  ·  view source on GitHub ↗
(p api.Payloader, event HookEventType, meta string)

Source from the content-addressed store, hash-verified

285}
286
287func GetSlackPayload(p api.Payloader, event HookEventType, meta string) (payload *SlackPayload, err error) {
288 slack := &SlackMeta{}
289 if err := jsoniter.Unmarshal([]byte(meta), &slack); err != nil {
290 return nil, errors.Newf("unmarshal: %v", err)
291 }
292
293 switch event {
294 case HookEventTypeCreate:
295 payload = getSlackCreatePayload(p.(*api.CreatePayload))
296 case HookEventTypeDelete:
297 payload = getSlackDeletePayload(p.(*api.DeletePayload))
298 case HookEventTypeFork:
299 payload = getSlackForkPayload(p.(*api.ForkPayload))
300 case HookEventTypePush:
301 payload = getSlackPushPayload(p.(*api.PushPayload), slack)
302 case HookEventTypeIssues:
303 payload = getSlackIssuesPayload(p.(*api.IssuesPayload), slack)
304 case HookEventTypeIssueComment:
305 payload = getSlackIssueCommentPayload(p.(*api.IssueCommentPayload), slack)
306 case HookEventTypePullRequest:
307 payload = getSlackPullRequestPayload(p.(*api.PullRequestPayload), slack)
308 case HookEventTypeRelease:
309 payload = getSlackReleasePayload(p.(*api.ReleasePayload))
310 default:
311 return nil, errors.Errorf("unexpected event %q", event)
312 }
313
314 payload.Channel = slack.Channel
315 payload.Username = slack.Username
316 payload.IconURL = slack.IconURL
317 if len(payload.Attachments) > 0 {
318 payload.Attachments[0].Color = slack.Color
319 }
320 return payload, nil
321}

Callers 1

prepareHookTasksFunction · 0.85

Calls 9

getSlackCreatePayloadFunction · 0.85
getSlackDeletePayloadFunction · 0.85
getSlackForkPayloadFunction · 0.85
getSlackPushPayloadFunction · 0.85
getSlackIssuesPayloadFunction · 0.85
getSlackReleasePayloadFunction · 0.85
ErrorfMethod · 0.45

Tested by

no test coverage detected