mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09: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
						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