Documentation
¶
Index ¶
- Constants
- type ApiUserResponse
- type ApiVersionResponse
- type GitlabAccount
- type GitlabApiParams
- type GitlabApiProject
- type GitlabCommit
- type GitlabConn
- type GitlabConnection
- type GitlabIssue
- type GitlabIssueAssignee
- type GitlabIssueLabel
- type GitlabJob
- type GitlabMergeRequest
- type GitlabMrComment
- type GitlabMrCommit
- type GitlabMrLabel
- type GitlabMrNote
- type GitlabPipeline
- type GitlabPipelineProject
- type GitlabProject
- type GitlabProjectCommit
- type GitlabResponse
- type GitlabReviewer
- type GitlabScopeConfig
- type GitlabTag
- type GroupResponse
Constants ¶
View Source
const GitlabApiClientData_ApiVersion string = "ApiVersion"
View Source
const GitlabApiClientData_UserId string = "UserId"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiUserResponse ¶
Using User because it requires authentication.
type ApiVersionResponse ¶
type GitlabAccount ¶
type GitlabAccount struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey" json:"id"`
Username string `gorm:"type:varchar(255)"`
Email string `gorm:"type:varchar(255)"`
Name string `gorm:"type:varchar(255)"`
State string `gorm:"type:varchar(255)"`
MembershipState string `json:"membership_state" gorm:"type:varchar(255)"`
AvatarUrl string `json:"avatar_url" gorm:"type:varchar(255)"`
WebUrl string `json:"web_url" gorm:"type:varchar(255)"`
common.NoPKModel
}
func (GitlabAccount) TableName ¶
func (GitlabAccount) TableName() string
type GitlabApiParams ¶
type GitlabApiProject ¶
type GitlabApiProject struct {
GitlabId int `json:"id"`
Name string `josn:"name"`
Description string `json:"description"`
DefaultBranch string `json:"default_branch"`
PathWithNamespace string `json:"path_with_namespace"`
WebUrl string `json:"web_url"`
CreatorId int
Visibility string `json:"visibility"`
OpenIssuesCount int `json:"open_issues_count"`
StarCount int `json:"star_count"`
ForkedFromProject *GitlabApiProject `json:"forked_from_project"`
CreatedAt helper.Iso8601Time `json:"created_at"`
LastActivityAt *helper.Iso8601Time `json:"last_activity_at"`
HttpUrlToRepo string `json:"http_url_to_repo"`
}
func (GitlabApiProject) ConvertApiScope ¶
func (gitlabApiProject GitlabApiProject) ConvertApiScope() plugin.ToolLayerScope
Convert the API response to our DB model instance
type GitlabCommit ¶
type GitlabCommit struct {
Sha string `gorm:"primaryKey;type:varchar(40)"`
Title string
Message string
ShortId string `gorm:"type:varchar(255)"`
AuthorName string `gorm:"type:varchar(255)"`
AuthorEmail string `gorm:"type:varchar(255)"`
AuthoredDate time.Time
CommitterName string `gorm:"type:varchar(255)"`
CommitterEmail string `gorm:"type:varchar(255)"`
CommittedDate time.Time
WebUrl string `gorm:"type:varchar(255)"`
Additions int `gorm:"comment:Added lines of code"`
Deletions int `gorm:"comment:Deleted lines of code"`
Total int `gorm:"comment:Sum of added/deleted lines of code"`
common.NoPKModel
}
func (GitlabCommit) TableName ¶
func (GitlabCommit) TableName() string
type GitlabConn ¶
type GitlabConn struct {
api.RestConnection `mapstructure:",squash"`
api.AccessToken `mapstructure:",squash"`
}
GitlabConn holds the essential information to connect to the Gitlab API
func (*GitlabConn) PrepareApiClient ¶
func (conn *GitlabConn) PrepareApiClient(apiClient apihelperabstract.ApiClientAbstract) errors.Error
PrepareApiClient test api and set the IsPrivateToken,version,UserId and so on.
func (*GitlabConn) SetupAuthentication ¶
func (conn *GitlabConn) SetupAuthentication(request *http.Request) errors.Error
this function is used to rewrite the same function of AccessToken
type GitlabConnection ¶
type GitlabConnection struct {
api.BaseConnection `mapstructure:",squash"`
GitlabConn `mapstructure:",squash"`
}
GitlabConnection holds GitlabConn plus ID/Name for database storage
func (GitlabConnection) TableName ¶
func (GitlabConnection) TableName() string
type GitlabIssue ¶
type GitlabIssue struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
ProjectId int `gorm:"index"`
Number int `gorm:"index;comment:Used in API requests ex. api/repo/1/issue/<THIS_NUMBER>"`
State string `gorm:"type:varchar(255)"`
Title string
Body string
Priority string `gorm:"type:varchar(255)"`
Type string `gorm:"type:varchar(100)"`
StdType string `gorm:"type:varchar(100)"`
Status string `gorm:"type:varchar(255)"`
CreatorId int
CreatorName string `gorm:"type:varchar(255)"`
AssigneeId int
AssigneeName string `gorm:"type:varchar(255)"`
LeadTimeMinutes uint
Url string `gorm:"type:varchar(255)"`
ClosedAt *time.Time
GitlabCreatedAt time.Time
GitlabUpdatedAt time.Time `gorm:"index"`
Severity string `gorm:"type:varchar(255)"`
Component string `gorm:"type:varchar(255)"`
TimeEstimate int64
TotalTimeSpent int64
common.NoPKModel
}
func (GitlabIssue) TableName ¶
func (GitlabIssue) TableName() string
type GitlabIssueAssignee ¶
type GitlabIssueAssignee struct {
common.NoPKModel
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
ProjectId int `gorm:"primaryKey"`
AssigneeId int `gorm:"primaryKey"`
AssigneeName string `gorm:"type:varchar(255)"`
}
func (GitlabIssueAssignee) TableName ¶
func (GitlabIssueAssignee) TableName() string
type GitlabIssueLabel ¶
type GitlabIssueLabel struct {
ConnectionId uint64 `gorm:"primaryKey"`
IssueId int `gorm:"primaryKey;autoIncrement:false"`
LabelName string `gorm:"primaryKey;type:varchar(255)"`
common.NoPKModel
}
func (GitlabIssueLabel) TableName ¶
func (GitlabIssueLabel) TableName() string
type GitlabJob ¶
type GitlabJob struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
ProjectId int `gorm:"index"`
PipelineId int `gorm:"index"`
Status string `gorm:"type:varchar(255)"`
Stage string `gorm:"type:varchar(255)"`
Name string `gorm:"type:varchar(255)"`
Ref string `gorm:"type:varchar(255)"`
Tag bool `gorm:"type:boolean"`
AllowFailure bool `json:"allow_failure"`
Duration float64 `gorm:"type:float8"`
WebUrl string `gorm:"type:varchar(255)"`
GitlabCreatedAt *time.Time
StartedAt *time.Time
FinishedAt *time.Time
common.NoPKModel
}
type GitlabMergeRequest ¶
type GitlabMergeRequest struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
Iid int `gorm:"index"`
ProjectId int `gorm:"index"`
SourceProjectId int
TargetProjectId int
State string `gorm:"type:varchar(255)"`
Title string
WebUrl string `gorm:"type:varchar(255)"`
UserNotesCount int
WorkInProgress bool
IsDetailRequired bool
SourceBranch string `gorm:"type:varchar(255)"`
TargetBranch string `gorm:"type:varchar(255)"`
MergeCommitSha string `gorm:"type:varchar(255)"`
SquashCommitSha string `gorm:"type:varchar(255)"`
DiffHeadSha string `gorm:"type:varchar(255)"`
MergedAt *time.Time
GitlabCreatedAt time.Time
GitlabUpdatedAt *time.Time
ClosedAt *time.Time
Type string `gorm:"type:varchar(255)"`
MergedByUsername string `gorm:"type:varchar(255)"`
Description string
AuthorUsername string `gorm:"type:varchar(255)"`
AuthorUserId int
Component string `gorm:"type:varchar(255)"`
FirstCommentTime *time.Time `gorm:"comment:Time when the first comment occurred"`
ReviewRounds int `gorm:"comment:How many rounds of review this MR went through"`
common.NoPKModel
}
func (GitlabMergeRequest) TableName ¶
func (GitlabMergeRequest) TableName() string
type GitlabMrComment ¶
type GitlabMrComment struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
MergeRequestId int `gorm:"index"`
MergeRequestIid int `gorm:"comment:Used in API requests ex. /api/merge_requests/<THIS_IID>"`
Body string
AuthorUsername string `gorm:"type:varchar(255)"`
AuthorUserId int
GitlabCreatedAt time.Time
Resolvable bool `gorm:"comment:Is or is not review comment"`
Type string `gorm:"comment:if type=null, it is normal comment,if type=diffNote,it is diff comment"`
common.NoPKModel
}
func (GitlabMrComment) TableName ¶
func (GitlabMrComment) TableName() string
type GitlabMrCommit ¶
type GitlabMrCommit struct {
ConnectionId uint64 `gorm:"primaryKey"`
CommitSha string `gorm:"primaryKey;type:varchar(40)"`
MergeRequestId int `gorm:"primaryKey;autoIncrement:false"`
CommitAuthorName string `gorm:"type:varchar(255)"` // Author name
CommitAuthorEmail string `gorm:"type:varchar(255)"` // Author email
CommitAuthoredDate *time.Time
common.NoPKModel
}
func (GitlabMrCommit) TableName ¶
func (GitlabMrCommit) TableName() string
type GitlabMrLabel ¶
type GitlabMrLabel struct {
ConnectionId uint64 `gorm:"primaryKey"`
MrId int `gorm:"primaryKey;autoIncrement:false"`
LabelName string `gorm:"primaryKey;type:varchar(255)"`
common.NoPKModel
}
func (GitlabMrLabel) TableName ¶
func (GitlabMrLabel) TableName() string
type GitlabMrNote ¶
type GitlabMrNote struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
MergeRequestId int `gorm:"index"`
MergeRequestIid int `gorm:"comment:Used in API requests ex. /api/merge_requests/<THIS_IID>"`
NoteableType string `gorm:"type:varchar(100)"`
AuthorUserId int
AuthorUsername string `gorm:"type:varchar(255)"`
Body string
GitlabCreatedAt time.Time
Confidential bool
Resolvable bool `gorm:"comment:Is or is not review comment"`
IsSystem bool `gorm:"comment:Is or is not auto-generated vs. human generated"`
Type string `gorm:"comment:if type=null, it is normal comment,if type=diffNote,it is diff comment"`
common.NoPKModel
}
func (GitlabMrNote) TableName ¶
func (GitlabMrNote) TableName() string
type GitlabPipeline ¶
type GitlabPipeline struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
ProjectId int `gorm:"index"`
Status string `gorm:"type:varchar(100)"`
Ref string `gorm:"type:varchar(255)"`
Sha string `gorm:"type:varchar(255)"`
WebUrl string `gorm:"type:varchar(255)"`
Duration int
GitlabCreatedAt *time.Time
GitlabUpdatedAt *time.Time
StartedAt *time.Time
FinishedAt *time.Time
Coverage string
Type string `gorm:"type:varchar(255)"`
Environment string `gorm:"type:varchar(255)"`
IsDetailRequired bool
common.NoPKModel
}
func (GitlabPipeline) TableName ¶
func (GitlabPipeline) TableName() string
type GitlabPipelineProject ¶
type GitlabPipelineProject struct {
ConnectionId uint64 `gorm:"primaryKey"`
PipelineId int `gorm:"primaryKey"`
ProjectId int `gorm:"primaryKey"`
Ref string `gorm:"type:varchar(255)"`
Sha string `gorm:"type:varchar(255)"`
common.NoPKModel
}
func (GitlabPipelineProject) TableName ¶
func (GitlabPipelineProject) TableName() string
type GitlabProject ¶
type GitlabProject struct {
ConnectionId uint64 `json:"connectionId" mapstructure:"connectionId" validate:"required" gorm:"primaryKey"`
ScopeConfigId uint64 `json:"scopeConfigId,omitempty" mapstructure:"scopeConfigId"`
GitlabId int `json:"gitlabId" mapstructure:"gitlabId" validate:"required" gorm:"primaryKey"`
Name string `json:"name" mapstructure:"name" gorm:"type:varchar(255)"`
Description string `json:"description" mapstructure:"description"`
DefaultBranch string `json:"defaultBranch" mapstructure:"defaultBranch" gorm:"type:varchar(255)"`
PathWithNamespace string `json:"pathWithNamespace" mapstructure:"pathWithNamespace" gorm:"type:varchar(255)"`
WebUrl string `json:"webUrl" mapstructure:"webUrl" gorm:"type:varchar(255)"`
CreatorId int `json:"creatorId" mapstructure:"creatorId"`
Visibility string `json:"visibility" mapstructure:"visibility" gorm:"type:varchar(255)"`
OpenIssuesCount int `json:"openIssuesCount" mapstructure:"openIssuesCount"`
StarCount int `json:"starCount" mapstructure:"StarCount"`
ForkedFromProjectId int `json:"forkedFromProjectId" mapstructure:"forkedFromProjectId"`
ForkedFromProjectWebUrl string `json:"forkedFromProjectWebUrl" mapstructure:"forkedFromProjectWebUrl" gorm:"type:varchar(255)"`
HttpUrlToRepo string `json:"httpUrlToRepo" gorm:"type:varchar(255)"`
CreatedDate *time.Time `json:"createdDate" mapstructure:"-"`
UpdatedDate *time.Time `json:"updatedDate" mapstructure:"-"`
common.NoPKModel `json:"-" mapstructure:"-"`
}
func (GitlabProject) ScopeId ¶
func (p GitlabProject) ScopeId() string
func (GitlabProject) ScopeName ¶
func (p GitlabProject) ScopeName() string
func (GitlabProject) ScopeParams ¶
func (p GitlabProject) ScopeParams() interface{}
func (GitlabProject) TableName ¶
func (GitlabProject) TableName() string
type GitlabProjectCommit ¶
type GitlabProjectCommit struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabProjectId int `gorm:"primaryKey"`
CommitSha string `gorm:"primaryKey;type:varchar(40)"`
common.NoPKModel
}
func (GitlabProjectCommit) TableName ¶
func (GitlabProjectCommit) TableName() string
type GitlabResponse ¶
type GitlabResponse struct {
Name string `json:"name"`
ID int `json:"id"`
GitlabConnection
}
This object conforms to what the frontend currently expects.
type GitlabReviewer ¶
type GitlabReviewer struct {
ConnectionId uint64 `gorm:"primaryKey"`
GitlabId int `gorm:"primaryKey"`
MergeRequestId int `gorm:"index"`
ProjectId int `gorm:"index"`
Name string `gorm:"type:varchar(255)"`
Username string `gorm:"type:varchar(255)"`
State string `gorm:"type:varchar(255)"`
AvatarUrl string `gorm:"type:varchar(255)"`
WebUrl string `gorm:"type:varchar(255)"`
common.NoPKModel
}
func (GitlabReviewer) TableName ¶
func (GitlabReviewer) TableName() string
type GitlabScopeConfig ¶
type GitlabScopeConfig struct {
common.ScopeConfig `mapstructure:",squash" json:",inline" gorm:"embedded"`
ConnectionId uint64 `mapstructure:"connectionId" json:"connectionId"`
Name string `gorm:"type:varchar(255);index:idx_name_gitlab,unique" validate:"required" mapstructure:"name" json:"name"`
PrType string `mapstructure:"prType" json:"prType"`
PrComponent string `mapstructure:"prComponent" json:"prComponent"`
PrBodyClosePattern string `mapstructure:"prBodyClosePattern" json:"prBodyClosePattern"`
IssueSeverity string `mapstructure:"issueSeverity" json:"issueSeverity"`
IssuePriority string `mapstructure:"issuePriority" json:"issuePriority"`
IssueComponent string `mapstructure:"issueComponent" json:"issueComponent"`
IssueTypeBug string `mapstructure:"issueTypeBug" json:"issueTypeBug"`
IssueTypeIncident string `mapstructure:"issueTypeIncident" json:"issueTypeIncident"`
IssueTypeRequirement string `mapstructure:"issueTypeRequirement" json:"issueTypeRequirement"`
DeploymentPattern string `mapstructure:"deploymentPattern" json:"deploymentPattern"`
ProductionPattern string `mapstructure:"productionPattern,omitempty" json:"productionPattern" gorm:"type:varchar(255)"`
Refdiff datatypes.JSONMap `mapstructure:"refdiff,omitempty" json:"refdiff" swaggertype:"object" format:"json"`
}
func (GitlabScopeConfig) TableName ¶
func (t GitlabScopeConfig) TableName() string
type GitlabTag ¶
type GroupResponse ¶
type GroupResponse struct {
Id int `json:"id" group:"id"`
WebUrl string `json:"web_url"`
Name string `json:"name" group:"name"`
Path string `json:"path"`
Description string `json:"description"`
FullName string `json:"full_name"`
FullPath string `json:"full_path"`
ParentId *int `json:"parent_id"`
}
func (GroupResponse) GroupId ¶
func (p GroupResponse) GroupId() string
func (GroupResponse) GroupName ¶
func (p GroupResponse) GroupName() string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.