Documentation
¶
Index ¶
- Constants
- Variables
- func CollectAccounts(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiCommits(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiIssues(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiJobs(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiMergeRequestDetails(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiMergeRequestsCommits(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiMergeRequestsNotes(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiPipelineDetails(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiPipelines(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiTag(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiTriggerJobs(taskCtx plugin.SubTaskContext) errors.Error
- func CollectDeployment(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertAccounts(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertApiCommits(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertApiMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertApiMergeRequestsCommits(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertApiProjects(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertCommit(commit *GitlabApiCommit) (*models.GitlabCommit, errors.Error)
- func ConvertDeployment(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertDetailPipelines(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertIssueAssignee(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertIssueLabels(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertJobs(taskCtx plugin.SubTaskContext) (err errors.Error)
- func ConvertMergeRequestComment(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertMrLabels(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertPipelineCommits(taskCtx plugin.SubTaskContext) errors.Error
- func CreateGitlabAsyncApiClient(taskCtx plugin.TaskContext, apiClient *api.ApiClient, ...) (*api.ApiAsyncClient, errors.Error)
- func EnrichMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractAccounts(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiCommits(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiIssues(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiJobs(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiMergeRequestDetails(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiMergeRequestsCommits(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiMergeRequestsNotes(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiPipelineDetails(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiPipelines(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiTag(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiTriggerJobs(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractDeployment(taskCtx plugin.SubTaskContext) errors.Error
- func GetAllPipelinesIterator(taskCtx plugin.SubTaskContext, ...) (*helper.DalCursorIterator, errors.Error)
- func GetMergeRequestDetailsIterator(taskCtx plugin.SubTaskContext, ...) (*helper.DalCursorIterator, errors.Error)
- func GetMergeRequestsIterator(taskCtx plugin.SubTaskContext, ...) (*helper.DalCursorIterator, errors.Error)
- func GetOneRawMessageFromResponse(res *http.Response) ([]json.RawMessage, errors.Error)
- func GetPipelinesIterator(taskCtx plugin.SubTaskContext, ...) (*helper.DalCursorIterator, errors.Error)
- func GetQuery(reqData *helper.RequestData) (url.Values, errors.Error)
- func GetRawMessageFromResponse(res *http.Response) ([]json.RawMessage, errors.Error)
- func GetRawMessageUpdatedAtAfter(timeAfter *time.Time) func(res *http.Response) ([]json.RawMessage, errors.Error)
- func GetTotalPagesFromResponse(res *http.Response, args *helper.ApiCollectorArgs) (int, errors.Error)
- func NewGitlabApiClient(taskCtx plugin.TaskContext, connection *models.GitlabConnection) (*api.ApiAsyncClient, errors.Error)
- func RegisterSubtaskMeta(meta *plugin.SubTaskMeta)
- type ApiDetailedStatus
- type ApiJob
- type ApiPipeline
- type ApiTriggerJob
- type GitlabApiCommit
- type GitlabApiProject
- type GitlabApiTag
- type GitlabDeploymentArtifacts
- type GitlabDeploymentCommit
- type GitlabDeploymentDeployable
- type GitlabDeploymentEnvironment
- type GitlabDeploymentFullUser
- type GitlabDeploymentPipeline
- type GitlabDeploymentProject
- type GitlabDeploymentResp
- type GitlabDeploymentSimpleUser
- type GitlabInput
- type GitlabOptions
- type GitlabTaskData
- type IssuesResponse
- type MergeRequestNote
- type MergeRequestRes
- type PipelineInput
- type Reviewer
- type SimpleGitlabApiJob
Constants ¶
View Source
const ( // https://docs.gitlab.com/ee/api/pipelines.html#list-project-pipelines // https://docs.gitlab.com/ee/api/deployments.html#list-project-deployments // https://docs.gitlab.com/ee/api/jobs.html#list-project-jobs StatusSuccess = "success" StatusFailed = "failed" StatusCanceled = "canceled" StatusRunning = "running" StatusWaitingForResource = "waiting_for_resource" StatusPending = "pending" StatusPreparing = "preparing" StatusCreated = "created" StatusManual = "manual" StatusScheduled = "scheduled" StatusSkipped = "skipped" StatusBlocked = "blocked" // the following two status are handle in codes, but cannot be seen in documents. StatusCompleted = "COMPLETED" StatusUndeployed = "UNDEPLOYED" )
View Source
const RAW_COMMIT_TABLE = "gitlab_api_commit"
View Source
const (
RAW_DEPLOYMENT = "gitlab_api_deployments"
)
View Source
const RAW_ISSUE_TABLE = "gitlab_api_issues"
View Source
const RAW_JOB_TABLE = "gitlab_api_job"
View Source
const RAW_MERGE_REQUEST_COMMITS_TABLE = "gitlab_api_merge_request_commits"
View Source
const RAW_MERGE_REQUEST_DETAIL_TABLE = "gitlab_api_merge_request_details"
View Source
const RAW_MERGE_REQUEST_NOTES_TABLE = "gitlab_api_merge_request_notes"
View Source
const RAW_MERGE_REQUEST_TABLE = "gitlab_api_merge_requests"
View Source
const RAW_PIPELINE_DETAILS_TABLE = "gitlab_api_pipeline_details"
View Source
const RAW_PIPELINE_TABLE = "gitlab_api_pipeline"
View Source
const RAW_PROJECT_TABLE = "gitlab_api_project"
View Source
const RAW_TAG_TABLE = "gitlab_api_tag"
View Source
const RAW_TRIGGER_JOB_TABLE = "gitlab_api_trigger_job"
View Source
const RAW_USER_TABLE = "gitlab_api_users"
Variables ¶
View Source
var CollectAccountsMeta = plugin.SubTaskMeta{ Name: "Collect Users", EntryPoint: CollectAccounts, EnabledByDefault: true, Description: "collect gitlab users, does not support either timeFilter or diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, Dependencies: []*plugin.SubTaskMeta{&EnrichMergeRequestsMeta}, }
View Source
var CollectApiCommitsMeta = plugin.SubTaskMeta{ Name: "Collect Commits", EntryPoint: CollectApiCommits, EnabledByDefault: false, Description: "Collect commit data from gitlab api, does not support either timeFilter or diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, Dependencies: []*plugin.SubTaskMeta{&ConvertJobMeta}, }
View Source
var CollectApiIssuesMeta = plugin.SubTaskMeta{ Name: "Collect Issues", EntryPoint: CollectApiIssues, EnabledByDefault: true, Description: "Collect issues data from Gitlab api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, Dependencies: []*plugin.SubTaskMeta{}, }
View Source
var CollectApiJobsMeta = plugin.SubTaskMeta{ Name: "Collect Job Runs", EntryPoint: CollectApiJobs, EnabledByDefault: true, Description: "Collect job data from gitlab api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiPipelineDetailsMeta}, }
View Source
var CollectApiMergeRequestDetailsMeta = plugin.SubTaskMeta{ Name: "Collect MR Details", EntryPoint: CollectApiMergeRequestDetails, EnabledByDefault: true, Description: "Collect merge request Details data from gitlab api, supports timeFilter but not diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiMergeRequestsMeta}, }
View Source
var CollectApiMergeRequestsMeta = plugin.SubTaskMeta{ Name: "Collect Merge Requests", EntryPoint: CollectApiMergeRequests, EnabledByDefault: true, Description: "Collect merge requests data from gitlab api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiIssuesMeta}, }
View Source
var CollectApiMrCommitsMeta = plugin.SubTaskMeta{ Name: "Collect MR Commits", EntryPoint: CollectApiMergeRequestsCommits, EnabledByDefault: true, Description: "Collect merge requests commits data from gitlab api, supports timeFilter but not diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiMrNotesMeta}, }
View Source
var CollectApiMrNotesMeta = plugin.SubTaskMeta{ Name: "Collect MR Notes", EntryPoint: CollectApiMergeRequestsNotes, EnabledByDefault: true, Description: "Collect merge requests notes data from gitlab api, supports timeFilter but not diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&CollectApiMergeRequestDetailsMeta}, }
View Source
var CollectApiPipelineDetailsMeta = plugin.SubTaskMeta{ Name: "Collect Pipeline Details", EntryPoint: CollectApiPipelineDetails, EnabledByDefault: true, Description: "Collect pipeline details data from gitlab api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiPipelinesMeta}, }
View Source
var CollectApiPipelinesMeta = plugin.SubTaskMeta{ Name: "Collect Pipelines", EntryPoint: CollectApiPipelines, EnabledByDefault: true, Description: "Collect pipeline data from gitlab api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiMrCommitsMeta}, }
View Source
var CollectApiTriggerJobsMeta = plugin.SubTaskMeta{ Name: "Collect Trigger Jobs", EntryPoint: CollectApiTriggerJobs, EnabledByDefault: false, Description: "Collect job data from gitlab api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiPipelineDetailsMeta}, }
View Source
var CollectDeploymentMeta = plugin.SubTaskMeta{ Name: "Collect Deployments", EntryPoint: CollectDeployment, EnabledByDefault: true, Description: "Collect gitlab deployment from api into raw layer table", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{}, }
View Source
var CollectTagMeta = plugin.SubTaskMeta{ Name: "Collect Tags", EntryPoint: CollectApiTag, EnabledByDefault: false, Description: "Collect tag data from gitlab api, does not support either timeFilter or diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiMergeRequestDetailsMeta}, }
View Source
var ConvertAccountsMeta = plugin.SubTaskMeta{ Name: "Convert Users", EntryPoint: ConvertAccounts, EnabledByDefault: true, Description: "Convert tool layer table gitlab_users into domain layer table accounts", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, Dependencies: []*plugin.SubTaskMeta{&ExtractAccountsMeta}, }
View Source
var ConvertApiMergeRequestsMeta = plugin.SubTaskMeta{ Name: "Convert Merge Requests", EntryPoint: ConvertApiMergeRequests, EnabledByDefault: true, Description: "Add domain layer PullRequest according to GitlabMergeRequest", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ConvertProjectMeta}, }
View Source
var ConvertApiMrCommitsMeta = plugin.SubTaskMeta{ Name: "Convert MR Commits", EntryPoint: ConvertApiMergeRequestsCommits, EnabledByDefault: true, Description: "Add domain layer PullRequestCommit according to GitlabMrCommit", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ConvertMrCommentMeta}, }
View Source
var ConvertCommitsMeta = plugin.SubTaskMeta{ Name: "Convert Commits", EntryPoint: ConvertApiCommits, EnabledByDefault: false, Description: "Update domain layer commit according to GitlabCommit", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, Dependencies: []*plugin.SubTaskMeta{&ConvertMrLabelsMeta}, }
View Source
var ConvertDeploymentMeta = plugin.SubTaskMeta{ Name: "Convert Deployments", EntryPoint: ConvertDeployment, EnabledByDefault: true, Description: "Convert gitlab deployment from tool layer to domain layer", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ExtractDeploymentMeta}, }
View Source
var ConvertDetailPipelineMeta = plugin.SubTaskMeta{ Name: "Convert Detail Pipelines", EntryPoint: ConvertDetailPipelines, EnabledByDefault: true, Description: "Convert tool layer table gitlab_detail_pipeline into domain layer table pipeline", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ConvertCommitsMeta}, }
View Source
var ConvertIssueAssigneeMeta = plugin.SubTaskMeta{ Name: "convert Issue Assignees", EntryPoint: ConvertIssueAssignee, EnabledByDefault: true, Description: "Convert tool layer table _tool_gitlab_issue_assignees into domain layer table issue_assignees", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, }
View Source
var ConvertIssueLabelsMeta = plugin.SubTaskMeta{ Name: "Convert Issue Labels", EntryPoint: ConvertIssueLabels, EnabledByDefault: true, Description: "Convert tool layer table gitlab_issue_labels into domain layer table issue_labels", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, Dependencies: []*plugin.SubTaskMeta{&ConvertIssuesMeta}, }
View Source
var ConvertIssuesMeta = plugin.SubTaskMeta{ Name: "Convert Issues", EntryPoint: ConvertIssues, EnabledByDefault: true, Description: "Convert tool layer table gitlab_issues into domain layer table issues", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, Dependencies: []*plugin.SubTaskMeta{&ConvertApiMrCommitsMeta}, }
View Source
var ConvertJobMeta = plugin.SubTaskMeta{ Name: "Convert Job Runs", EntryPoint: ConvertJobs, EnabledByDefault: true, Description: "Convert tool layer table gitlab_job into domain layer table job", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ConvertPipelineCommitMeta}, }
View Source
var ConvertMrCommentMeta = plugin.SubTaskMeta{ Name: "Convert MR Comments", EntryPoint: ConvertMergeRequestComment, EnabledByDefault: true, Description: "Add domain layer Comment according to GitlabMrComment", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ConvertApiMergeRequestsMeta}, }
View Source
var ConvertMrLabelsMeta = plugin.SubTaskMeta{ Name: "Convert MR Labels", EntryPoint: ConvertMrLabels, EnabledByDefault: true, Description: "Convert tool layer table gitlab_mr_labels into domain layer table pull_request_labels", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ConvertIssueLabelsMeta}, }
View Source
var ConvertPipelineCommitMeta = plugin.SubTaskMeta{ Name: "Convert Pipeline Commits", EntryPoint: ConvertPipelineCommits, EnabledByDefault: true, Description: "Convert tool layer table gitlab_pipeline_project into domain layer table pipeline", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&ConvertDetailPipelineMeta}, }
View Source
var ConvertProjectMeta = plugin.SubTaskMeta{ Name: "Convert Projects", EntryPoint: ConvertApiProjects, EnabledByDefault: true, Description: "Add domain layer Repo according to GitlabProject", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE, plugin.DOMAIN_TYPE_TICKET}, Dependencies: []*plugin.SubTaskMeta{&ConvertAccountsMeta}, }
View Source
var EnrichMergeRequestsMeta = plugin.SubTaskMeta{ Name: "Enrich Merge Requests", EntryPoint: EnrichMergeRequests, EnabledByDefault: true, Description: "Enrich merge requests data from GitlabCommit, GitlabMrNote and GitlabMergeRequest", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiJobsMeta}, }
View Source
var ExtractAccountsMeta = plugin.SubTaskMeta{ Name: "Extract Users", EntryPoint: ExtractAccounts, EnabledByDefault: true, Description: "Extract raw workspace data into tool layer table _tool_gitlab_accounts", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, Dependencies: []*plugin.SubTaskMeta{&CollectAccountsMeta}, }
View Source
var ExtractApiCommitsMeta = plugin.SubTaskMeta{ Name: "Extract Commits", EntryPoint: ExtractApiCommits, EnabledByDefault: false, Description: "Extract raw commit data into tool layer table GitlabCommit,GitlabAccount and GitlabProjectCommit", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, Dependencies: []*plugin.SubTaskMeta{&CollectApiCommitsMeta}, }
View Source
var ExtractApiIssuesMeta = plugin.SubTaskMeta{ Name: "Extract Issues", EntryPoint: ExtractApiIssues, EnabledByDefault: true, Description: "Extract raw Issues data into tool layer table gitlab_issues", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, Dependencies: []*plugin.SubTaskMeta{&CollectApiIssuesMeta}, }
View Source
var ExtractApiJobsMeta = plugin.SubTaskMeta{ Name: "Extract Job Runs", EntryPoint: ExtractApiJobs, EnabledByDefault: true, Description: "Extract raw GitlabJob data into tool layer table GitlabPipeline", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&CollectApiJobsMeta}, }
View Source
var ExtractApiMergeRequestDetailsMeta = plugin.SubTaskMeta{ Name: "Extract MR Details", EntryPoint: ExtractApiMergeRequestDetails, EnabledByDefault: true, Description: "Extract raw merge request Details data into tool layer table GitlabMergeRequest and GitlabReviewer", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&ExtractApiCommitsMeta}, }
View Source
var ExtractApiMergeRequestsMeta = plugin.SubTaskMeta{ Name: "Extract Merge Requests", EntryPoint: ExtractApiMergeRequests, EnabledByDefault: true, Description: "Extract raw merge requests data into tool layer table GitlabMergeRequest and GitlabReviewer", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&CollectApiMergeRequestsMeta}, }
View Source
var ExtractApiMrCommitsMeta = plugin.SubTaskMeta{ Name: "Extract MR Commits", EntryPoint: ExtractApiMergeRequestsCommits, EnabledByDefault: true, Description: "Extract raw merge requests commit data into tool layer table GitlabMrCommit and GitlabCommit", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&CollectApiMrCommitsMeta}, }
View Source
var ExtractApiMrNotesMeta = plugin.SubTaskMeta{ Name: "Extract MR Notes", EntryPoint: ExtractApiMergeRequestsNotes, EnabledByDefault: true, Description: "Extract raw merge requests notes data into tool layer table GitlabMrNote", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, Dependencies: []*plugin.SubTaskMeta{&CollectApiMrNotesMeta}, }
View Source
var ExtractApiPipelineDetailsMeta = plugin.SubTaskMeta{ Name: "Extract Pipeline Details", EntryPoint: ExtractApiPipelineDetails, EnabledByDefault: true, Description: "Extract raw pipeline details data into tool layer table GitlabPipeline", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&CollectApiPipelineDetailsMeta}, }
View Source
var ExtractApiPipelinesMeta = plugin.SubTaskMeta{ Name: "Extract Pipelines", EntryPoint: ExtractApiPipelines, EnabledByDefault: true, Description: "Extract raw pipelines data into tool layer table GitlabPipeline", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&CollectApiPipelinesMeta}, }
View Source
var ExtractApiTriggerJobsMeta = plugin.SubTaskMeta{ Name: "Extract Trigger Jobs", EntryPoint: ExtractApiTriggerJobs, EnabledByDefault: true, Description: "Extract raw Gitlab trigger jobs data into tool layer table GitlabPipeline", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&CollectApiTriggerJobsMeta}, }
View Source
var ExtractDeploymentMeta = plugin.SubTaskMeta{ Name: "Extract Deployments", EntryPoint: ExtractDeployment, EnabledByDefault: true, Description: "Extract gitlab deployment from raw layer to tool layer", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, Dependencies: []*plugin.SubTaskMeta{&CollectDeploymentMeta}, }
View Source
var ExtractTagMeta = plugin.SubTaskMeta{ Name: "Extract Tags", EntryPoint: ExtractApiTag, EnabledByDefault: false, Description: "Extract raw tag data into tool layer table GitlabTag", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, Dependencies: []*plugin.SubTaskMeta{&CollectTagMeta}, }
View Source
var SubTaskMetaList []*plugin.SubTaskMeta
Functions ¶
func CollectAccounts ¶
func CollectAccounts(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiCommits ¶
func CollectApiCommits(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiIssues ¶
func CollectApiIssues(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiJobs ¶
func CollectApiJobs(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiMergeRequestDetails ¶
func CollectApiMergeRequestDetails(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiMergeRequests ¶
func CollectApiMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiMergeRequestsCommits ¶
func CollectApiMergeRequestsCommits(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiMergeRequestsNotes ¶
func CollectApiMergeRequestsNotes(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiPipelineDetails ¶
func CollectApiPipelineDetails(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiPipelines ¶
func CollectApiPipelines(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiTag ¶
func CollectApiTag(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiTriggerJobs ¶
func CollectApiTriggerJobs(taskCtx plugin.SubTaskContext) errors.Error
func CollectDeployment ¶
func CollectDeployment(taskCtx plugin.SubTaskContext) errors.Error
func ConvertAccounts ¶
func ConvertAccounts(taskCtx plugin.SubTaskContext) errors.Error
func ConvertApiCommits ¶
func ConvertApiCommits(taskCtx plugin.SubTaskContext) errors.Error
func ConvertApiMergeRequests ¶
func ConvertApiMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
func ConvertApiMergeRequestsCommits ¶
func ConvertApiMergeRequestsCommits(taskCtx plugin.SubTaskContext) errors.Error
func ConvertApiProjects ¶
func ConvertApiProjects(taskCtx plugin.SubTaskContext) errors.Error
func ConvertCommit ¶
func ConvertCommit(commit *GitlabApiCommit) (*models.GitlabCommit, errors.Error)
Convert the API response to our DB model instance
func ConvertDeployment ¶
func ConvertDeployment(taskCtx plugin.SubTaskContext) errors.Error
ConvertDeployment should be split into two task theoretically But in GitLab, all deployments have commits, so there is no need to change it.
func ConvertDetailPipelines ¶
func ConvertDetailPipelines(taskCtx plugin.SubTaskContext) errors.Error
func ConvertIssueAssignee ¶
func ConvertIssueAssignee(taskCtx plugin.SubTaskContext) errors.Error
func ConvertIssueLabels ¶
func ConvertIssueLabels(taskCtx plugin.SubTaskContext) errors.Error
func ConvertIssues ¶
func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error
func ConvertJobs ¶
func ConvertJobs(taskCtx plugin.SubTaskContext) (err errors.Error)
func ConvertMergeRequestComment ¶
func ConvertMergeRequestComment(taskCtx plugin.SubTaskContext) errors.Error
func ConvertMrLabels ¶
func ConvertMrLabels(taskCtx plugin.SubTaskContext) errors.Error
func ConvertPipelineCommits ¶
func ConvertPipelineCommits(taskCtx plugin.SubTaskContext) errors.Error
func CreateGitlabAsyncApiClient ¶
func CreateGitlabAsyncApiClient( taskCtx plugin.TaskContext, apiClient *api.ApiClient, connection *models.GitlabConnection, ) (*api.ApiAsyncClient, errors.Error)
func EnrichMergeRequests ¶
func EnrichMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
func ExtractAccounts ¶
func ExtractAccounts(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiCommits ¶
func ExtractApiCommits(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiIssues ¶
func ExtractApiIssues(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiJobs ¶
func ExtractApiJobs(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiMergeRequestDetails ¶
func ExtractApiMergeRequestDetails(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiMergeRequests ¶
func ExtractApiMergeRequests(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiMergeRequestsCommits ¶
func ExtractApiMergeRequestsCommits(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiMergeRequestsNotes ¶
func ExtractApiMergeRequestsNotes(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiPipelineDetails ¶
func ExtractApiPipelineDetails(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiPipelines ¶
func ExtractApiPipelines(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiTag ¶
func ExtractApiTag(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiTriggerJobs ¶
func ExtractApiTriggerJobs(taskCtx plugin.SubTaskContext) errors.Error
func ExtractDeployment ¶
func ExtractDeployment(taskCtx plugin.SubTaskContext) errors.Error
func GetAllPipelinesIterator ¶
func GetAllPipelinesIterator(taskCtx plugin.SubTaskContext, collectorWithState *helper.ApiCollectorStateManager) (*helper.DalCursorIterator, errors.Error)
func GetMergeRequestDetailsIterator ¶
func GetMergeRequestDetailsIterator(taskCtx plugin.SubTaskContext, collectorWithState *helper.ApiCollectorStateManager) (*helper.DalCursorIterator, errors.Error)
func GetMergeRequestsIterator ¶
func GetMergeRequestsIterator(taskCtx plugin.SubTaskContext, collectorWithState *helper.ApiCollectorStateManager) (*helper.DalCursorIterator, errors.Error)
func GetPipelinesIterator ¶
func GetPipelinesIterator(taskCtx plugin.SubTaskContext, collectorWithState *helper.ApiCollectorStateManager) (*helper.DalCursorIterator, errors.Error)
func NewGitlabApiClient ¶
func NewGitlabApiClient(taskCtx plugin.TaskContext, connection *models.GitlabConnection) (*api.ApiAsyncClient, errors.Error)
func RegisterSubtaskMeta ¶
func RegisterSubtaskMeta(meta *plugin.SubTaskMeta)
Types ¶
type ApiDetailedStatus ¶
type ApiJob ¶
type ApiJob struct {
Id int `json:"id"`
Status string
Stage string
Name string
Ref string
Tag bool
AllowFailure bool `json:"allow_failure"`
Duration float64
WebUrl string `json:"web_url"`
Pipeline struct {
Id int
}
QueuedDuration float64 `json:"queued_duration"`
CreatedAt *common.Iso8601Time `json:"created_at"`
StartedAt *common.Iso8601Time `json:"started_at"`
FinishedAt *common.Iso8601Time `json:"finished_at"`
}
type ApiPipeline ¶
type ApiPipeline struct {
Id int `json:"id"`
Ref string
Sha string
Status string
Tag bool
Duration int
QueuedDuration *float64 `json:"queued_duration"`
WebUrl string `json:"web_url"`
CreatedAt *common.Iso8601Time `json:"created_at"`
UpdatedAt *common.Iso8601Time `json:"updated_at"`
StartedAt *common.Iso8601Time `json:"started_at"`
FinishedAt *common.Iso8601Time `json:"finished_at"`
ApiDetailedStatus
}
type ApiTriggerJob ¶
type GitlabApiCommit ¶
type GitlabApiCommit struct {
GitlabId string `json:"id"`
Title string
Message string
ProjectId int
ShortId string `json:"short_id"`
AuthorName string `json:"author_name"`
AuthorEmail string `json:"author_email"`
AuthoredDate common.Iso8601Time `json:"authored_date"`
CommitterName string `json:"committer_name"`
CommitterEmail string `json:"committer_email"`
CommittedDate common.Iso8601Time `json:"committed_date"`
WebUrl string `json:"web_url"`
Stats struct {
Additions int
Deletions int
Total int
}
}
type GitlabApiProject ¶
type GitlabApiProject struct {
GitlabId int `json:"id"`
Name string `json:"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 common.Iso8601Time `json:"created_at"`
LastActivityAt *common.Iso8601Time `json:"last_activity_at"`
HttpUrlToRepo string `json:"http_url_to_repo"`
Archived bool `json:"archived"`
}
type GitlabApiTag ¶
type GitlabDeploymentCommit ¶
type GitlabDeploymentDeployable ¶
type GitlabDeploymentDeployable struct {
Commit GitlabDeploymentCommit `json:"commit"`
Coverage any `json:"coverage"`
CreatedAt *time.Time `json:"created_at"`
FinishedAt *time.Time `json:"finished_at"`
ID int `json:"id"`
Name string `json:"name"`
Ref string `json:"ref"`
Runner any `json:"runner"`
Stage string `json:"stage"`
StartedAt *time.Time `json:"started_at"`
Status string `json:"status"`
Tag bool `json:"tag"`
Project GitlabDeploymentProject `json:"project"`
User GitlabDeploymentFullUser `json:"user"`
Pipeline GitlabDeploymentPipeline `json:"pipeline"`
AllowFailure bool `json:"allow_failure"`
ErasedAt *time.Time `json:"erased_at"`
Duration *float64 `json:"duration"`
QueuedDuration *float64 `json:"queued_duration"`
ArtifactsExpireAt *time.Time `json:"artifacts_expire_at "`
TagList []string `json:"tag_list"`
Artifacts []GitlabDeploymentArtifacts `json:"artifacts"`
}
type GitlabDeploymentFullUser ¶
type GitlabDeploymentFullUser struct {
ID int `json:"id"`
Name string `json:"name"`
Username string `json:"username"`
State string `json:"state"`
AvatarURL string `json:"avatar_url"`
WebURL string `json:"web_url"`
CreatedAt *time.Time `json:"created_at"`
Bio any `json:"bio"`
Location any `json:"location"`
PublicEmail string `json:"public_email"`
Skype string `json:"skype"`
Linkedin string `json:"linkedin"`
Twitter string `json:"twitter"`
WebsiteURL string `json:"website_url"`
Organization string `json:"organization"`
}
type GitlabDeploymentProject ¶
type GitlabDeploymentProject struct {
CiJobTokenScopeEnabled bool `json:"ci_job_token_scope_enabled"`
}
type GitlabDeploymentResp ¶
type GitlabDeploymentResp struct {
CreatedAt time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
Status string `json:"status"`
Deployable GitlabDeploymentDeployable `json:"deployable"`
Environment GitlabDeploymentEnvironment `json:"environment"`
ID int `json:"id"`
Iid int `json:"iid"`
Ref string `json:"ref"`
Sha string `json:"sha"`
User GitlabDeploymentSimpleUser `json:"user"`
}
type GitlabInput ¶
type GitlabOptions ¶
type GitlabOptions struct {
ConnectionId uint64 `mapstructure:"connectionId" json:"connectionId"`
ProjectId int `mapstructure:"projectId" json:"projectId"`
FullName string `mapstructure:"fullName" json:"fullName"`
ScopeConfigId uint64 `mapstructure:"scopeConfigId" json:"scopeConfigId"`
ScopeConfig *models.GitlabScopeConfig `mapstructure:"scopeConfig" json:"scopeConfig"`
helper.CollectorOptions `mapstructure:",squash"`
}
func DecodeAndValidateTaskOptions ¶
func DecodeAndValidateTaskOptions(options map[string]interface{}) (*GitlabOptions, errors.Error)
type GitlabTaskData ¶
type GitlabTaskData struct {
Options *GitlabOptions
ApiClient *helper.ApiAsyncClient
ProjectCommit *models.GitlabProjectCommit
RegexEnricher *helper.RegexEnricher
}
func CreateRawDataSubTaskArgs ¶
func CreateRawDataSubTaskArgs(taskCtx plugin.SubTaskContext, Table string) (*helper.RawDataSubTaskArgs, *GitlabTaskData)
type IssuesResponse ¶
type IssuesResponse struct {
ProjectId int `json:"project_id"`
Milestone struct {
Due_date string
Project_id int
State string
Description string
Iid int
Id int
Title string
CreatedAt common.Iso8601Time
UpdatedAt common.Iso8601Time
}
Author *struct {
State string
WebUrl string `json:"web_url"`
AvatarUrl string `json:"avatar_url"`
Username string
Id int `json:"id"`
Name string `json:"name"`
}
Description string
State string
Iid int
Assignees []struct {
AvatarUrl string `json:"avatar_url"`
WebUrl string `json:"web_url"`
State string
Username string
Id int
Name string
}
Assignee *struct {
AvatarUrl string
WebUrl string
State string
Username string
Id int
Name string
}
Type string
Labels []string `json:"labels"`
UpVotes int
DownVotes int
MergeRequestsCount int
Id int `json:"id"`
Title string
GitlabUpdatedAt common.Iso8601Time `json:"updated_at"`
GitlabCreatedAt common.Iso8601Time `json:"created_at"`
GitlabClosedAt *common.Iso8601Time `json:"closed_at"`
ClosedBy struct {
State string
WebUrl string
AvatarUrl string
Username string
Id int
Name string
}
UserNotesCount int
DueDate common.Iso8601Time
WebUrl string `json:"web_url"`
References struct {
Short string
Relative string
Full string
}
TimeStats struct {
TimeEstimate *int64
TotalTimeSpent *int64
HumanTimeEstimate string
HumanTotalTimeSpent string
}
HasTasks bool
TaskStatus string
Confidential bool
DiscussionLocked bool
IssueType string
Severity string
Component string
Priority string
Links struct {
Self string `json:"url"`
Notes string
AwardEmoji string
Project string
}
TaskCompletionStatus struct {
Count int
CompletedCount int
}
}
type MergeRequestNote ¶
type MergeRequestNote struct {
GitlabId int `json:"id"`
MergeRequestId int `json:"noteable_id"`
MergeRequestIid int `json:"noteable_iid"`
NoteableType string `json:"noteable_type"`
Body string
GitlabCreatedAt common.Iso8601Time `json:"created_at"`
Confidential bool
Resolvable bool `json:"resolvable"`
System bool `json:"system"`
Author struct {
Id int `json:"id"`
Username string `json:"username"`
}
Type string `json:"type"`
}
type MergeRequestRes ¶
type MergeRequestRes struct {
GitlabId int `json:"id"`
Iid int
ProjectId int `json:"project_id"`
SourceProjectId int `json:"source_project_id"`
TargetProjectId int `json:"target_project_id"`
State string
Title string
Description string
WebUrl string `json:"web_url"`
UserNotesCount int `json:"user_notes_count"`
WorkInProgress bool `json:"work_in_progress"`
SourceBranch string `json:"source_branch"`
TargetBranch string `json:"target_branch"`
GitlabCreatedAt common.Iso8601Time `json:"created_at"`
GitlabUpdatedAt *common.Iso8601Time `json:"updated_at"`
MergedAt *common.Iso8601Time `json:"merged_at"`
ClosedAt *common.Iso8601Time `json:"closed_at"`
MergeCommitSha string `json:"merge_commit_sha"`
SquashCommitSha string `json:"squash_commit_sha"`
DiffHeadSha string `json:"sha"`
MergedBy struct {
Username string `json:"username"`
} `json:"merged_by"`
Author struct {
Id int `json:"id"`
Username string `json:"username"`
}
Reviewers []Reviewer
FirstCommentTime common.Iso8601Time
Labels []string `json:"labels"`
}
type PipelineInput ¶
type PipelineInput struct {
PipelineId int
}
type SimpleGitlabApiJob ¶
type SimpleGitlabApiJob struct {
GitlabId int
CreatedAt common.Iso8601Time `json:"created_at"`
}
Source Files
¶
- account_collector.go
- account_convertor.go
- account_extractor.go
- api_client.go
- commit_collector.go
- commit_convertor.go
- commit_extractor.go
- deployment_collector.go
- deployment_convertor.go
- deployment_extractor.go
- issue_assignee_convertor.go
- issue_collector.go
- issue_convertor.go
- issue_extractor.go
- issue_label_convertor.go
- job_collector.go
- job_convertor.go
- job_extractor.go
- mr_collector.go
- mr_comment_convertor.go
- mr_commit_collector.go
- mr_commit_convertor.go
- mr_commit_extractor.go
- mr_convertor.go
- mr_detail_collector.go
- mr_detail_extractor.go
- mr_enricher.go
- mr_extractor.go
- mr_label_convertor.go
- mr_note_collector.go
- mr_note_extractor.go
- pipeline_collector.go
- pipeline_commit_convertor.go
- pipeline_detail_collector.go
- pipeline_detail_convertor.go
- pipeline_detail_extractor.go
- pipeline_extractor.go
- project_convertor.go
- register.go
- shared.go
- tag_collector.go
- tag_extractor.go
- task_data.go
- trigger_job_collector.go
- trigger_job_extractor.go
Click to show internal directories.
Click to hide internal directories.