1
0
mirror of https://github.com/woodpecker-ci/woodpecker.git synced 2024-12-12 08:23:48 +02:00

Fix Gitea remote pull-request webhook parsing

This commit is contained in:
Michael de Wit 2018-01-29 13:20:02 +01:00
parent 75150d4a42
commit e4a77e5346
4 changed files with 14 additions and 17 deletions

View File

@ -103,13 +103,11 @@ const HookPullRequest = `{
"email": "gordon@golang.org", "email": "gordon@golang.org",
"avatar_url": "http://gitea.golang.org///1.gravatar.com/avatar/8c58a0be77ee441bb8f8595b7f1b4e87" "avatar_url": "http://gitea.golang.org///1.gravatar.com/avatar/8c58a0be77ee441bb8f8595b7f1b4e87"
}, },
"base_branch": "master",
"base": { "base": {
"label": "master", "label": "master",
"ref": "master", "ref": "master",
"sha": "9353195a19e45482665306e466c832c46560532d" "sha": "9353195a19e45482665306e466c832c46560532d"
}, },
"head_branch": "feature/changes",
"head": { "head": {
"label": "feature/changes", "label": "feature/changes",
"ref": "feature/changes", "ref": "feature/changes",

View File

@ -127,15 +127,15 @@ func buildFromPullRequest(hook *pullRequestHook) *model.Build {
Commit: hook.PullRequest.Head.Sha, Commit: hook.PullRequest.Head.Sha,
Link: hook.PullRequest.URL, Link: hook.PullRequest.URL,
Ref: fmt.Sprintf("refs/pull/%d/head", hook.Number), Ref: fmt.Sprintf("refs/pull/%d/head", hook.Number),
Branch: hook.PullRequest.BaseBranch, Branch: hook.PullRequest.Base.Ref,
Message: hook.PullRequest.Title, Message: hook.PullRequest.Title,
Author: hook.PullRequest.User.Username, Author: hook.PullRequest.User.Username,
Avatar: avatar, Avatar: avatar,
Sender: sender, Sender: sender,
Title: hook.PullRequest.Title, Title: hook.PullRequest.Title,
Refspec: fmt.Sprintf("%s:%s", Refspec: fmt.Sprintf("%s:%s",
hook.PullRequest.HeadBranch, hook.PullRequest.Head.Ref,
hook.PullRequest.BaseBranch, hook.PullRequest.Base.Ref,
), ),
} }
return build return build

View File

@ -127,6 +127,7 @@ func Test_parse(t *testing.T) {
g.Assert(build.Ref).Equal("refs/pull/1/head") g.Assert(build.Ref).Equal("refs/pull/1/head")
g.Assert(build.Link).Equal(hook.PullRequest.URL) g.Assert(build.Link).Equal(hook.PullRequest.URL)
g.Assert(build.Branch).Equal("master") g.Assert(build.Branch).Equal("master")
g.Assert(build.Refspec).Equal("feature/changes:master")
g.Assert(build.Message).Equal(hook.PullRequest.Title) g.Assert(build.Message).Equal(hook.PullRequest.Title)
g.Assert(build.Avatar).Equal("http://1.gravatar.com/avatar/8c58a0be77ee441bb8f8595b7f1b4e87") g.Assert(build.Avatar).Equal("http://1.gravatar.com/avatar/8c58a0be77ee441bb8f8595b7f1b4e87")
g.Assert(build.Author).Equal(hook.PullRequest.User.Username) g.Assert(build.Author).Equal(hook.PullRequest.User.Username)

View File

@ -54,16 +54,15 @@ type pullRequestHook struct {
Email string `json:"email"` Email string `json:"email"`
Avatar string `json:"avatar_url"` Avatar string `json:"avatar_url"`
} `json:"user"` } `json:"user"`
Title string `json:"title"` Title string `json:"title"`
Body string `json:"body"` Body string `json:"body"`
Labels []string `json:"labels"` Labels []string `json:"labels"`
State string `json:"state"` State string `json:"state"`
URL string `json:"html_url"` URL string `json:"html_url"`
Mergeable bool `json:"mergeable"` Mergeable bool `json:"mergeable"`
Merged bool `json:"merged"` Merged bool `json:"merged"`
MergeBase string `json:"merge_base"` MergeBase string `json:"merge_base"`
BaseBranch string `json:"base_branch"` Base struct {
Base struct {
Label string `json:"label"` Label string `json:"label"`
Ref string `json:"ref"` Ref string `json:"ref"`
Sha string `json:"sha"` Sha string `json:"sha"`
@ -82,8 +81,7 @@ type pullRequestHook struct {
} `json:"owner"` } `json:"owner"`
} `json:"repo"` } `json:"repo"`
} `json:"base"` } `json:"base"`
HeadBranch string `json:"head_branch"` Head struct {
Head struct {
Label string `json:"label"` Label string `json:"label"`
Ref string `json:"ref"` Ref string `json:"ref"`
Sha string `json:"sha"` Sha string `json:"sha"`