* Handle HookIssueReviewed action in webhook * Fix webhook comment handling type cast panictags/v1.12.2
case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | ||||
return getDingtalkIssuesPayload(p.(*api.IssuePayload)) | return getDingtalkIssuesPayload(p.(*api.IssuePayload)) | ||||
case models.HookEventIssueComment, models.HookEventPullRequestComment: | case models.HookEventIssueComment, models.HookEventPullRequestComment: | ||||
return getDingtalkIssueCommentPayload(p.(*api.IssueCommentPayload)) | |||||
pl, ok := p.(*api.IssueCommentPayload) | |||||
if ok { | |||||
return getDingtalkIssueCommentPayload(pl) | |||||
} | |||||
return getDingtalkPullRequestPayload(p.(*api.PullRequestPayload)) | |||||
case models.HookEventPush: | case models.HookEventPush: | ||||
return getDingtalkPushPayload(p.(*api.PushPayload)) | return getDingtalkPushPayload(p.(*api.PushPayload)) | ||||
case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, | case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, |
case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | ||||
return getDiscordIssuesPayload(p.(*api.IssuePayload), discord) | return getDiscordIssuesPayload(p.(*api.IssuePayload), discord) | ||||
case models.HookEventIssueComment, models.HookEventPullRequestComment: | case models.HookEventIssueComment, models.HookEventPullRequestComment: | ||||
return getDiscordIssueCommentPayload(p.(*api.IssueCommentPayload), discord) | |||||
pl, ok := p.(*api.IssueCommentPayload) | |||||
if ok { | |||||
return getDiscordIssueCommentPayload(pl, discord) | |||||
} | |||||
return getDiscordPullRequestPayload(p.(*api.PullRequestPayload), discord) | |||||
case models.HookEventPush: | case models.HookEventPush: | ||||
return getDiscordPushPayload(p.(*api.PushPayload), discord) | return getDiscordPushPayload(p.(*api.PushPayload), discord) | ||||
case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, | case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, |
return getFeishuForkPayload(p.(*api.ForkPayload)) | return getFeishuForkPayload(p.(*api.ForkPayload)) | ||||
case models.HookEventIssues: | case models.HookEventIssues: | ||||
return getFeishuIssuesPayload(p.(*api.IssuePayload)) | return getFeishuIssuesPayload(p.(*api.IssuePayload)) | ||||
case models.HookEventIssueComment: | |||||
return getFeishuIssueCommentPayload(p.(*api.IssueCommentPayload)) | |||||
case models.HookEventIssueComment, models.HookEventPullRequestComment: | |||||
pl, ok := p.(*api.IssueCommentPayload) | |||||
if ok { | |||||
return getFeishuIssueCommentPayload(pl) | |||||
} | |||||
return getFeishuPullRequestPayload(p.(*api.PullRequestPayload)) | |||||
case models.HookEventPush: | case models.HookEventPush: | ||||
return getFeishuPushPayload(p.(*api.PushPayload)) | return getFeishuPushPayload(p.(*api.PushPayload)) | ||||
case models.HookEventPullRequest: | case models.HookEventPullRequest: | ||||
return getFeishuPullRequestPayload(p.(*api.PullRequestPayload)) | return getFeishuPullRequestPayload(p.(*api.PullRequestPayload)) | ||||
case models.HookEventPullRequestReviewApproved, models.HookEventPullRequestReviewRejected, models.HookEventPullRequestComment: | |||||
case models.HookEventPullRequestReviewApproved, models.HookEventPullRequestReviewRejected: | |||||
return getFeishuPullRequestApprovalPayload(p.(*api.PullRequestPayload), event) | return getFeishuPullRequestApprovalPayload(p.(*api.PullRequestPayload), event) | ||||
case models.HookEventRepository: | case models.HookEventRepository: | ||||
return getFeishuRepositoryPayload(p.(*api.RepositoryPayload)) | return getFeishuRepositoryPayload(p.(*api.RepositoryPayload)) |
linkFormatter(mileStoneLink, p.PullRequest.Milestone.Title), titleLink) | linkFormatter(mileStoneLink, p.PullRequest.Milestone.Title), titleLink) | ||||
case api.HookIssueDemilestoned: | case api.HookIssueDemilestoned: | ||||
text = fmt.Sprintf("[%s] Pull request milestone cleared: %s", repoLink, titleLink) | text = fmt.Sprintf("[%s] Pull request milestone cleared: %s", repoLink, titleLink) | ||||
case api.HookIssueReviewed: | |||||
text = fmt.Sprintf("[%s] Pull request reviewed: %s", repoLink, titleLink) | |||||
} | } | ||||
if withSender { | if withSender { | ||||
text += fmt.Sprintf(" by %s", linkFormatter(setting.AppURL+p.Sender.UserName, p.Sender.UserName)) | text += fmt.Sprintf(" by %s", linkFormatter(setting.AppURL+p.Sender.UserName, p.Sender.UserName)) |
case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | ||||
return getMatrixIssuesPayload(p.(*api.IssuePayload), matrix) | return getMatrixIssuesPayload(p.(*api.IssuePayload), matrix) | ||||
case models.HookEventIssueComment, models.HookEventPullRequestComment: | case models.HookEventIssueComment, models.HookEventPullRequestComment: | ||||
return getMatrixIssueCommentPayload(p.(*api.IssueCommentPayload), matrix) | |||||
pl, ok := p.(*api.IssueCommentPayload) | |||||
if ok { | |||||
return getMatrixIssueCommentPayload(pl, matrix) | |||||
} | |||||
return getMatrixPullRequestPayload(p.(*api.PullRequestPayload), matrix) | |||||
case models.HookEventPush: | case models.HookEventPush: | ||||
return getMatrixPushPayload(p.(*api.PushPayload), matrix) | return getMatrixPushPayload(p.(*api.PushPayload), matrix) | ||||
case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, | case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, |
case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | ||||
return getMSTeamsIssuesPayload(p.(*api.IssuePayload)) | return getMSTeamsIssuesPayload(p.(*api.IssuePayload)) | ||||
case models.HookEventIssueComment, models.HookEventPullRequestComment: | case models.HookEventIssueComment, models.HookEventPullRequestComment: | ||||
return getMSTeamsIssueCommentPayload(p.(*api.IssueCommentPayload)) | |||||
pl, ok := p.(*api.IssueCommentPayload) | |||||
if ok { | |||||
return getMSTeamsIssueCommentPayload(pl) | |||||
} | |||||
return getMSTeamsPullRequestPayload(p.(*api.PullRequestPayload)) | |||||
case models.HookEventPush: | case models.HookEventPush: | ||||
return getMSTeamsPushPayload(p.(*api.PushPayload)) | return getMSTeamsPushPayload(p.(*api.PushPayload)) | ||||
case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, | case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, |
case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | ||||
return getSlackIssuesPayload(p.(*api.IssuePayload), slack) | return getSlackIssuesPayload(p.(*api.IssuePayload), slack) | ||||
case models.HookEventIssueComment, models.HookEventPullRequestComment: | case models.HookEventIssueComment, models.HookEventPullRequestComment: | ||||
return getSlackIssueCommentPayload(p.(*api.IssueCommentPayload), slack) | |||||
pl, ok := p.(*api.IssueCommentPayload) | |||||
if ok { | |||||
return getSlackIssueCommentPayload(pl, slack) | |||||
} | |||||
return getSlackPullRequestPayload(p.(*api.PullRequestPayload), slack) | |||||
case models.HookEventPush: | case models.HookEventPush: | ||||
return getSlackPushPayload(p.(*api.PushPayload), slack) | return getSlackPushPayload(p.(*api.PushPayload), slack) | ||||
case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, | case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, |
case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | case models.HookEventIssues, models.HookEventIssueAssign, models.HookEventIssueLabel, models.HookEventIssueMilestone: | ||||
return getTelegramIssuesPayload(p.(*api.IssuePayload)) | return getTelegramIssuesPayload(p.(*api.IssuePayload)) | ||||
case models.HookEventIssueComment, models.HookEventPullRequestComment: | case models.HookEventIssueComment, models.HookEventPullRequestComment: | ||||
return getTelegramIssueCommentPayload(p.(*api.IssueCommentPayload)) | |||||
pl, ok := p.(*api.IssueCommentPayload) | |||||
if ok { | |||||
return getTelegramIssueCommentPayload(pl) | |||||
} | |||||
return getTelegramPullRequestPayload(p.(*api.PullRequestPayload)) | |||||
case models.HookEventPush: | case models.HookEventPush: | ||||
return getTelegramPushPayload(p.(*api.PushPayload)) | return getTelegramPushPayload(p.(*api.PushPayload)) | ||||
case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, | case models.HookEventPullRequest, models.HookEventPullRequestAssign, models.HookEventPullRequestLabel, |