hook

package
v0.4.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2021 License: GPL-3.0, GPL-3.0-or-later Imports: 16 Imported by: 0

Documentation

Overview

The hook package contains code for the build hoops of the different source code versioning systems, like gitea, gogs, gitlab, etc.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthUrl

func AuthUrl(server string, clientID string, clientSecret string, scopes []string, redirectUri string) string

returns the OAuth2 authentification url, the user has to visit

func Connect

func Connect(server string, clientID string, clientSecret string, scopes []string, redirectUri string, authCode string) (*http.Client, *oauth2.Token, error)

create a client-connection with an auth-code from the user, to get a token

func ConnectWithToken

func ConnectWithToken(server string, clientID string, clientSecret string, scopes []string, tok *oauth2.Token, redirectUri string) *http.Client

create a client-connection with a (hopefully) valid OAuth2 Auth Token

func CreateConf

func CreateConf(server string, clientID string, clientSecret string, scopes []string, redirectUri string) *oauth2.Config

internal function to create the configuration for the OAuth2 library

func GiteaPushRelease

func GiteaPushRelease(b *core.Build, url string, zip string, cfg *core.Config, db *gorm.DB) error

push a release artifact to the gitea server

func PostFile

func PostFile(client *http.Client, url string, formData map[string]string, formFilename string, filename string) (*http.Response, error)

send a file through an http.Client via POST, e.g for posting a release to a server

Types

type BitBucketPayload

type BitBucketPayload struct {
	EventKey   string
	Date       string
	Actor      BitBucketPayloadActor
	Repository BitBucketPayloadRepository
	Changes    []BitBucketPayloadChanges
}

type BitBucketPayloadActor

type BitBucketPayloadActor struct {
	Name         string
	EmailAddress string
	Id           int
	DisplayName  string
	Active       bool
	Slug         string
	Type         string
}

type BitBucketPayloadChanges

type BitBucketPayloadChanges struct {
	Ref struct {
		Id        string
		DisplayId string
		Type      string
	}
	RefId    string
	FromHash string
	ToHash   string
	Type     string
}
type BitBucketPayloadLinks struct {
	Self []struct {
		Href string
		Name string
	}
	Clone []struct {
		Href string
		Name string
	}
}

type BitBucketPayloadRepository

type BitBucketPayloadRepository struct {
	Slug          string
	Id            int
	Name          string
	HierarchyId   string
	ScmId         string
	State         string
	StatusMessage string
	Forkable      bool
	Public        bool
	Links         BitBucketPayloadLinks
}

type GitBucketPayload

type GitBucketPayload struct {
	Pusher      GitBucketPayloadPusher
	Sender      GitBucketPayloadUser
	Ref         string
	Before      string
	After       string
	Commits     []GitBucketPayloadCommit
	Repository  GitBucketPayloadRepository
	Compare     string
	Head_Commit GitBucketPayloadCommit
}

type GitBucketPayloadCommit

type GitBucketPayloadCommit struct {
	Id        string
	Message   string
	Timestamp time.Time
	Added     []string
	Removed   []string
	Modified  []string
	Author    GitBucketPayloadPusher
	Committer GitBucketPayloadPusher
	Url       string
	Html_Url  string
}

type GitBucketPayloadPusher

type GitBucketPayloadPusher struct {
	Name  string
	Email string
	Date  time.Time
}

type GitBucketPayloadRepository

type GitBucketPayloadRepository struct {
	Name           string
	Full_Name      string
	Description    string
	Watchers       int
	Forks          int
	Private        bool
	Default_Branch string
	Owner          GitBucketPayloadUser
	Id             int
	Forks_Count    int
	Watchers_Count int
	Url            string
	Http_Url       string
	Clone_Url      string
	Html_Url       string
}

type GitBucketPayloadUser

type GitBucketPayloadUser struct {
	Login      string
	Email      string
	Type       string
	Site_Admin bool
	Created_At time.Time
	Id         int
	Url        string
	Html_Url   string
	Avatar_Url string
}

type GiteaPayload

type GiteaPayload struct {
	Secret      string
	Ref         string
	Before      string
	After       string
	Compare_Url string
	Commits     []GiteaPayloadCommit
	Repository  GiteaPayloadRepository
	Pusher      GiteaPayloadUser
	Sender      GiteaPayloadUser
	Release     GiteaPayloadRelease
}

type GiteaPayloadCommit

type GiteaPayloadCommit struct {
	Id        string
	Message   string
	Url       string
	Author    GiteaPayloadCommitUser
	Committer GiteaPayloadCommitUser
	Timestamp time.Time
}

type GiteaPayloadCommitUser

type GiteaPayloadCommitUser struct {
	Name     string
	Email    string
	Username string
}

type GiteaPayloadRelease

type GiteaPayloadRelease struct {
	Id              int
	TagName         string `json:"tag_name"`
	TargetCommitish string `json:"target_commitish"`
	Name            string
	Body            string
	Url             string
	HtmlUrl         string `json:"html_url"`
	Draft           bool
	Prerelease      bool
	Author          GiteaPayloadUser
}

type GiteaPayloadRepository

type GiteaPayloadRepository struct {
	Id                int
	Owner             GiteaPayloadUser
	Name              string
	Full_Name         string
	Description       string
	Private           bool
	Fork              bool
	Html_Url          string
	Ssh_Url           string
	Clone_Url         string
	Website           string
	Stars_Count       int
	Forks_Count       int
	Watcher_Count     int
	Open_Issues_Count int
	Default_Branch    string
	Created_At        time.Time
	Updated_at        time.Time
}

type GiteaPayloadUser

type GiteaPayloadUser struct {
	Id         int
	Login      string
	Full_Name  string
	Email      string
	Avatar_Url string
	Username   string
}

type GithubPayload

type GithubPayload struct {
	Ref        string
	Before     string
	After      string
	Created    bool
	Deleted    bool
	Forced     bool
	Base_Ref   string
	Compare    string
	Repository GithubPayloadRepository
}

type GithubPayloadRepository

type GithubPayloadRepository struct {
	Id        int
	Node_Id   string
	Name      string
	Full_Name string
	Private   bool
	Clone_Url string
	Ssh_Url   string
	Git_Url   string
}

type GitlabPayload

type GitlabPayload struct {
	ObjectKind        string `json:"object_kind"`
	EventName         string `json:"event_name"`
	Before            string
	After             string
	Ref               string
	CheckoutSha       string
	Message           string
	UserId            int    `json:"user_id"`
	UserName          string `json:"user_name"`
	UserUsername      string `json:"user_username"`
	UserEmail         string `json:"user_email"`
	ProjectId         int    `json:"project_id"`
	Project           GitlabPayloadProject
	Commits           []GitlabPayloadCommit
	TotalCommitsCount int `json:"total_commits_count"`
	Repository        GitlabPayloadRepository
}

type GitlabPayloadCommit

type GitlabPayloadCommit struct {
	Id        string
	Message   string
	Title     string
	Timestamp string
	Url       string
	Author    struct {
		Name  string
		Email string
	}
}

type GitlabPayloadProject

type GitlabPayloadProject struct {
	Id          int
	Name        string
	Description string
	WebUrl      string `json:"web_url"`
	AvatarUrl   string `json:"avatar_url"`
	GitSshUrl   string `json:"git_ssh_url"`
	GitHttpUrl  string `json:"git_http_url"`
}

type GitlabPayloadRepository

type GitlabPayloadRepository struct {
	Name        string
	Url         string
	Description string
	Homepage    string
	GitSshUrl   string `json:"git_ssh_url"`
	GitHttpUrl  string `json:"git_http_url"`
}

type GogsPayload

type GogsPayload struct {
	Secret      string
	Ref         string
	Before      string
	After       string
	Compure_Url string
	Commits     []GogsPayloadCommit
	Repository  GogsPayloadRepository
	Pusher      GogsPayloadUser
	Sender      GogsPayloadUser
}

type GogsPayloadCommit

type GogsPayloadCommit struct {
	Id        string
	Message   string
	Url       string
	Author    GogsPayloadCommitUser
	Committer GogsPayloadCommitUser
	Timestamp time.Time
}

type GogsPayloadCommitUser

type GogsPayloadCommitUser struct {
	Name     string
	Email    string
	Username string
}

type GogsPayloadRepository

type GogsPayloadRepository struct {
	Id                int
	Owner             GogsPayloadUser
	Name              string
	Full_Name         string
	Description       string
	Private           bool
	Fork              bool
	Html_Url          string
	Ssh_Url           string
	Clone_Url         string
	Website           string
	Stars_Count       int
	Forks_Count       int
	Watcher_Count     int
	Open_Issues_Count int
	Default_Branch    string
	Created_At        time.Time
	Updated_at        time.Time
}

type GogsPayloadUser

type GogsPayloadUser struct {
	Id         int
	Login      string
	Full_Name  string
	Email      string
	Avatar_Url string
	Username   string
}

type LocalPayload

type LocalPayload struct {
	Action         string
	Secret         string
	RepositoryID   uint
	RepositoryName string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL