forked from gitea/gitea
		
	Add repo info to web hook post
This commit is contained in:
		
							parent
							
								
									495d939ca5
								
							
						
					
					
						commit
						23a857d107
					
				
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @ -17,7 +17,7 @@ import ( | ||||
| 	"github.com/gogits/gogs/modules/base" | ||||
| ) | ||||
| 
 | ||||
| const APP_VER = "0.3.3.0507 Alpha" | ||||
| const APP_VER = "0.3.3.0508 Alpha" | ||||
| 
 | ||||
| func init() { | ||||
| 	base.AppVer = APP_VER | ||||
|  | ||||
| @ -114,6 +114,10 @@ func CommitRepoAction(userId, repoUserId int64, userName, actEmail string, | ||||
| 	qlog.Info("action.CommitRepoAction(end): %d/%s", repoUserId, repoName) | ||||
| 
 | ||||
| 	// New push event hook. | ||||
| 	if err := repo.GetOwner(); err != nil { | ||||
| 		return errors.New("action.CommitRepoAction(GetOwner): " + err.Error()) | ||||
| 	} | ||||
| 
 | ||||
| 	ws, err := GetActiveWebhooksByRepoId(repoId) | ||||
| 	if err != nil { | ||||
| 		return errors.New("action.CommitRepoAction(GetWebhooksByRepoId): " + err.Error()) | ||||
| @ -121,12 +125,13 @@ func CommitRepoAction(userId, repoUserId int64, userName, actEmail string, | ||||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
| 	repoLink := fmt.Sprintf("%s%s/%s", base.AppUrl, repoUserName, repoName) | ||||
| 	commits := make([]*hooks.PayloadCommit, len(commit.Commits)) | ||||
| 	for i, cmt := range commit.Commits { | ||||
| 		commits[i] = &hooks.PayloadCommit{ | ||||
| 			Id:      cmt.Sha1, | ||||
| 			Message: cmt.Message, | ||||
| 			Url:     fmt.Sprintf("%s%s/%s/commit/%s", base.AppUrl, repoUserName, repoName, cmt.Sha1), | ||||
| 			Url:     fmt.Sprintf("%s/commit/%s", repoLink, cmt.Sha1), | ||||
| 			Author: &hooks.PayloadAuthor{ | ||||
| 				Name:  cmt.AuthorName, | ||||
| 				Email: cmt.AuthorEmail, | ||||
| @ -136,9 +141,22 @@ func CommitRepoAction(userId, repoUserId int64, userName, actEmail string, | ||||
| 	p := &hooks.Payload{ | ||||
| 		Ref:     refFullName, | ||||
| 		Commits: commits, | ||||
| 		Repo: &hooks.PayloadRepo{ | ||||
| 			Id:          repo.Id, | ||||
| 			Name:        repo.LowerName, | ||||
| 			Url:         repoLink, | ||||
| 			Description: repo.Description, | ||||
| 			Website:     repo.Website, | ||||
| 			Watchers:    repo.NumWatches, | ||||
| 			Owner: &hooks.PayloadAuthor{ | ||||
| 				Name:  repoUserName, | ||||
| 				Email: actEmail, | ||||
| 			}, | ||||
| 			Private: repo.IsPrivate, | ||||
| 		}, | ||||
| 		Pusher: &hooks.PayloadAuthor{ | ||||
| 			Name:  userName, | ||||
| 			Email: actEmail, | ||||
| 			Name:  repo.Owner.LowerName, | ||||
| 			Email: repo.Owner.Email, | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -88,6 +88,11 @@ type Repository struct { | ||||
| 	Updated         time.Time `xorm:"updated"` | ||||
| } | ||||
| 
 | ||||
| func (repo *Repository) GetOwner() (err error) { | ||||
| 	repo.Owner, err = GetUserById(repo.OwnerId) | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| // IsRepositoryExist returns true if the repository with given name under user has already existed. | ||||
| func IsRepositoryExist(user *User, repoName string) (bool, error) { | ||||
| 	repo := Repository{OwnerId: user.Id} | ||||
|  | ||||
| @ -30,11 +30,23 @@ type PayloadCommit struct { | ||||
| 	Author  *PayloadAuthor `json:"author"` | ||||
| } | ||||
| 
 | ||||
| type PayloadRepo struct { | ||||
| 	Id          int64          `json:"id"` | ||||
| 	Name        string         `json:"name"` | ||||
| 	Url         string         `json:"url"` | ||||
| 	Description string         `json:"description"` | ||||
| 	Website     string         `json:"website"` | ||||
| 	Watchers    int            `json:"watchers"` | ||||
| 	Owner       *PayloadAuthor `json:"author"` | ||||
| 	Private     bool           `json:"private"` | ||||
| } | ||||
| 
 | ||||
| // Payload represents payload information of hook. | ||||
| type Payload struct { | ||||
| 	Secret  string           `json:"secret"` | ||||
| 	Ref     string           `json:"ref"` | ||||
| 	Commits []*PayloadCommit `json:"commits"` | ||||
| 	Repo    *PayloadRepo     `json:"repository"` | ||||
| 	Pusher  *PayloadAuthor   `json:"pusher"` | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Unknown
						Unknown