mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Add PR review webhook to Telegram (#9653)
Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
This commit is contained in:
		
				
					committed by
					
						
						Antoine GIRARD
					
				
			
			
				
	
			
			
			
						parent
						
							b822518e39
						
					
				
				
					commit
					f8dcc5f9f8
				
			@@ -148,6 +148,25 @@ func getTelegramPullRequestPayload(p *api.PullRequestPayload) (*TelegramPayload,
 | 
				
			|||||||
	}, nil
 | 
						}, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func getTelegramPullRequestApprovalPayload(p *api.PullRequestPayload, event models.HookEventType) (*TelegramPayload, error) {
 | 
				
			||||||
 | 
						var text, attachmentText string
 | 
				
			||||||
 | 
						switch p.Action {
 | 
				
			||||||
 | 
						case api.HookIssueSynchronized:
 | 
				
			||||||
 | 
							action, err := parseHookPullRequestEventType(event)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return nil, err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							text = fmt.Sprintf("[%s] Pull request review %s: #%d %s", p.Repository.FullName, action, p.Index, p.PullRequest.Title)
 | 
				
			||||||
 | 
							attachmentText = p.Review.Content
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return &TelegramPayload{
 | 
				
			||||||
 | 
							Message: text + "\n" + attachmentText,
 | 
				
			||||||
 | 
						}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func getTelegramRepositoryPayload(p *api.RepositoryPayload) (*TelegramPayload, error) {
 | 
					func getTelegramRepositoryPayload(p *api.RepositoryPayload) (*TelegramPayload, error) {
 | 
				
			||||||
	var title string
 | 
						var title string
 | 
				
			||||||
	switch p.Action {
 | 
						switch p.Action {
 | 
				
			||||||
@@ -192,6 +211,8 @@ func GetTelegramPayload(p api.Payloader, event models.HookEventType, meta string
 | 
				
			|||||||
		return getTelegramPushPayload(p.(*api.PushPayload))
 | 
							return getTelegramPushPayload(p.(*api.PushPayload))
 | 
				
			||||||
	case models.HookEventPullRequest:
 | 
						case models.HookEventPullRequest:
 | 
				
			||||||
		return getTelegramPullRequestPayload(p.(*api.PullRequestPayload))
 | 
							return getTelegramPullRequestPayload(p.(*api.PullRequestPayload))
 | 
				
			||||||
 | 
						case models.HookEventPullRequestRejected, models.HookEventPullRequestApproved, models.HookEventPullRequestComment:
 | 
				
			||||||
 | 
							return getTelegramPullRequestApprovalPayload(p.(*api.PullRequestPayload), event)
 | 
				
			||||||
	case models.HookEventRepository:
 | 
						case models.HookEventRepository:
 | 
				
			||||||
		return getTelegramRepositoryPayload(p.(*api.RepositoryPayload))
 | 
							return getTelegramRepositoryPayload(p.(*api.RepositoryPayload))
 | 
				
			||||||
	case models.HookEventRelease:
 | 
						case models.HookEventRelease:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user