mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	New webhook trigger for receiving Pull Request review requests (#24481)
close https://github.com/go-gitea/gitea/issues/16321 Provided a webhook trigger for requesting someone to review the Pull Request. Some modifications have been made to the returned `PullRequestPayload` based on the GitHub webhook settings, including: - add a description of the current reviewer object as `RequestedReviewer` . - setting the action to either **review_requested** or **review_request_removed** based on the operation. - adding the `RequestedReviewers` field to the issues_model.PullRequest. This field will be loaded into the PullRequest through `LoadRequestedReviewers()` when `ToAPIPullRequest` is called. After the Pull Request is merged, I will supplement the relevant documentation.
This commit is contained in:
		@@ -20,6 +20,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/modules/auth/openid"
 | 
			
		||||
	"code.gitea.io/gitea/modules/auth/password/hash"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/container"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
@@ -910,6 +911,15 @@ func GetUserByID(ctx context.Context, id int64) (*User, error) {
 | 
			
		||||
	return u, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetUserByIDs returns the user objects by given IDs if exists.
 | 
			
		||||
func GetUserByIDs(ctx context.Context, ids []int64) ([]*User, error) {
 | 
			
		||||
	users := make([]*User, 0, len(ids))
 | 
			
		||||
	err := db.GetEngine(ctx).In("id", ids).
 | 
			
		||||
		Table("user").
 | 
			
		||||
		Find(&users)
 | 
			
		||||
	return users, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetPossibleUserByID returns the user if id > 0 or return system usrs if id < 0
 | 
			
		||||
func GetPossibleUserByID(ctx context.Context, id int64) (*User, error) {
 | 
			
		||||
	switch id {
 | 
			
		||||
@@ -924,6 +934,25 @@ func GetPossibleUserByID(ctx context.Context, id int64) (*User, error) {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetPossibleUserByIDs returns the users if id > 0 or return system users if id < 0
 | 
			
		||||
func GetPossibleUserByIDs(ctx context.Context, ids []int64) ([]*User, error) {
 | 
			
		||||
	uniqueIDs := container.SetOf(ids...)
 | 
			
		||||
	users := make([]*User, 0, len(ids))
 | 
			
		||||
	_ = uniqueIDs.Remove(0)
 | 
			
		||||
	if uniqueIDs.Remove(-1) {
 | 
			
		||||
		users = append(users, NewGhostUser())
 | 
			
		||||
	}
 | 
			
		||||
	if uniqueIDs.Remove(ActionsUserID) {
 | 
			
		||||
		users = append(users, NewActionsUser())
 | 
			
		||||
	}
 | 
			
		||||
	res, err := GetUserByIDs(ctx, uniqueIDs.Values())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	users = append(users, res...)
 | 
			
		||||
	return users, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetUserByNameCtx returns user by given name.
 | 
			
		||||
func GetUserByName(ctx context.Context, name string) (*User, error) {
 | 
			
		||||
	if len(name) == 0 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user