Documentation ¶
Index ¶
- Variables
- type Comment
- type Event
- type Issue
- type IssueChanges
- type IssueChangesAssignee
- type IssueChangesStatus
- type IssueCommentCreatedPayload
- type IssueCreatedPayload
- type IssueUpdatedPayload
- type Option
- type Owner
- type Payload
- type Project
- type PullRequest
- type PullRequestApprovedPayload
- type PullRequestCommentCreatedPayload
- type PullRequestCommentDeletedPayload
- type PullRequestCommentUpdatedPayload
- type PullRequestCreatedPayload
- type PullRequestDeclinedPayload
- type PullRequestMergedPayload
- type PullRequestUnapprovedPayload
- type PullRequestUpdatedPayload
- type RepoCommitCommentCreatedPayload
- type RepoCommitStatusCreatedPayload
- type RepoCommitStatusUpdatedPayload
- type RepoForkPayload
- type RepoPushChange
- type RepoPushChangeCommit
- type RepoPushChangeLinks
- type RepoPushChangeState
- type RepoPushChangeStateLinks
- type RepoPushPayload
- type RepoUpdatedPayload
- type Repository
- type Webhook
- type WebhookOptions
Constants ¶
This section is empty.
Variables ¶
var ( ErrEventNotSpecifiedToParse = errors.New("no Event specified to parse") ErrInvalidHTTPMethod = errors.New("invalid HTTP Method") ErrMissingHookUUIDHeader = errors.New("missing X-Hook-UUID Header") ErrMissingEventKeyHeader = errors.New("missing X-Event-Key Header") ErrEventNotFound = errors.New("event not defined to be parsed") ErrParsingPayload = errors.New("error parsing payload") ErrUUIDVerificationFailed = errors.New("UUID verification failed") )
parse errors
var Options = WebhookOptions{}
Options is a namespace var for configuration options
Functions ¶
This section is empty.
Types ¶
type Comment ¶
type Comment struct { ID int64 `json:"id"` Parent struct { ID int64 `json:"id"` } `json:"parent"` Content struct { Raw string `json:"raw"` HTML string `json:"html"` Markup string `json:"markup"` } `json:"content"` Inline struct { Path string `json:"path"` From *int64 `json:"from"` To int64 `json:"to"` } `json:"inline"` CreatedOn time.Time `json:"created_on"` UpdatedOn time.Time `json:"updated_on"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` }
Comment is the common Bitbucket Comment Sub Entity
type Event ¶
type Event string
Event defines a Bitbucket hook event type
const ( RepoPushEvent Event = "repo:push" RepoForkEvent Event = "repo:fork" RepoUpdatedEvent Event = "repo:updated" RepoCommitCommentCreatedEvent Event = "repo:commit_comment_created" RepoCommitStatusCreatedEvent Event = "repo:commit_status_created" RepoCommitStatusUpdatedEvent Event = "repo:commit_status_updated" IssueCreatedEvent Event = "issue:created" IssueUpdatedEvent Event = "issue:updated" IssueCommentCreatedEvent Event = "issue:comment_created" PullRequestCreatedEvent Event = "pullrequest:created" PullRequestUpdatedEvent Event = "pullrequest:updated" PullRequestApprovedEvent Event = "pullrequest:approved" PullRequestUnapprovedEvent Event = "pullrequest:unapproved" PullRequestMergedEvent Event = "pullrequest:fulfilled" PullRequestDeclinedEvent Event = "pullrequest:rejected" PullRequestCommentCreatedEvent Event = "pullrequest:comment_created" PullRequestCommentUpdatedEvent Event = "pullrequest:comment_updated" PullRequestCommentDeletedEvent Event = "pullrequest:comment_deleted" )
Bitbucket hook types
type Issue ¶
type Issue struct { ID int64 `json:"id"` Component string `json:"component"` Title string `json:"title"` Content struct { Raw string `json:"raw"` HTML string `json:"html"` Markup string `json:"markup"` } `json:"content"` Priority string `json:"priority"` State string `json:"state"` Type string `json:"type"` Milestone struct { Name string `json:"name"` } `json:"milestone"` Version struct { Name string `json:"name"` } `json:"version"` CreatedOn time.Time `json:"created_on"` Reporter Owner `json:"reporter"` UpdatedOn time.Time `json:"updated_on"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` }
Issue is the common Bitbucket Issue Sub Entity
type IssueChanges ¶
type IssueChanges struct { Assignee IssueChangesAssignee `json:"assignee"` Status IssueChangesStatus `json:"status"` }
IssueChanges is a part of the Bitbucket issue:updated payload
type IssueChangesAssignee ¶
IssueChangesAssignee is a part of the Bitbucket issue:updated payload
type IssueChangesStatus ¶
IssueChangesStatus is a part of the Bitbucket issue:updated payload
type IssueCommentCreatedPayload ¶
type IssueCommentCreatedPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` Issue Issue `json:"issue"` Comment Comment `json:"comment"` }
IssueCommentCreatedPayload is the Bitbucket pullrequest:created payload
func (IssueCommentCreatedPayload) GetActor ¶
func (pl IssueCommentCreatedPayload) GetActor() Owner
func (IssueCommentCreatedPayload) GetRepository ¶
func (pl IssueCommentCreatedPayload) GetRepository() Repository
type IssueCreatedPayload ¶
type IssueCreatedPayload struct { Actor Owner `json:"actor"` Issue Issue `json:"issue"` Repository Repository `json:"repository"` }
IssueCreatedPayload is the Bitbucket issue:created payload
func (IssueCreatedPayload) GetActor ¶
func (pl IssueCreatedPayload) GetActor() Owner
func (IssueCreatedPayload) GetRepository ¶
func (pl IssueCreatedPayload) GetRepository() Repository
type IssueUpdatedPayload ¶
type IssueUpdatedPayload struct { Actor Owner `json:"actor"` Issue Issue `json:"issue"` Repository Repository `json:"repository"` Comment Comment `json:"comment"` Changes IssueChanges `json:"changes"` }
IssueUpdatedPayload is the Bitbucket issue:updated payload
func (IssueUpdatedPayload) GetActor ¶
func (pl IssueUpdatedPayload) GetActor() Owner
func (IssueUpdatedPayload) GetRepository ¶
func (pl IssueUpdatedPayload) GetRepository() Repository
type Owner ¶
type Owner struct { Type string `json:"type"` NickName string `json:"nickname"` DisplayName string `json:"display_name"` AccountID string `json:"account_id"` 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"` }
Owner is the common Bitbucket Owner Sub Entity
type Payload ¶
type Payload interface { GetRepository() Repository GetActor() Owner }
type Project ¶
type Project struct { Type string `json:"type"` Project string `json:"project"` UUID string `json:"uuid"` Links struct { HTML struct { Href string `json:"href"` } `json:"html"` Avatar struct { Href string `json:"href"` } `json:"avatar"` } `json:"links"` Key string `json:"key"` }
Project is the common Bitbucket Project Sub Entity
type PullRequest ¶
type PullRequest struct { ID int64 `json:"id"` Title string `json:"title"` Description string `json:"description"` State string `json:"state"` Author Owner `json:"author"` Source struct { Branch struct { Name string `json:"name"` } `json:"branch"` Commit struct { Hash string `json:"hash"` } `json:"commit"` Repository Repository `json:"repository"` } `json:"source"` Destination struct { Branch struct { Name string `json:"name"` } `json:"branch"` Commit struct { Hash string `json:"hash"` } `json:"commit"` Repository Repository `json:"repository"` } `json:"destination"` MergeCommit struct { Hash string `json:"hash"` } `json:"merge_commit"` Participants []Owner `json:"participants"` Reviewers []Owner `json:"reviewers"` CloseSourceBranch bool `json:"close_source_branch"` ClosedBy Owner `json:"closed_by"` Reason string `json:"reason"` Rendered struct { Description struct { HTML string `json:"html"` } `json:"description"` } `json:"rendered"` CreatedOn time.Time `json:"created_on"` UpdatedOn time.Time `json:"updated_on"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` }
PullRequest is the common Bitbucket Pull Request Sub Entity
type PullRequestApprovedPayload ¶
type PullRequestApprovedPayload struct { Actor Owner `json:"actor"` PullRequest PullRequest `json:"pullrequest"` Repository Repository `json:"repository"` Approval struct { Date time.Time `json:"date"` User Owner `json:"user"` } `json:"approval"` }
PullRequestApprovedPayload is the Bitbucket pullrequest:approved payload
func (PullRequestApprovedPayload) GetActor ¶
func (pl PullRequestApprovedPayload) GetActor() Owner
func (PullRequestApprovedPayload) GetRepository ¶
func (pl PullRequestApprovedPayload) GetRepository() Repository
type PullRequestCommentCreatedPayload ¶
type PullRequestCommentCreatedPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` PullRequest PullRequest `json:"pullrequest"` Comment Comment `json:"comment"` }
PullRequestCommentCreatedPayload is the Bitbucket pullrequest:comment_updated payload
func (PullRequestCommentCreatedPayload) GetActor ¶
func (pl PullRequestCommentCreatedPayload) GetActor() Owner
func (PullRequestCommentCreatedPayload) GetRepository ¶
func (pl PullRequestCommentCreatedPayload) GetRepository() Repository
type PullRequestCommentDeletedPayload ¶
type PullRequestCommentDeletedPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` PullRequest PullRequest `json:"pullrequest"` Comment Comment `json:"comment"` }
PullRequestCommentDeletedPayload is the Bitbucket pullrequest:comment_deleted payload
func (PullRequestCommentDeletedPayload) GetActor ¶
func (pl PullRequestCommentDeletedPayload) GetActor() Owner
func (PullRequestCommentDeletedPayload) GetRepository ¶
func (pl PullRequestCommentDeletedPayload) GetRepository() Repository
type PullRequestCommentUpdatedPayload ¶
type PullRequestCommentUpdatedPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` PullRequest PullRequest `json:"pullrequest"` Comment Comment `json:"comment"` }
PullRequestCommentUpdatedPayload is the Bitbucket pullrequest:comment_created payload
func (PullRequestCommentUpdatedPayload) GetActor ¶
func (pl PullRequestCommentUpdatedPayload) GetActor() Owner
func (PullRequestCommentUpdatedPayload) GetRepository ¶
func (pl PullRequestCommentUpdatedPayload) GetRepository() Repository
type PullRequestCreatedPayload ¶
type PullRequestCreatedPayload struct { Actor Owner `json:"actor"` PullRequest PullRequest `json:"pullrequest"` Repository Repository `json:"repository"` }
PullRequestCreatedPayload is the Bitbucket pullrequest:created payload
func (PullRequestCreatedPayload) GetActor ¶
func (pl PullRequestCreatedPayload) GetActor() Owner
func (PullRequestCreatedPayload) GetRepository ¶
func (pl PullRequestCreatedPayload) GetRepository() Repository
type PullRequestDeclinedPayload ¶
type PullRequestDeclinedPayload struct { Actor Owner `json:"actor"` PullRequest PullRequest `json:"pullrequest"` Repository Repository `json:"repository"` }
PullRequestDeclinedPayload is the Bitbucket pullrequest:rejected payload
func (PullRequestDeclinedPayload) GetActor ¶
func (pl PullRequestDeclinedPayload) GetActor() Owner
func (PullRequestDeclinedPayload) GetRepository ¶
func (pl PullRequestDeclinedPayload) GetRepository() Repository
type PullRequestMergedPayload ¶
type PullRequestMergedPayload struct { Actor Owner `json:"actor"` PullRequest PullRequest `json:"pullrequest"` Repository Repository `json:"repository"` }
PullRequestMergedPayload is the Bitbucket pullrequest:fulfilled payload
func (PullRequestMergedPayload) GetActor ¶
func (pl PullRequestMergedPayload) GetActor() Owner
func (PullRequestMergedPayload) GetRepository ¶
func (pl PullRequestMergedPayload) GetRepository() Repository
type PullRequestUnapprovedPayload ¶
type PullRequestUnapprovedPayload struct { Actor Owner `json:"actor"` PullRequest PullRequest `json:"pullrequest"` Repository Repository `json:"repository"` Approval struct { Date time.Time `json:"date"` User Owner `json:"user"` } `json:"approval"` }
PullRequestUnapprovedPayload is the Bitbucket pullrequest:unapproved payload
func (PullRequestUnapprovedPayload) GetActor ¶
func (pl PullRequestUnapprovedPayload) GetActor() Owner
func (PullRequestUnapprovedPayload) GetRepository ¶
func (pl PullRequestUnapprovedPayload) GetRepository() Repository
type PullRequestUpdatedPayload ¶
type PullRequestUpdatedPayload struct { Actor Owner `json:"actor"` PullRequest PullRequest `json:"pullrequest"` Repository Repository `json:"repository"` }
PullRequestUpdatedPayload is the Bitbucket pullrequest:updated payload
func (PullRequestUpdatedPayload) GetActor ¶
func (pl PullRequestUpdatedPayload) GetActor() Owner
func (PullRequestUpdatedPayload) GetRepository ¶
func (pl PullRequestUpdatedPayload) GetRepository() Repository
type RepoCommitCommentCreatedPayload ¶
type RepoCommitCommentCreatedPayload struct { Actor Owner `json:"actor"` Comment Comment `json:"comment"` Repository Repository `json:"repository"` Commit struct { Hash string `json:"hash"` } `json:"commit"` }
RepoCommitCommentCreatedPayload is the Bitbucket repo:commit_comment_created payload
func (RepoCommitCommentCreatedPayload) GetActor ¶
func (pl RepoCommitCommentCreatedPayload) GetActor() Owner
func (RepoCommitCommentCreatedPayload) GetRepository ¶
func (pl RepoCommitCommentCreatedPayload) GetRepository() Repository
type RepoCommitStatusCreatedPayload ¶
type RepoCommitStatusCreatedPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` CommitStatus struct { Name string `json:"name"` Description string `json:"description"` State string `json:"state"` Key string `json:"key"` URL string `json:"url"` Type string `json:"type"` CreatedOn time.Time `json:"created_on"` UpdatedOn time.Time `json:"updated_on"` Links struct { Commit struct { Href string `json:"href"` } `json:"commit"` Self struct { Href string `json:"href"` } `json:"self"` } `json:"links"` } `json:"commit_status"` }
RepoCommitStatusCreatedPayload is the Bitbucket repo:commit_status_created payload
func (RepoCommitStatusCreatedPayload) GetActor ¶
func (pl RepoCommitStatusCreatedPayload) GetActor() Owner
func (RepoCommitStatusCreatedPayload) GetRepository ¶
func (pl RepoCommitStatusCreatedPayload) GetRepository() Repository
type RepoCommitStatusUpdatedPayload ¶
type RepoCommitStatusUpdatedPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` CommitStatus struct { Name string `json:"name"` Description string `json:"description"` State string `json:"state"` Key string `json:"key"` URL string `json:"url"` Type string `json:"type"` CreatedOn time.Time `json:"created_on"` UpdatedOn time.Time `json:"updated_on"` Links struct { Commit struct { Href string `json:"href"` } `json:"commit"` Self struct { Href string `json:"href"` } `json:"self"` } `json:"links"` } `json:"commit_status"` }
RepoCommitStatusUpdatedPayload is the Bitbucket repo:commit_status_updated payload
func (RepoCommitStatusUpdatedPayload) GetActor ¶
func (pl RepoCommitStatusUpdatedPayload) GetActor() Owner
func (RepoCommitStatusUpdatedPayload) GetRepository ¶
func (pl RepoCommitStatusUpdatedPayload) GetRepository() Repository
type RepoForkPayload ¶
type RepoForkPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` Fork Repository `json:"fork"` }
RepoForkPayload is the Bitbucket repo:fork payload
func (RepoForkPayload) GetActor ¶
func (pl RepoForkPayload) GetActor() Owner
func (RepoForkPayload) GetRepository ¶
func (pl RepoForkPayload) GetRepository() Repository
type RepoPushChange ¶
type RepoPushChange struct { New RepoPushChangeState `json:"new"` Old RepoPushChangeState `json:"old"` Links RepoPushChangeLinks `json:"links"` Created bool `json:"created"` Forced bool `json:"forced"` Closed bool `json:"closed"` Commits []RepoPushChangeCommit `json:"commits"` Truncated bool `json:"truncated"` }
RepoPushChange is a part of the Bitbucket repo:push payload
type RepoPushChangeCommit ¶
type RepoPushChangeCommit struct { Hash string `json:"hash"` Type string `json:"type"` Message string `json:"message"` Author struct { User Owner `json:"user"` } `json:"author"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` }
RepoPushChangeCommit is a part of the Bitbucket repo:push payload
type RepoPushChangeLinks ¶
type RepoPushChangeLinks struct { HTML struct { Href string `json:"href"` } `json:"html"` Diff struct { Href string `json:"href"` } `json:"diff"` Commits struct { Href string `json:"href"` } `json:"commits"` }
RepoPushChangeLinks is a part of the Bitbucket repo:push payload
type RepoPushChangeState ¶
type RepoPushChangeState struct { Type string `json:"type"` Name string `json:"name"` Target struct { Type string `json:"type"` Hash string `json:"hash"` Author Owner `json:"author"` Message string `json:"message"` Date time.Time `json:"date"` Parents []struct { Type string `json:"type"` Hash string `json:"hash"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` } `json:"parents"` Links struct { Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"links"` } `json:"target"` Links RepoPushChangeStateLinks `json:"links"` }
RepoPushChangeState is a part of the Bitbucket repo:push payload
type RepoPushChangeStateLinks ¶
type RepoPushChangeStateLinks struct { Self struct { Href string `json:"href"` } `json:"self"` Commits struct { Href string `json:"href"` } `json:"commits"` HTML struct { Href string `json:"href"` } `json:"html"` }
RepoPushChangeStateLinks is a part of the Bitbucket repo:push payload
type RepoPushPayload ¶
type RepoPushPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` Push struct { Changes []RepoPushChange `json:"changes"` } `json:"push"` }
RepoPushPayload is the Bitbucket repo:push payload
func (RepoPushPayload) GetActor ¶
func (pl RepoPushPayload) GetActor() Owner
func (RepoPushPayload) GetRepository ¶
func (pl RepoPushPayload) GetRepository() Repository
type RepoUpdatedPayload ¶
type RepoUpdatedPayload struct { Actor Owner `json:"actor"` Repository Repository `json:"repository"` Changes struct { Name struct { New string `json:"new"` Old string `json:"old"` } `json:"name"` Website struct { New string `json:"new"` Old string `json:"old"` } `json:"website"` Language struct { New string `json:"new"` Old string `json:"old"` } `json:"language"` Links struct { New struct { Avatar struct { Href string `json:"href"` } `json:"avatar"` Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"new"` Old struct { Avatar struct { Href string `json:"href"` } `json:"avatar"` Self struct { Href string `json:"href"` } `json:"self"` HTML struct { Href string `json:"href"` } `json:"html"` } `json:"old"` } `json:"links"` Description struct { New string `json:"new"` Old string `json:"old"` } `json:"description"` FullName struct { New string `json:"new"` Old string `json:"old"` } `json:"full_name"` } `json:"changes"` }
RepoUpdatedPayload is the Bitbucket repo:updated payload
func (RepoUpdatedPayload) GetActor ¶
func (pl RepoUpdatedPayload) GetActor() Owner
func (RepoUpdatedPayload) GetRepository ¶
func (pl RepoUpdatedPayload) GetRepository() Repository
type Repository ¶
type Repository struct { Type string `json:"type"` 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"` UUID string `json:"uuid"` Project Project `json:"project"` FullName string `json:"full_name"` Name string `json:"name"` Website string `json:"website"` Owner Owner `json:"owner"` Scm string `json:"scm"` IsPrivate bool `json:"is_private"` }
Repository is the common Bitbucket Repository Sub Entity
type Webhook ¶
type Webhook struct {
// contains filtered or unexported fields
}
Webhook instance contains all methods needed to process events
type WebhookOptions ¶
type WebhookOptions struct{}
WebhookOptions is a namespace for configuration option methods
func (WebhookOptions) UUID ¶
func (WebhookOptions) UUID(uuid string) Option
UUID registers the BitBucket secret