woodpecker/remote/bitbucketserver/parse.go
Joachim Hill-Grannec 70ebb097c8 Changed variables to lowercase
Moved to start using conversions and returning "bitbucket server types"
Moved the last push type into the internal package.
Simplified the types to have values of a repo type
2016-07-24 14:07:44 -07:00

29 lines
787 B
Go

package bitbucketserver
import (
"encoding/json"
"fmt"
"github.com/drone/drone/model"
"github.com/drone/drone/remote/bitbucketserver/internal"
"net/http"
)
// parseHook parses a Bitbucket hook from an http.Request request and returns
// Repo and Build detail. TODO: find a way to support PR hooks
func parseHook(r *http.Request) (*model.Repo, *model.Build, error) {
hook := new(internal.PostHook)
if err := json.NewDecoder(r.Body).Decode(hook); err != nil {
return nil, nil, err
}
build := convertPushHook(hook)
repo := &model.Repo{
Name: hook.Repository.Slug,
Owner: hook.Repository.Project.Key,
FullName: fmt.Sprintf("%s/%s", hook.Repository.Project.Key, hook.Repository.Slug),
Branch: "master",
Kind: model.RepoGit,
}
return repo, build, nil
}