|
@@ -347,6 +347,8 @@ func SlackHooksEditPost(ctx *context.Context, form auth.NewSlackHookForm) {
|
|
|
}
|
|
|
|
|
|
func TestWebhook(ctx *context.Context) {
|
|
|
+ var authorUsername, committerUsername string
|
|
|
+
|
|
|
// Grab latest commit or fake one if it's empty repository.
|
|
|
commit := ctx.Repo.Commit
|
|
|
if commit == nil {
|
|
@@ -357,6 +359,27 @@ func TestWebhook(ctx *context.Context) {
|
|
|
Committer: ghost.NewGitSig(),
|
|
|
CommitMessage: "This is a fake commit",
|
|
|
}
|
|
|
+ authorUsername = ghost.Name
|
|
|
+ committerUsername = ghost.Name
|
|
|
+ } else {
|
|
|
+ // Try to match email with a real user.
|
|
|
+ author, err := models.GetUserByEmail(commit.Author.Email)
|
|
|
+ if err == nil {
|
|
|
+ authorUsername = author.Name
|
|
|
+ } else if !models.IsErrUserNotExist(err) {
|
|
|
+ ctx.Flash.Error(fmt.Sprintf("GetUserByEmail.(author) [%s]: %v", commit.Author.Email, err))
|
|
|
+ ctx.Status(500)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ committer, err := models.GetUserByEmail(commit.Committer.Email)
|
|
|
+ if err == nil {
|
|
|
+ committerUsername = committer.Name
|
|
|
+ } else if !models.IsErrUserNotExist(err) {
|
|
|
+ ctx.Flash.Error(fmt.Sprintf("GetUserByEmail.(committer) [%s]: %v", commit.Committer.Email, err))
|
|
|
+ ctx.Status(500)
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
apiUser := ctx.User.APIFormat()
|
|
@@ -370,12 +393,14 @@ func TestWebhook(ctx *context.Context) {
|
|
|
Message: commit.Message(),
|
|
|
URL: ctx.Repo.Repository.HTMLURL() + "/commit/" + commit.ID.String(),
|
|
|
Author: &api.PayloadUser{
|
|
|
- Name: commit.Author.Name,
|
|
|
- Email: commit.Author.Email,
|
|
|
+ Name: commit.Author.Name,
|
|
|
+ Email: commit.Author.Email,
|
|
|
+ UserName: authorUsername,
|
|
|
},
|
|
|
Committer: &api.PayloadUser{
|
|
|
- Name: commit.Committer.Name,
|
|
|
- Email: commit.Committer.Email,
|
|
|
+ Name: commit.Committer.Name,
|
|
|
+ Email: commit.Committer.Email,
|
|
|
+ UserName: committerUsername,
|
|
|
},
|
|
|
},
|
|
|
},
|