Documentation ¶
Index ¶
- type AdminSetting
- type AzurePushPayload
- type BitBucketPushPayload
- type BuildDefinition
- type BuildDefinitionContent
- type BuildExecution
- type BuildStatus
- type EmailDeployment
- type GitHubPushPayload
- type GitLabPushPayload
- type GiteaPushPayload
- type LocalDeployment
- type RemoteDeployment
- type Repository
- type User
- type UserAction
- type UserVariable
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdminSetting ¶
AdminSetting contains name/value pairs, used for settings
type AzurePushPayload ¶
type AzurePushPayload struct { SubscriptionID string `json:"subscriptionId"` NotificationID int `json:"notificationId"` ID string `json:"id"` EventType string `json:"eventType"` PublisherID string `json:"publisherId"` Message struct { Text string `json:"text"` HTML string `json:"html"` Markdown string `json:"markdown"` } `json:"message"` DetailedMessage struct { Text string `json:"text"` HTML string `json:"html"` Markdown string `json:"markdown"` } `json:"detailedMessage"` Resource struct { Commits []struct { CommitID string `json:"commitId"` Author struct { Name string `json:"name"` Email string `json:"email"` Date time.Time `json:"date"` } `json:"author"` Committer struct { Name string `json:"name"` Email string `json:"email"` Date time.Time `json:"date"` } `json:"committer"` Comment string `json:"comment"` URL string `json:"url"` } `json:"commits"` RefUpdates []struct { Name string `json:"name"` OldObjectID string `json:"oldObjectId"` NewObjectID string `json:"newObjectId"` } `json:"refUpdates"` Repository struct { ID string `json:"id"` Name string `json:"name"` URL string `json:"url"` Project struct { ID string `json:"id"` Name string `json:"name"` URL string `json:"url"` State string `json:"state"` Visibility string `json:"visibility"` LastUpdateTime string `json:"lastUpdateTime"` } `json:"project"` DefaultBranch string `json:"defaultBranch"` RemoteURL string `json:"remoteUrl"` } `json:"repository"` PushedBy struct { DisplayName string `json:"displayName"` URL string `json:"url"` Links struct { Avatar struct { Href string `json:"href"` } `json:"avatar"` } `json:"_links"` ID string `json:"id"` UniqueName string `json:"uniqueName"` ImageURL string `json:"imageUrl"` Descriptor string `json:"descriptor"` } `json:"pushedBy"` PushID int `json:"pushId"` Date time.Time `json:"date"` URL string `json:"url"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` Repository struct { Href string `json:"href"` } `json:"repository"` Commits struct { Href string `json:"href"` } `json:"commits"` Pusher struct { Href string `json:"href"` } `json:"pusher"` Refs struct { Href string `json:"href"` } `json:"refs"` } `json:"_links"` } `json:"resource"` ResourceVersion string `json:"resourceVersion"` ResourceContainers struct { Collection struct { ID string `json:"id"` BaseURL string `json:"baseUrl"` } `json:"collection"` Account struct { ID string `json:"id"` BaseURL string `json:"baseUrl"` } `json:"account"` Project struct { ID string `json:"id"` BaseURL string `json:"baseUrl"` } `json:"project"` } `json:"resourceContainers"` CreatedDate time.Time `json:"createdDate"` }
type BitBucketPushPayload ¶
type BitBucketPushPayload struct { Push struct { Changes []struct { Forced bool `json:"forced"` Old struct { Name string `json:"name"` Links struct { Commits struct { Href string `json:"href"` } `json:"commits"` Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` DefaultMergeStrategy string `json:"default_merge_strategy"` MergeStrategies []string `json:"merge_strategies"` Type string `json:"type"` Target struct { Rendered struct { } `json:"rendered"` Hash string `json:"hash"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` Author struct { Raw string `json:"raw"` Type string `json:"type"` User struct { DisplayName string `json:"display_name"` UUID string `json:"uuid"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` Avatar struct { Href string `json:"href"` } `json:"avatar"` } `json:"links"` Nickname string `json:"nickname"` Type string `json:"type"` AccountID string `json:"account_id"` } `json:"user"` } `json:"author"` Summary struct { Raw string `json:"raw"` Markup string `json:"markup"` HTML string `json:"html"` Type string `json:"type"` } `json:"summary"` Parents []struct { Hash string `json:"hash"` Type string `json:"type"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` } `json:"parents"` Date time.Time `json:"date"` Message string `json:"message"` Type string `json:"type"` Properties struct { } `json:"properties"` } `json:"target"` } `json:"old"` Links struct { Commits struct { Href string `json:"href"` } `json:"commits"` HTML struct { Href string `json:"href"` } `json:"html"` Diff struct { Href string `json:"href"` } `json:"diff"` } `json:"links"` Created bool `json:"created"` Commits []struct { Rendered struct { } `json:"rendered"` Hash string `json:"hash"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` Comments struct { Href string `json:"href"` } `json:"comments"` Patch struct { Href string `json:"href"` } `json:"patch"` HTML struct { Href string `json:"href"` } `json:"html"` Diff struct { Href string `json:"href"` } `json:"diff"` Approve struct { Href string `json:"href"` } `json:"approve"` Statuses struct { Href string `json:"href"` } `json:"statuses"` } `json:"links"` Author struct { Raw string `json:"raw"` Type string `json:"type"` } `json:"author"` Summary struct { Raw string `json:"raw"` Markup string `json:"markup"` HTML string `json:"html"` Type string `json:"type"` } `json:"summary"` Parents []struct { Hash string `json:"hash"` Type string `json:"type"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` } `json:"parents"` Date time.Time `json:"date"` Message string `json:"message"` Type string `json:"type"` Properties struct { } `json:"properties"` } `json:"commits"` Truncated bool `json:"truncated"` Closed bool `json:"closed"` New struct { Name string `json:"name"` Links struct { Commits struct { Href string `json:"href"` } `json:"commits"` Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` DefaultMergeStrategy string `json:"default_merge_strategy"` MergeStrategies []string `json:"merge_strategies"` Type string `json:"type"` Target struct { Rendered struct { } `json:"rendered"` Hash string `json:"hash"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` Author struct { Raw string `json:"raw"` Type string `json:"type"` } `json:"author"` Summary struct { Raw string `json:"raw"` Markup string `json:"markup"` HTML string `json:"html"` Type string `json:"type"` } `json:"summary"` Parents []struct { Hash string `json:"hash"` Type string `json:"type"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` } `json:"parents"` Date time.Time `json:"date"` Message string `json:"message"` Type string `json:"type"` Properties struct { } `json:"properties"` } `json:"target"` } `json:"new"` } `json:"changes"` } `json:"push"` Actor struct { DisplayName string `json:"display_name"` UUID string `json:"uuid"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` Avatar struct { Href string `json:"href"` } `json:"avatar"` } `json:"links"` Nickname string `json:"nickname"` Type string `json:"type"` AccountID string `json:"account_id"` } `json:"actor"` Repository struct { Scm string `json:"scm"` Website string `json:"website"` UUID string `json:"uuid"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` Avatar struct { Href string `json:"href"` } `json:"avatar"` } `json:"links"` Project struct { Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` Avatar struct { Href string `json:"href"` } `json:"avatar"` } `json:"links"` Type string `json:"type"` UUID string `json:"uuid"` Key string `json:"key"` Name string `json:"name"` } `json:"project"` FullName string `json:"full_name"` Owner struct { DisplayName string `json:"display_name"` UUID string `json:"uuid"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` Avatar struct { Href string `json:"href"` } `json:"avatar"` } `json:"links"` Nickname string `json:"nickname"` Type string `json:"type"` AccountID string `json:"account_id"` } `json:"owner"` Type string `json:"type"` IsPrivate bool `json:"is_private"` Name string `json:"name"` } `json:"repository"` }
BitBucketPushPayload represents the webhook payload from bitbucket
type BuildDefinition ¶
type BuildDefinition struct { gorm.Model Caption string Token string Raw string Data BuildDefinitionContent `gorm:"-"` EditedBy uint EditedAt sql.NullTime CreatedBy uint BuildExecutions []BuildExecution Deleted bool `gorm:"notNull"` }
BuildDefinition defines a build definition, wherein the Raw field contains the actual YAML string
type BuildDefinitionContent ¶
type BuildDefinitionContent struct { ProjectType string `yaml:"project_type"` Repository Repository `yaml:"repository"` Setup []string `yaml:"setup,omitempty"` Test []string `yaml:"test,omitempty"` PreBuild []string `yaml:"pre_build,omitempty"` Build []string `yaml:"build"` PostBuild []string `yaml:"post_build,omitempty"` Deployments struct { LocalDeployments []LocalDeployment `yaml:"local_deployments,omitempty"` EmailDeployments []EmailDeployment `yaml:"email_deployments,omitempty"` RemoteDeployments []RemoteDeployment `yaml:"remote_deployments,omitempty"` } `yaml:"deployments"` }
BuildDefinitionContent is the counterpart of the YAML string of a build definition
func (*BuildDefinitionContent) GetSteps ¶
func (bdc *BuildDefinitionContent) GetSteps() []string
type BuildExecution ¶
type BuildExecution struct { gorm.Model BuildDefinitionID uint ManuallyRunBy uint ActionLog string Status BuildStatus ArtifactPath string ExecutionTime float64 ExecutedAt time.Time }
BuildExecution consists of metadata for a build definition
func NewBuildExecution ¶
func NewBuildExecution(bdID, userID uint) *BuildExecution
type BuildStatus ¶
type BuildStatus string
const ( StatusCreated BuildStatus = "created" StatusSucceeded BuildStatus = "succeeded" StatusFailed BuildStatus = "failed" StatusRunning BuildStatus = "running" StatusPartiallySucceeded BuildStatus = "partially_succeeded" StatusCanceled BuildStatus = "canceled" StatusUnknown BuildStatus = "unknown" )
func (BuildStatus) String ¶
func (bs BuildStatus) String() string
type EmailDeployment ¶
type GitHubPushPayload ¶
type GitHubPushPayload struct { Ref string `json:"ref"` Before string `json:"before"` After string `json:"after"` Repository struct { ID int `json:"id"` NodeID string `json:"node_id"` Name string `json:"name"` FullName string `json:"full_name"` Private bool `json:"private"` Owner struct { Name string `json:"name"` Email string `json:"email"` Login string `json:"login"` ID int `json:"id"` NodeID string `json:"node_id"` AvatarURL string `json:"avatar_url"` GravatarID string `json:"gravatar_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` FollowersURL string `json:"followers_url"` FollowingURL string `json:"following_url"` GistsURL string `json:"gists_url"` StarredURL string `json:"starred_url"` SubscriptionsURL string `json:"subscriptions_url"` OrganizationsURL string `json:"organizations_url"` ReposURL string `json:"repos_url"` EventsURL string `json:"events_url"` ReceivedEventsURL string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` } `json:"owner"` HTMLURL string `json:"html_url"` Description interface{} `json:"description"` Fork bool `json:"fork"` URL string `json:"url"` ForksURL string `json:"forks_url"` KeysURL string `json:"keys_url"` CollaboratorsURL string `json:"collaborators_url"` TeamsURL string `json:"teams_url"` HooksURL string `json:"hooks_url"` IssueEventsURL string `json:"issue_events_url"` EventsURL string `json:"events_url"` AssigneesURL string `json:"assignees_url"` BranchesURL string `json:"branches_url"` TagsURL string `json:"tags_url"` BlobsURL string `json:"blobs_url"` GitTagsURL string `json:"git_tags_url"` GitRefsURL string `json:"git_refs_url"` TreesURL string `json:"trees_url"` StatusesURL string `json:"statuses_url"` LanguagesURL string `json:"languages_url"` StargazersURL string `json:"stargazers_url"` ContributorsURL string `json:"contributors_url"` SubscribersURL string `json:"subscribers_url"` SubscriptionURL string `json:"subscription_url"` CommitsURL string `json:"commits_url"` GitCommitsURL string `json:"git_commits_url"` CommentsURL string `json:"comments_url"` IssueCommentURL string `json:"issue_comment_url"` ContentsURL string `json:"contents_url"` CompareURL string `json:"compare_url"` MergesURL string `json:"merges_url"` ArchiveURL string `json:"archive_url"` DownloadsURL string `json:"downloads_url"` IssuesURL string `json:"issues_url"` PullsURL string `json:"pulls_url"` MilestonesURL string `json:"milestones_url"` NotificationsURL string `json:"notifications_url"` LabelsURL string `json:"labels_url"` ReleasesURL string `json:"releases_url"` DeploymentsURL string `json:"deployments_url"` CreatedAt int `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` PushedAt int `json:"pushed_at"` GitURL string `json:"git_url"` SSHURL string `json:"ssh_url"` CloneURL string `json:"clone_url"` SvnURL string `json:"svn_url"` Homepage interface{} `json:"homepage"` Size int `json:"size"` StargazersCount int `json:"stargazers_count"` WatchersCount int `json:"watchers_count"` Language string `json:"language"` HasIssues bool `json:"has_issues"` HasProjects bool `json:"has_projects"` HasDownloads bool `json:"has_downloads"` HasWiki bool `json:"has_wiki"` HasPages bool `json:"has_pages"` ForksCount int `json:"forks_count"` MirrorURL interface{} `json:"mirror_url"` Archived bool `json:"archived"` Disabled bool `json:"disabled"` OpenIssuesCount int `json:"open_issues_count"` License interface{} `json:"license"` Forks int `json:"forks"` OpenIssues int `json:"open_issues"` Watchers int `json:"watchers"` DefaultBranch string `json:"default_branch"` Stargazers int `json:"stargazers"` MasterBranch string `json:"master_branch"` } `json:"repository"` Pusher struct { Name string `json:"name"` Email string `json:"email"` } `json:"pusher"` Sender struct { Login string `json:"login"` ID int `json:"id"` NodeID string `json:"node_id"` AvatarURL string `json:"avatar_url"` GravatarID string `json:"gravatar_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` FollowersURL string `json:"followers_url"` FollowingURL string `json:"following_url"` GistsURL string `json:"gists_url"` StarredURL string `json:"starred_url"` SubscriptionsURL string `json:"subscriptions_url"` OrganizationsURL string `json:"organizations_url"` ReposURL string `json:"repos_url"` EventsURL string `json:"events_url"` ReceivedEventsURL string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` } `json:"sender"` Created bool `json:"created"` Deleted bool `json:"deleted"` Forced bool `json:"forced"` BaseRef interface{} `json:"base_ref"` Compare string `json:"compare"` Commits []struct { ID string `json:"id"` TreeID string `json:"tree_id"` Distinct bool `json:"distinct"` Message string `json:"message"` Timestamp time.Time `json:"timestamp"` URL string `json:"url"` Author struct { Name string `json:"name"` Email string `json:"email"` Username string `json:"username"` } `json:"author"` Committer struct { Name string `json:"name"` Email string `json:"email"` Username string `json:"username"` } `json:"committer"` Added []interface{} `json:"added"` Removed []interface{} `json:"removed"` Modified []string `json:"modified"` } `json:"commits"` HeadCommit struct { ID string `json:"id"` TreeID string `json:"tree_id"` Distinct bool `json:"distinct"` Message string `json:"message"` Timestamp time.Time `json:"timestamp"` URL string `json:"url"` Author struct { Name string `json:"name"` Email string `json:"email"` Username string `json:"username"` } `json:"author"` Committer struct { Name string `json:"name"` Email string `json:"email"` Username string `json:"username"` } `json:"committer"` Added []interface{} `json:"added"` Removed []interface{} `json:"removed"` Modified []string `json:"modified"` } `json:"head_commit"` }
GitHubPushPayload represents the webhook payload from bitbucket
type GitLabPushPayload ¶
type GitLabPushPayload struct { ObjectKind string `json:"object_kind"` Before string `json:"before"` After string `json:"after"` Ref string `json:"ref"` CheckoutSha string `json:"checkout_sha"` UserID int `json:"user_id"` UserName string `json:"user_name"` UserUsername string `json:"user_username"` UserEmail string `json:"user_email"` UserAvatar string `json:"user_avatar"` ProjectID int `json:"project_id"` Project struct { ID int `json:"Id"` Name string `json:"name"` Description string `json:"description"` WebURL string `json:"web_url"` AvatarURL interface{} `json:"avatar_url"` GitSSHURL string `json:"git_ssh_url"` GitHTTPURL string `json:"git_http_url"` Namespace string `json:"namespace"` VisibilityLevel int `json:"visibility_level"` PathWithNamespace string `json:"path_with_namespace"` DefaultBranch string `json:"default_branch"` Homepage string `json:"homepage"` URL string `json:"url"` SSHURL string `json:"ssh_url"` HTTPURL string `json:"http_url"` } `json:"project"` Repository struct { Name string `json:"name"` URL string `json:"url"` Description string `json:"description"` Homepage string `json:"homepage"` GitHTTPURL string `json:"git_http_url"` GitSSHURL string `json:"git_ssh_url"` VisibilityLevel int `json:"visibility_level"` } `json:"repository"` Commits []struct { ID string `json:"Id"` Message string `json:"message"` Title string `json:"title"` Timestamp time.Time `json:"timestamp"` URL string `json:"url"` Author struct { Name string `json:"name"` Email string `json:"Email"` } `json:"author"` Added []string `json:"added"` Modified []string `json:"modified"` Removed []interface{} `json:"removed"` } `json:"commits"` TotalCommitsCount int `json:"total_commits_count"` }
GitLabPushPayload represents the webhook payload from bitbucket
type GiteaPushPayload ¶
type GiteaPushPayload struct { Secret string `json:"secret"` Ref string `json:"ref"` Before string `json:"before"` After string `json:"after"` CompareURL string `json:"compare_url"` Commits []struct { ID string `json:"Id"` Message string `json:"message"` URL string `json:"url"` Author struct { Name string `json:"name"` Email string `json:"Email"` Username string `json:"username"` } `json:"author"` Committer struct { Name string `json:"name"` Email string `json:"Email"` Username string `json:"username"` } `json:"committer"` Verification interface{} `json:"verification"` Timestamp time.Time `json:"timestamp"` Added []interface{} `json:"added"` Removed []interface{} `json:"removed"` Modified []string `json:"modified"` } `json:"commits"` HeadCommit interface{} `json:"head_commit"` Repository struct { ID int `json:"Id"` Owner struct { ID int `json:"Id"` Login string `json:"login"` FullName string `json:"full_name"` Email string `json:"Email"` AvatarURL string `json:"avatar_url"` Language string `json:"language"` IsAdmin bool `json:"is_admin"` LastLogin time.Time `json:"last_login"` Created time.Time `json:"created"` Username string `json:"username"` } `json:"owner"` Name string `json:"name"` FullName string `json:"full_name"` Description string `json:"description"` Empty bool `json:"empty"` Private bool `json:"private"` Fork bool `json:"fork"` Template bool `json:"template"` Parent interface{} `json:"parent"` Mirror bool `json:"mirror"` Size int `json:"size"` HTMLURL string `json:"html_url"` SSHURL string `json:"ssh_url"` CloneURL string `json:"clone_url"` OriginalURL string `json:"original_url"` Website string `json:"website"` StarsCount int `json:"stars_count"` ForksCount int `json:"forks_count"` WatchersCount int `json:"watchers_count"` OpenIssuesCount int `json:"open_issues_count"` OpenPrCounter int `json:"open_pr_counter"` ReleaseCounter int `json:"release_counter"` DefaultBranch string `json:"default_branch"` Archived bool `json:"archived"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Permissions struct { Admin bool `json:"Admin"` Push bool `json:"push"` Pull bool `json:"pull"` } `json:"permissions"` HasIssues bool `json:"has_issues"` InternalTracker struct { EnableTimeTracker bool `json:"enable_time_tracker"` AllowOnlyContributorsToTrackTime bool `json:"allow_only_contributors_to_track_time"` EnableIssueDependencies bool `json:"enable_issue_dependencies"` } `json:"internal_tracker"` HasWiki bool `json:"has_wiki"` HasPullRequests bool `json:"has_pull_requests"` IgnoreWhitespaceConflicts bool `json:"ignore_whitespace_conflicts"` AllowMergeCommits bool `json:"allow_merge_commits"` AllowRebase bool `json:"allow_rebase"` AllowRebaseExplicit bool `json:"allow_rebase_explicit"` AllowSquashMerge bool `json:"allow_squash_merge"` AvatarURL string `json:"avatar_url"` } `json:"repository"` Pusher struct { ID int `json:"Id"` Login string `json:"login"` FullName string `json:"full_name"` Email string `json:"Email"` AvatarURL string `json:"avatar_url"` Language string `json:"language"` IsAdmin bool `json:"is_admin"` LastLogin time.Time `json:"last_login"` Created time.Time `json:"created"` Username string `json:"username"` } `json:"pusher"` Sender struct { ID int `json:"Id"` Login string `json:"login"` FullName string `json:"full_name"` Email string `json:"Email"` AvatarURL string `json:"avatar_url"` Language string `json:"language"` IsAdmin bool `json:"is_admin"` LastLogin time.Time `json:"last_login"` Created time.Time `json:"created"` Username string `json:"username"` } `json:"sender"` }
GiteaPushPayload represents the webhook payload from bitbucket
type LocalDeployment ¶
type RemoteDeployment ¶
type RemoteDeployment struct { Enabled bool `yaml:"enabled"` Host string `yaml:"host"` Port int `yaml:"port"` ConnectionType string `yaml:"connection_type"` Username string `yaml:"username"` Password string `yaml:"password"` WorkingDirectory string `yaml:"working_directory"` PreDeploymentSteps []string `yaml:"pre_deployment_steps"` PostDeploymentSteps []string `yaml:"post_deployment_steps"` }
type Repository ¶
type User ¶
type User struct { gorm.Model DisplayName string Email string Password string Locked bool Admin bool }
User defines a user account
type UserAction ¶
UserAction specific actions a user can execute against his own account without being logged in