Documentation
¶
Index ¶
- func Validate(secret, headerToken string) error
- type BranchResponse
- type Client
- func (c *Client) CanUserWriteToRepo(user git.User) (bool, error)
- func (c *Client) DeleteLabel(issueType git.IssueType, id int, label string) error
- func (c *Client) DeleteWebhook(id int) error
- func (c *Client) GetBranch(branch string) (*git.Branch, error)
- func (c *Client) GetPullRequest(id int) (*git.PullRequest, error)
- func (c *Client) GetUserInfo(userID string) (*git.User, error)
- func (c *Client) Init() error
- func (c *Client) ListCommitStatuses(ref string) ([]git.CommitStatus, error)
- func (c *Client) ListPullRequests(onlyOpen bool) ([]git.PullRequest, error)
- func (c *Client) ListWebhook() ([]git.WebhookEntry, error)
- func (c *Client) MergePullRequest(id int, sha string, method git.MergeMethod, _ string) error
- func (c *Client) ParseWebhook(header http.Header, jsonString []byte) (*git.Webhook, error)
- func (c *Client) RegisterComment(issueType git.IssueType, issueNo int, body string) error
- func (c *Client) RegisterWebhook(uri string) error
- func (c *Client) SetCommitStatus(sha string, status git.CommitStatus) error
- func (c *Client) SetLabel(issueType git.IssueType, id int, label string) error
- type CommentBody
- type CommitStatusRequest
- type CommitStatusResponse
- type Label
- type MergeAcceptRequest
- type MergeRequest
- type MergeRequestWebhook
- type NoteHook
- type Project
- type PushWebhook
- type RegistrationWebhookBody
- type UpdateMergeRequest
- type User
- type UserInfo
- type UserPermission
- type WebhookEntry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BranchResponse ¶ added in v0.3.0
type BranchResponse struct { Name string `json:"name"` Commit struct { ID string `json:"id"` Title string `json:"title"` } }
BranchResponse is a respond struct for branch request
type Client ¶
type Client struct { IntegrationConfig *cicdv1.IntegrationConfig K8sClient client.Client // contains filtered or unexported fields }
Client is a gitlab client struct
func (*Client) CanUserWriteToRepo ¶ added in v0.2.0
CanUserWriteToRepo decides if the user has write permission on the repo
func (*Client) DeleteLabel ¶ added in v0.3.0
DeleteLabel deletes label from the issue id
func (*Client) DeleteWebhook ¶
DeleteWebhook deletes registered webhook
func (*Client) GetPullRequest ¶ added in v0.3.0
func (c *Client) GetPullRequest(id int) (*git.PullRequest, error)
GetPullRequest gets pull request info
func (*Client) GetUserInfo ¶ added in v0.1.4
GetUserInfo gets a user's information
func (*Client) ListCommitStatuses ¶ added in v0.3.0
func (c *Client) ListCommitStatuses(ref string) ([]git.CommitStatus, error)
ListCommitStatuses lists commit status of the specific commit
func (*Client) ListPullRequests ¶ added in v0.3.0
func (c *Client) ListPullRequests(onlyOpen bool) ([]git.PullRequest, error)
ListPullRequests gets pull request list
func (*Client) ListWebhook ¶
func (c *Client) ListWebhook() ([]git.WebhookEntry, error)
ListWebhook lists registered webhooks
func (*Client) MergePullRequest ¶ added in v0.3.0
MergePullRequest merges a pull request
func (*Client) ParseWebhook ¶
ParseWebhook parses a webhook body for gitlab
func (*Client) RegisterComment ¶ added in v0.2.0
RegisterComment registers comment to an issue
func (*Client) RegisterWebhook ¶
RegisterWebhook registers our webhook server to the remote git server
func (*Client) SetCommitStatus ¶
func (c *Client) SetCommitStatus(sha string, status git.CommitStatus) error
SetCommitStatus sets commit status for the specific commit
type CommentBody ¶ added in v0.2.0
type CommentBody struct {
Body string `json:"body"`
}
CommentBody is a body structure for creating new comment
type CommitStatusRequest ¶ added in v0.3.0
type CommitStatusRequest struct { State string `json:"state"` TargetURL string `json:"target_url"` Description string `json:"description"` Context string `json:"context"` }
CommitStatusRequest is an API body for setting commits' status
type CommitStatusResponse ¶ added in v0.3.0
type CommitStatusResponse struct { Name string `json:"name"` Status string `json:"status"` Description string `json:"description"` TargetURL string `json:"target_url"` }
CommitStatusResponse is a response body of getting commit status
type Label ¶ added in v0.3.1
type Label struct {
Title string `json:"title"`
}
Label is a label struct of an issue/merge request
type MergeAcceptRequest ¶ added in v0.3.0
type MergeAcceptRequest struct { //MergeCommitMessage string `json:"merge_commit_message"` //SquashCommitMessage string `json:"squash_commit_message"` Squash bool `json:"squash"` Sha string `json:"sha"` RemoveSourceBranch bool `json:"should_remove_source_branch"` }
MergeAcceptRequest is a request struct to merge a merge request
type MergeRequest ¶ added in v0.3.0
type MergeRequest struct { ID int `json:"iid"` Title string `json:"title"` State string `json:"state"` Author struct { ID int `json:"id"` UserName string `json:"username"` } `json:"author"` WebURL string `json:"web_url"` TargetBranch string `json:"target_branch"` SourceBranch string `json:"source_branch"` SHA string `json:"sha"` Labels []string `json:"labels"` HasConflicts bool `json:"has_conflicts"` }
MergeRequest is a body struct of a merge request
type MergeRequestWebhook ¶
type MergeRequestWebhook struct { Kind string `json:"kind"` User User `json:"user"` ObjectAttribute struct { AuthorID int `json:"author_id"` Title string `json:"title"` ID int `json:"iid"` BaseRef string `json:"target_branch"` HeadRef string `json:"source_branch"` LastCommit struct { Sha string `json:"id"` } `json:"last_commit"` State string `json:"state"` Action string `json:"action"` OldRev string `json:"oldrev"` } `json:"object_attributes"` Project Project `json:"project"` Labels []Label `json:"labels"` Changes struct { Labels *struct { Previous []Label `json:"previous"` Current []Label `json:"current"` } `json:"labels,omitempty"` } `json:"changes"` }
MergeRequestWebhook is a gitlab-specific merge-request event webhook body
type NoteHook ¶ added in v0.2.0
type NoteHook struct { User User `json:"user"` Project Project `json:"project"` ObjectAttributes struct { Note string `json:"note"` AuthorID int `json:"author_id"` CreatedAt gitlabTime `json:"created_at"` UpdatedAt gitlabTime `json:"updated_at"` } `json:"object_attributes"` MergeRequest struct { ID int `json:"iid"` Title string `json:"title"` State string `json:"state"` URL string `json:"url"` AuthorID int `json:"author_id"` SourceBranch string `json:"source_branch"` TargetBranch string `json:"target_branch"` LastCommit struct { ID string `json:"id"` } `json:"last_commit"` } `json:"merge_request"` }
NoteHook is a gitlab-specific issue comment webhook body
type PushWebhook ¶
type PushWebhook struct { Kind string `json:"object_kind"` Ref string `json:"ref"` Project Project `json:"project"` UserName string `json:"user_name"` UserID int `json:"user_id"` Sha string `json:"after"` }
PushWebhook is a gitlab-specific push event webhook body
type RegistrationWebhookBody ¶
type RegistrationWebhookBody struct { EnableSSLVerification bool `json:"enable_ssl_verification"` ConfidentialIssueEvents bool `json:"confidential_issues_events"` ConfidentialNoteEvents bool `json:"confidential_note_events"` DeploymentEvents bool `json:"deployment_events"` ID string `json:"id"` IssueEvents bool `json:"issues_events"` JobEvents bool `json:"job_events"` MergeRequestEvents bool `json:"merge_requests_events"` NoteEvents bool `json:"note_events"` PipeLineEvents bool `json:"pipeline_events"` PushEvents bool `json:"push_events"` TagPushEvents bool `json:"tag_push_events"` WikiPageEvents bool `json:"wiki_page_events"` URL string `json:"url"` Token string `json:"token"` }
RegistrationWebhookBody is a body for requesting webhook registration for the remote git server
type UpdateMergeRequest ¶ added in v0.3.0
type UpdateMergeRequest struct { AddLabels string `json:"add_labels"` RemoveLabels string `json:"remove_labels"` }
UpdateMergeRequest is a struct to update a merge request
type UserInfo ¶ added in v0.1.4
type UserInfo struct { ID int `json:"id"` UserName string `json:"username"` PublicEmail string `json:"public_email"` Email string `json:"email"` }
UserInfo is a body of user get API
type UserPermission ¶ added in v0.2.0
type UserPermission struct {
AccessLevel int `json:"access_level"`
}
UserPermission is a user's permission on a repository
type WebhookEntry ¶
WebhookEntry is a body of list of registered webhooks