Documentation
¶
Index ¶
- func Validate(secret, headerToken string) error
- type Client
- func (c *Client) CanUserWriteToRepo(user git.User) (bool, error)
- func (c *Client) DeleteWebhook(id int) error
- func (c *Client) GetUserInfo(userID string) (*git.User, error)
- func (c *Client) Init() error
- func (c *Client) ListWebhook() ([]git.WebhookEntry, 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(integrationJob *cicdv1.IntegrationJob, context string, ...) error
- type CommentBody
- type CommitStatusBody
- type MergeRequestWebhook
- type NoteHook
- type Project
- type PushWebhook
- type RegistrationWebhookBody
- type User
- type UserInfo
- type UserPermission
- type WebhookEntry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
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) DeleteWebhook ¶
DeleteWebhook deletes registered webhook
func (*Client) GetUserInfo ¶ added in v0.1.4
GetUserInfo gets a user's information
func (*Client) ListWebhook ¶
func (c *Client) ListWebhook() ([]git.WebhookEntry, error)
ListWebhook lists registered webhooks
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(integrationJob *cicdv1.IntegrationJob, context string, state git.CommitStatusState, description, targetURL string) 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 CommitStatusBody ¶
type CommitStatusBody struct { State string `json:"state"` TargetURL string `json:"target_url"` Description string `json:"description"` Context string `json:"context"` }
CommitStatusBody is an API body for setting commits' status
type MergeRequestWebhook ¶
type MergeRequestWebhook struct { Kind string `json:"kind"` User User `json:"user"` ObjectAttribute struct { Title string `json:"title"` ID int `json:"id"` 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"` } `json:"object_attributes"` Project Project `json:"project"` }
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:"id"` 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 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