diff options
author | Unknown <joe2010xtmf@163.com> | 2014-05-08 08:18:03 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-05-08 08:18:03 -0400 |
commit | 23a857d107b06b5639b337aba2e335d3d66ef9db (patch) | |
tree | 483f46f826bef1c16b3ee0394e54b56c4f6cdba6 /models | |
parent | 495d939ca580825c4a91612e38107ecc4339598a (diff) | |
download | gitea-23a857d107b06b5639b337aba2e335d3d66ef9db.tar.gz gitea-23a857d107b06b5639b337aba2e335d3d66ef9db.zip |
Add repo info to web hook post
Diffstat (limited to 'models')
-rw-r--r-- | models/action.go | 24 | ||||
-rw-r--r-- | models/repo.go | 5 |
2 files changed, 26 insertions, 3 deletions
diff --git a/models/action.go b/models/action.go index ef9e260a0b..02639e5538 100644 --- a/models/action.go +++ b/models/action.go @@ -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, }, } diff --git a/models/repo.go b/models/repo.go index 0ca32bc28b..595d79b5c3 100644 --- a/models/repo.go +++ b/models/repo.go @@ -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} |