Documentation ¶
Index ¶
- Constants
- Variables
- func CollectAccountOrg(taskCtx plugin.SubTaskContext) errors.Error
- func CollectAccounts(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiComments(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiCommitStats(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiCommits(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiEvents(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiIssues(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiMilestones(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiPullRequestCommits(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiPullRequestReviews(taskCtx plugin.SubTaskContext) errors.Error
- func CollectApiPullRequests(taskCtx plugin.SubTaskContext) errors.Error
- func CollectJobs(taskCtx plugin.SubTaskContext) errors.Error
- func CollectPrReviewComments(taskCtx plugin.SubTaskContext) errors.Error
- func CollectRuns(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertAccounts(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertCommits(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertDeployment(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertIssueAssignee(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertIssueComments(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 ConvertMilestones(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertPullRequestComments(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertPullRequestCommits(taskCtx plugin.SubTaskContext) (err errors.Error)
- func ConvertPullRequestIssues(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertPullRequestLabels(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertPullRequestReviews(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertPullRequests(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertRepo(taskCtx plugin.SubTaskContext) errors.Error
- func ConvertRuns(taskCtx plugin.SubTaskContext) errors.Error
- func CreateApiClient(taskCtx plugin.TaskContext, connection *models.GithubConnection) (*api.ApiAsyncClient, errors.Error)
- func EnrichPullRequestIssues(taskCtx plugin.SubTaskContext) (err errors.Error)
- func ExtractAccountOrg(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractAccounts(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiComments(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiCommitStats(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiCommits(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiEvents(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiIssues(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiPrReviewComments(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiPullRequestCommits(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiPullRequestReviews(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractApiPullRequests(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractJobs(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractMilestones(taskCtx plugin.SubTaskContext) errors.Error
- func ExtractRuns(taskCtx plugin.SubTaskContext) errors.Error
- func GetTotalPagesFromResponse(res *http.Response, args *api.ApiCollectorArgs) (int, errors.Error)
- func RegisterSubtaskMeta(meta *plugin.SubTaskMeta)
- func ValidateTaskOptions(op *GithubOptions) errors.Error
- type ApiSingleCommitResponse
- type Commit
- type CommitsResponse
- type DetailGithubAccountResponse
- type GithubAccountOrgsResponse
- type GithubAccountResponse
- type GithubAccountWithOrg
- type GithubApiParams
- type GithubApiPullRequest
- type GithubApiRepo
- type GithubOptions
- type GithubRawJobsResult
- type GithubRawRunsResult
- type GithubTaskData
- type IssueComment
- type IssueEvent
- type IssueRegexes
- type IssuesResponse
- type MilestoneConverterModel
- type MilestonesResponse
- type PrCommitsResponse
- type PullRequestCommit
- type PullRequestReview
- type SimpleAccount
- type SimpleAccountWithId
- type SimpleBranch
- type SimpleGithubApiEvents
- type SimpleGithubApiJob
- type SimpleGithubApiPr
- type SimpleGithubPr
- type SimpleGithubRun
- type SimplePr
Constants ¶
View Source
const ( // https://docs.github.com/en/graphql/reference/enums#checkrunstate // https://docs.github.com/en/graphql/reference/enums#checkstatusstate // https://docs.github.com/en/graphql/reference/enums#deploymentstate // https://docs.github.com/en/graphql/reference/enums#checkconclusionstate StatusCompleted = "COMPLETED" StatusSuccess = "SUCCESS" StatusFailure = "FAILURE" StatusCancelled = "CANCELLED" StatusTimedOut = "TIMED_OUT" StatusStartUpFailure = "STARTUP_FAILURE" StatusInProgress = "IN_PROGRESS" StatusQueued = "QUEUED" StatusWaiting = "WAITING" StatusPending = "PENDING" StatusNeutral = "NEUTRAL" StatusSkipped = "SKIPPED" StatusStale = "STALE" StatusActionRequired = "ACTION_REQUIRED" StatusRequested = "REQUESTED" StatusAbandoned = "ABANDONED" StatusActive = "ACTIVE" StatusInactive = "INACTIVE" StatusDestroyed = "DESTROYED" StatusError = "ERROR" )
View Source
const PAGE_SIZE = 30
Although the API accepts a maximum of 100 entries per page, sometimes the response body is too large which would lead to request failures https://github.com/apache/incubator-devlake/issues/3199
View Source
const RAW_ACCOUNT_ORG_TABLE = "github_api_account_orgs"
View Source
const RAW_ACCOUNT_TABLE = "github_api_accounts"
View Source
const RAW_COMMENTS_TABLE = "github_api_comments"
View Source
const RAW_COMMIT_STATS_TABLE = "github_api_commit_stats"
View Source
const RAW_COMMIT_TABLE = "github_api_commits"
View Source
const (
RAW_DEPLOYMENT_TABLE = "github_deployment"
)
View Source
const RAW_EVENTS_TABLE = "github_api_events"
View Source
const RAW_ISSUE_TABLE = "github_api_issues"
View Source
const RAW_JOB_TABLE = "github_api_jobs"
View Source
const RAW_MILESTONE_TABLE = "github_milestones"
View Source
const RAW_PR_COMMIT_TABLE = "github_api_pull_request_commits"
View Source
const RAW_PR_REVIEW_COMMENTS_TABLE = "github_api_pull_request_review_comments"
View Source
const RAW_PR_REVIEW_TABLE = "github_api_pull_request_reviews"
View Source
const RAW_PULL_REQUEST_TABLE = "github_api_pull_requests"
View Source
const RAW_RUN_TABLE = "github_api_runs"
Variables ¶
View Source
var CollectAccountOrgMeta = plugin.SubTaskMeta{ Name: "Collect User Org", EntryPoint: CollectAccountOrg, EnabledByDefault: true, Description: "Collect accounts org data from Github api, does not support either timeFilter or diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{ models.GithubRepoAccount{}.TableName(), models.GithubAccount{}.TableName(), }, ProductTables: []string{RAW_ACCOUNT_ORG_TABLE}, }
View Source
var CollectAccountsMeta = plugin.SubTaskMeta{ Name: "Collect Users", EntryPoint: CollectAccounts, EnabledByDefault: true, Description: "Collect accounts data from Github api, does not support either timeFilter or diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{}, ProductTables: []string{RAW_ACCOUNT_TABLE}, }
View Source
var CollectApiCommentsMeta = plugin.SubTaskMeta{ Name: "Collect Comments", EntryPoint: CollectApiComments, EnabledByDefault: true, Description: "Collect comments data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW, plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{}, ProductTables: []string{RAW_COMMENTS_TABLE}, }
View Source
var CollectApiCommitStatsMeta = plugin.SubTaskMeta{ Name: "Collect Commit Stats", EntryPoint: CollectApiCommitStats, EnabledByDefault: false, Description: "Collect commitStats data from Github api, does not support either timeFilter or diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, DependencyTables: []string{}, ProductTables: []string{RAW_COMMIT_STATS_TABLE}, }
View Source
var CollectApiCommitsMeta = plugin.SubTaskMeta{ Name: "Collect Commits", EntryPoint: CollectApiCommits, EnabledByDefault: false, Description: "Collect commits data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, DependencyTables: []string{}, ProductTables: []string{RAW_COMMIT_TABLE}, }
View Source
var CollectApiEventsMeta = plugin.SubTaskMeta{ Name: "Collect Events", EntryPoint: CollectApiEvents, EnabledByDefault: true, Description: "Collect Events data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{}, ProductTables: []string{RAW_EVENTS_TABLE}, }
View Source
var CollectApiIssuesMeta = plugin.SubTaskMeta{ Name: "Collect Issues", EntryPoint: CollectApiIssues, EnabledByDefault: true, Description: "Collect issues data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{}, ProductTables: []string{RAW_ISSUE_TABLE}, }
View Source
var CollectApiPrReviewCommentsMeta = plugin.SubTaskMeta{ Name: "Collect PR Review Comments", EntryPoint: CollectPrReviewComments, EnabledByDefault: true, Description: "Collect pr review comments data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{}, ProductTables: []string{RAW_PR_REVIEW_COMMENTS_TABLE}, }
View Source
var CollectApiPullRequestCommitsMeta = plugin.SubTaskMeta{ Name: "Collect PR Commits", EntryPoint: CollectApiPullRequestCommits, EnabledByDefault: true, Description: "Collect PullRequestCommits data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{models.GithubPullRequest{}.TableName()}, ProductTables: []string{RAW_PR_COMMIT_TABLE}, }
View Source
var CollectApiPullRequestReviewsMeta = plugin.SubTaskMeta{ Name: "Collect PR Reviews", EntryPoint: CollectApiPullRequestReviews, EnabledByDefault: true, Description: "Collect PullRequestReviews data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{models.GithubPullRequest{}.TableName()}, ProductTables: []string{RAW_PR_REVIEW_TABLE}, }
View Source
var CollectApiPullRequestsMeta = plugin.SubTaskMeta{ Name: "Collect Pull Requests", EntryPoint: CollectApiPullRequests, EnabledByDefault: true, Description: "Collect PullRequests data from Github api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{}, ProductTables: []string{RAW_PULL_REQUEST_TABLE}, }
View Source
var CollectJobsMeta = plugin.SubTaskMeta{ Name: "Collect Job Runs", EntryPoint: CollectJobs, EnabledByDefault: true, Description: "Collect Jobs data from Github action api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, DependencyTables: []string{models.GithubRun{}.TableName()}, ProductTables: []string{RAW_JOB_TABLE}, }
View Source
var CollectMilestonesMeta = plugin.SubTaskMeta{ Name: "Collect Milestones", EntryPoint: CollectApiMilestones, EnabledByDefault: true, Description: "Collect milestone data from Github api, does not support either timeFilter or diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{}, ProductTables: []string{RAW_MILESTONE_TABLE}, }
View Source
var CollectRunsMeta = plugin.SubTaskMeta{ Name: "Collect Workflow Runs", EntryPoint: CollectRuns, EnabledByDefault: true, Description: "Collect Runs data from Github action api, supports both timeFilter and diffSync.", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, DependencyTables: []string{}, ProductTables: []string{RAW_RUN_TABLE}, }
View Source
var ConvertAccountsMeta = plugin.SubTaskMeta{ Name: "Convert Users", EntryPoint: ConvertAccounts, EnabledByDefault: true, Description: "Convert tool layer table github_accounts into domain layer table accounts", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{ models.GithubAccount{}.TableName(), models.GithubRepoAccount{}.TableName(), models.GithubAccountOrg{}.TableName()}, ProductTables: []string{crossdomain.Account{}.TableName()}, }
View Source
var ConvertCommitsMeta = plugin.SubTaskMeta{ Name: "Convert Commits", EntryPoint: ConvertCommits, EnabledByDefault: false, Description: "Convert tool layer table github_commits into domain layer table commits", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, DependencyTables: []string{ models.GithubCommit{}.TableName(), models.GithubRepoCommit{}.TableName(), RAW_COMMIT_TABLE}, ProductTables: []string{ code.Commit{}.TableName(), code.RepoCommit{}.TableName()}, }
View Source
var ConvertDeploymentsMeta = plugin.SubTaskMeta{ Name: "Convert Deployments", EntryPoint: ConvertDeployment, EnabledByDefault: true, Description: "Convert tool layer table github_deployments into domain layer table deployment", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, DependencyTables: []string{models.GithubDeployment{}.TableName()}, ProductTables: []string{devops.CicdDeploymentCommit{}.TableName(), devops.CICDDeployment{}.TableName()}, }
View Source
var ConvertIssueAssigneeMeta = plugin.SubTaskMeta{ Name: "Convert Issue Assignees", EntryPoint: ConvertIssueAssignee, EnabledByDefault: true, Description: "Convert tool layer table _tool_github_issue_assignees into domain layer table issue_assignees", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{ models.GithubIssue{}.TableName(), RAW_ISSUE_TABLE, }, ProductTables: []string{models.GithubIssueAssignee{}.TableName()}, }
View Source
var ConvertIssueCommentsMeta = plugin.SubTaskMeta{ Name: "Convert Issue Comments", EntryPoint: ConvertIssueComments, EnabledByDefault: true, Description: "ConvertIssueComments data from Github api", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{ models.GithubIssueComment{}.TableName(), models.GithubIssue{}.TableName(), models.GithubAccount{}.TableName(), RAW_COMMENTS_TABLE}, ProductTables: []string{ticket.IssueComment{}.TableName()}, }
View Source
var ConvertIssueLabelsMeta = plugin.SubTaskMeta{ Name: "Convert Issue Labels", EntryPoint: ConvertIssueLabels, EnabledByDefault: true, Description: "Convert tool layer table github_issue_labels into domain layer table issue_labels", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{ models.GithubIssueLabel{}.TableName(), models.GithubIssue{}.TableName(), RAW_ISSUE_TABLE}, ProductTables: []string{ticket.IssueLabel{}.TableName()}, }
View Source
var ConvertIssuesMeta = plugin.SubTaskMeta{ Name: "Convert Issues", EntryPoint: ConvertIssues, EnabledByDefault: true, Description: "Convert tool layer table github_issues into domain layer table issues", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{ models.GithubIssue{}.TableName(), models.GithubAccount{}.TableName(), RAW_ISSUE_TABLE}, ProductTables: []string{ ticket.Issue{}.TableName(), ticket.BoardIssue{}.TableName()}, }
View Source
var ConvertJobsMeta = plugin.SubTaskMeta{ Name: "Convert Jobs", EntryPoint: ConvertJobs, EnabledByDefault: true, Description: "Convert tool layer table github_jobs into domain layer table cicd_tasks", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, DependencyTables: []string{ RAW_JOB_TABLE, models.GithubJob{}.TableName(), models.GithubRun{}.TableName(), }, ProductTables: []string{devops.CICDTask{}.TableName()}, }
View Source
var ConvertMilestonesMeta = plugin.SubTaskMeta{ Name: "Convert Milestones", EntryPoint: ConvertMilestones, EnabledByDefault: true, Description: "Convert tool layer table github_milestones into domain layer table milestones", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{ models.GithubIssue{}.TableName(), models.GithubMilestone{}.TableName(), RAW_MILESTONE_TABLE}, ProductTables: []string{ ticket.Sprint{}.TableName(), ticket.BoardSprint{}.TableName(), ticket.SprintIssue{}.TableName()}, }
View Source
var ConvertPullRequestCommentsMeta = plugin.SubTaskMeta{ Name: "Convert PR Comments", EntryPoint: ConvertPullRequestComments, EnabledByDefault: true, Description: "ConvertPullRequestComments data from Github api", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{ models.GithubPrComment{}.TableName(), models.GithubPullRequest{}.TableName(), models.GithubAccount{}.TableName(), models.GithubPrReview{}.TableName(), RAW_COMMENTS_TABLE}, ProductTables: []string{code.PullRequestComment{}.TableName()}, }
View Source
var ConvertPullRequestCommitsMeta = plugin.SubTaskMeta{ Name: "Convert PR Commits", EntryPoint: ConvertPullRequestCommits, EnabledByDefault: true, Description: "Convert tool layer table github_pull_request_commits into domain layer table pull_request_commits", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{ models.GithubPrCommit{}.TableName(), models.GithubPullRequest{}.TableName(), models.GithubPullRequest{}.TableName(), RAW_PR_COMMIT_TABLE}, ProductTables: []string{code.PullRequestCommit{}.TableName()}, }
View Source
var ConvertPullRequestIssuesMeta = plugin.SubTaskMeta{ Name: "Convert PR Issues", EntryPoint: ConvertPullRequestIssues, EnabledByDefault: true, Description: "Convert tool layer table github_pull_request_issues into domain layer table pull_request_issues", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{ models.GithubPrIssue{}.TableName(), models.GithubPullRequest{}.TableName(), RAW_PULL_REQUEST_TABLE}, ProductTables: []string{crossdomain.PullRequestIssue{}.TableName()}, }
View Source
var ConvertPullRequestLabelsMeta = plugin.SubTaskMeta{ Name: "Convert PR Labels", EntryPoint: ConvertPullRequestLabels, EnabledByDefault: true, Description: "Convert tool layer table github_pull_request_labels into domain layer table pull_request_labels", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{ models.GithubPrLabel{}.TableName(), models.GithubPullRequest{}.TableName(), RAW_PULL_REQUEST_TABLE}, ProductTables: []string{code.PullRequestLabel{}.TableName()}, }
View Source
var ConvertPullRequestReviewsMeta = plugin.SubTaskMeta{ Name: "Convert PR Reviews", EntryPoint: ConvertPullRequestReviews, EnabledByDefault: true, Description: "ConvertPullRequestReviews data from Github api", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{ models.GithubPrReview{}.TableName(), models.GithubPullRequest{}.TableName(), models.GithubAccount{}.TableName(), RAW_PR_REVIEW_TABLE}, ProductTables: []string{code.PullRequestComment{}.TableName()}, }
View Source
var ConvertPullRequestsMeta = plugin.SubTaskMeta{ Name: "Convert Pull Requests", EntryPoint: ConvertPullRequests, EnabledByDefault: true, Description: "ConvertPullRequests data from Github api", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{ models.GithubPullRequest{}.TableName(), models.GithubAccount{}.TableName(), RAW_PULL_REQUEST_TABLE}, ProductTables: []string{code.PullRequest{}.TableName()}, }
View Source
var ConvertRepoMeta = plugin.SubTaskMeta{ Name: "Convert Repos", EntryPoint: ConvertRepo, EnabledByDefault: true, Description: "Convert tool layer table github_repos into domain layer table repos and boards", DomainTypes: []string{ plugin.DOMAIN_TYPE_CODE, plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CICD, plugin.DOMAIN_TYPE_CODE_REVIEW, plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{}, ProductTables: []string{ code.Repo{}.TableName(), ticket.Board{}.TableName(), crossdomain.BoardRepo{}.TableName(), devops.CicdScope{}.TableName()}, }
View Source
var ConvertRunsMeta = plugin.SubTaskMeta{ Name: "Convert Workflow Runs", EntryPoint: ConvertRuns, EnabledByDefault: true, Description: "Convert tool layer table github_runs into domain layer table cicd_pipeline", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, DependencyTables: []string{ models.GithubRun{}.TableName(), RAW_RUN_TABLE, }, ProductTables: []string{ devops.CICDPipeline{}.TableName(), devops.CiCDPipelineCommit{}.TableName(), }, }
View Source
var EnrichPullRequestIssuesMeta = plugin.SubTaskMeta{ Name: "Enrich PR Issues", EntryPoint: EnrichPullRequestIssues, EnabledByDefault: true, Description: "Create tool layer table github_pull_request_issues from github_pull_requests", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{ models.GithubPullRequest{}.TableName(), RAW_PULL_REQUEST_TABLE}, ProductTables: []string{models.GithubPrIssue{}.TableName()}, }
View Source
var ExtractAccountOrgMeta = plugin.SubTaskMeta{ Name: "Extract User Org", EntryPoint: ExtractAccountOrg, EnabledByDefault: true, Description: "Extract raw account org data into tool layer table github_account_orgs", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{RAW_ACCOUNT_ORG_TABLE}, ProductTables: []string{models.GithubAccountOrg{}.TableName()}, }
View Source
var ExtractAccountsMeta = plugin.SubTaskMeta{ Name: "Extract Users", EntryPoint: ExtractAccounts, EnabledByDefault: true, Description: "Extract raw account data into tool layer table github_accounts", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS}, DependencyTables: []string{RAW_ACCOUNT_TABLE}, ProductTables: []string{models.GithubAccount{}.TableName()}, }
View Source
var ExtractApiCommentsMeta = plugin.SubTaskMeta{ Name: "Extract Comments", EntryPoint: ExtractApiComments, EnabledByDefault: true, Description: "Extract raw comment data into tool layer table github_pull_request_comments" + "and github_issue_comments", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE_REVIEW, plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{RAW_COMMENTS_TABLE}, ProductTables: []string{ models.GithubPrComment{}.TableName(), models.GithubIssueComment{}.TableName(), models.GithubRepoAccount{}.TableName()}, }
View Source
var ExtractApiCommitStatsMeta = plugin.SubTaskMeta{ Name: "Extract Commit Stats", EntryPoint: ExtractApiCommitStats, EnabledByDefault: false, Description: "Extract raw commit stats data into tool layer table github_commit_stats", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, DependencyTables: []string{RAW_COMMIT_STATS_TABLE}, ProductTables: []string{ models.GithubCommit{}.TableName(), models.GithubCommitStat{}.TableName()}, }
View Source
var ExtractApiCommitsMeta = plugin.SubTaskMeta{ Name: "Extract Commits", EntryPoint: ExtractApiCommits, EnabledByDefault: false, Description: "Extract raw commit data into tool layer table github_commits", DomainTypes: []string{plugin.DOMAIN_TYPE_CODE}, DependencyTables: []string{RAW_COMMIT_TABLE}, ProductTables: []string{ models.GithubCommit{}.TableName(), models.GithubRepoCommit{}.TableName()}, }
View Source
var ExtractApiEventsMeta = plugin.SubTaskMeta{ Name: "Extract Events", EntryPoint: ExtractApiEvents, EnabledByDefault: true, Description: "Extract raw Events data into tool layer table github_issue_events", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{RAW_EVENTS_TABLE}, ProductTables: []string{models.GithubIssueEvent{}.TableName()}, }
View Source
var ExtractApiIssuesMeta = plugin.SubTaskMeta{ Name: "Extract Issues", EntryPoint: ExtractApiIssues, EnabledByDefault: true, Description: "Extract raw Issues data into tool layer table github_issues", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{RAW_ISSUE_TABLE}, ProductTables: []string{ models.GithubIssue{}.TableName(), models.GithubIssueLabel{}.TableName(), models.GithubRepoAccount{}.TableName(), models.GithubIssueAssignee{}.TableName()}, }
View Source
var ExtractApiPrReviewCommentsMeta = plugin.SubTaskMeta{ Name: "Extract PR Review Comments", EntryPoint: ExtractApiPrReviewComments, EnabledByDefault: true, Description: "Extract raw comment data into tool layer table github_pull_request_comments" + "and github_issue_comments", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{RAW_PR_REVIEW_COMMENTS_TABLE}, ProductTables: []string{ models.GithubRepoAccount{}.TableName(), models.GithubPrCommit{}.TableName()}, }
View Source
var ExtractApiPullRequestCommitsMeta = plugin.SubTaskMeta{ Name: "Extract PR Commits", EntryPoint: ExtractApiPullRequestCommits, EnabledByDefault: true, Description: "Extract raw PullRequestCommits data into tool layer table github_commits", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{RAW_PR_COMMIT_TABLE}, ProductTables: []string{ models.GithubRepoCommit{}.TableName(), models.GithubCommit{}.TableName(), models.GithubPrCommit{}.TableName()}, }
View Source
var ExtractApiPullRequestReviewsMeta = plugin.SubTaskMeta{ Name: "Extract PR Reviews", EntryPoint: ExtractApiPullRequestReviews, EnabledByDefault: true, Description: "Extract raw PullRequestReviewers data into tool layer table github_reviewers", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{RAW_PR_REVIEW_TABLE}, ProductTables: []string{ models.GithubRepoAccount{}.TableName(), models.GithubReviewer{}.TableName(), models.GithubPrReview{}.TableName()}, }
View Source
var ExtractApiPullRequestsMeta = plugin.SubTaskMeta{ Name: "Extract Pull Requests", EntryPoint: ExtractApiPullRequests, EnabledByDefault: true, Description: "Extract raw PullRequests data into tool layer table github_pull_requests", DomainTypes: []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW}, DependencyTables: []string{RAW_PULL_REQUEST_TABLE}, ProductTables: []string{ models.GithubRepoAccount{}.TableName(), models.GithubPrLabel{}.TableName(), models.GithubPullRequest{}.TableName()}, }
View Source
var ExtractJobsMeta = plugin.SubTaskMeta{ Name: "Extract Jobs", EntryPoint: ExtractJobs, EnabledByDefault: true, Description: "Extract raw run data into tool layer table github_jobs", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, DependencyTables: []string{RAW_JOB_TABLE}, ProductTables: []string{models.GithubJob{}.TableName()}, }
View Source
var ExtractMilestonesMeta = plugin.SubTaskMeta{ Name: "Extract Milestones", EntryPoint: ExtractMilestones, EnabledByDefault: true, Description: "Extract raw milestone data into tool layer table github_milestones", DomainTypes: []string{plugin.DOMAIN_TYPE_TICKET}, DependencyTables: []string{RAW_MILESTONE_TABLE}, ProductTables: []string{models.GithubMilestone{}.TableName()}, }
View Source
var ExtractRunsMeta = plugin.SubTaskMeta{ Name: "Extract Workflow Runs", EntryPoint: ExtractRuns, EnabledByDefault: true, Description: "Extract raw run data into tool layer table github_runs", DomainTypes: []string{plugin.DOMAIN_TYPE_CICD}, DependencyTables: []string{RAW_RUN_TABLE}, ProductTables: []string{models.GithubRun{}.TableName()}, }
View Source
var SubTaskMetaList []*plugin.SubTaskMeta
Functions ¶
func CollectAccountOrg ¶
func CollectAccountOrg(taskCtx plugin.SubTaskContext) errors.Error
func CollectAccounts ¶
func CollectAccounts(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiComments ¶
func CollectApiComments(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiCommitStats ¶
func CollectApiCommitStats(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiCommits ¶
func CollectApiCommits(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiEvents ¶
func CollectApiEvents(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiIssues ¶
func CollectApiIssues(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiMilestones ¶
func CollectApiMilestones(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiPullRequestCommits ¶
func CollectApiPullRequestCommits(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiPullRequestReviews ¶
func CollectApiPullRequestReviews(taskCtx plugin.SubTaskContext) errors.Error
func CollectApiPullRequests ¶
func CollectApiPullRequests(taskCtx plugin.SubTaskContext) errors.Error
func CollectJobs ¶
func CollectJobs(taskCtx plugin.SubTaskContext) errors.Error
func CollectPrReviewComments ¶
func CollectPrReviewComments(taskCtx plugin.SubTaskContext) errors.Error
func CollectRuns ¶
func CollectRuns(taskCtx plugin.SubTaskContext) errors.Error
func ConvertAccounts ¶
func ConvertAccounts(taskCtx plugin.SubTaskContext) errors.Error
func ConvertCommits ¶
func ConvertCommits(taskCtx plugin.SubTaskContext) errors.Error
func ConvertDeployment ¶
func ConvertDeployment(taskCtx plugin.SubTaskContext) errors.Error
ConvertDeployment should be split into two task theoretically But in GitHub, all deployments have commits, so there is no need to change it.
func ConvertIssueAssignee ¶
func ConvertIssueAssignee(taskCtx plugin.SubTaskContext) errors.Error
func ConvertIssueComments ¶
func ConvertIssueComments(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 ConvertMilestones ¶
func ConvertMilestones(taskCtx plugin.SubTaskContext) errors.Error
func ConvertPullRequestComments ¶
func ConvertPullRequestComments(taskCtx plugin.SubTaskContext) errors.Error
func ConvertPullRequestCommits ¶
func ConvertPullRequestCommits(taskCtx plugin.SubTaskContext) (err errors.Error)
func ConvertPullRequestIssues ¶
func ConvertPullRequestIssues(taskCtx plugin.SubTaskContext) errors.Error
func ConvertPullRequestLabels ¶
func ConvertPullRequestLabels(taskCtx plugin.SubTaskContext) errors.Error
func ConvertPullRequestReviews ¶
func ConvertPullRequestReviews(taskCtx plugin.SubTaskContext) errors.Error
func ConvertPullRequests ¶
func ConvertPullRequests(taskCtx plugin.SubTaskContext) errors.Error
func ConvertRepo ¶
func ConvertRepo(taskCtx plugin.SubTaskContext) errors.Error
func ConvertRuns ¶
func ConvertRuns(taskCtx plugin.SubTaskContext) errors.Error
func CreateApiClient ¶
func CreateApiClient(taskCtx plugin.TaskContext, connection *models.GithubConnection) (*api.ApiAsyncClient, errors.Error)
func EnrichPullRequestIssues ¶
func EnrichPullRequestIssues(taskCtx plugin.SubTaskContext) (err errors.Error)
func ExtractAccountOrg ¶
func ExtractAccountOrg(taskCtx plugin.SubTaskContext) errors.Error
func ExtractAccounts ¶
func ExtractAccounts(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiComments ¶
func ExtractApiComments(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiCommitStats ¶
func ExtractApiCommitStats(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiCommits ¶
func ExtractApiCommits(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiEvents ¶
func ExtractApiEvents(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiIssues ¶
func ExtractApiIssues(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiPrReviewComments ¶
func ExtractApiPrReviewComments(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiPullRequestCommits ¶
func ExtractApiPullRequestCommits(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiPullRequestReviews ¶
func ExtractApiPullRequestReviews(taskCtx plugin.SubTaskContext) errors.Error
func ExtractApiPullRequests ¶
func ExtractApiPullRequests(taskCtx plugin.SubTaskContext) errors.Error
func ExtractJobs ¶
func ExtractJobs(taskCtx plugin.SubTaskContext) errors.Error
func ExtractMilestones ¶
func ExtractMilestones(taskCtx plugin.SubTaskContext) errors.Error
func ExtractRuns ¶
func ExtractRuns(taskCtx plugin.SubTaskContext) errors.Error
func RegisterSubtaskMeta ¶
func RegisterSubtaskMeta(meta *plugin.SubTaskMeta)
func ValidateTaskOptions ¶
func ValidateTaskOptions(op *GithubOptions) errors.Error
Types ¶
type ApiSingleCommitResponse ¶
type Commit ¶
type Commit struct { Author struct { Name string Email string Date common.Iso8601Time } Committer struct { Name string Email string Date common.Iso8601Time } Message string }
type CommitsResponse ¶
type CommitsResponse struct { Sha string `json:"sha"` Commit Commit Url string Author *models.GithubAccount Committer *models.GithubAccount }
type DetailGithubAccountResponse ¶
type DetailGithubAccountResponse struct { GithubAccountResponse Name string `json:"name"` Company string `json:"company"` Blog string `json:"blog"` Location string `json:"location"` Email string `json:"email"` Hireable bool `json:"hireable"` Bio string `json:"bio"` TwitterUsername string `json:"twitter_username"` PublicRepos int `json:"public_repos"` PublicGists int `json:"public_gists"` Followers int `json:"followers"` Following int `json:"following"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type GithubAccountResponse ¶
type GithubAccountResponse struct { Login string `json:"login"` Id int `json:"id"` NodeId string `json:"node_id"` AvatarUrl string `json:"avatar_url"` GravatarId string `json:"gravatar_id"` Url string `json:"url"` HtmlUrl string `json:"html_url"` FollowersUrl string `json:"followers_url"` FollowingUrl string `json:"following_url"` GistsUrl string `json:"gists_url"` StarredUrl string `json:"starred_url"` SubscriptionsUrl string `json:"subscriptions_url"` OrganizationsUrl string `json:"organizations_url"` ReposUrl string `json:"repos_url"` EventsUrl string `json:"events_url"` ReceivedEventsUrl string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` }
type GithubAccountWithOrg ¶
type GithubAccountWithOrg struct { models.GithubAccount Login string `json:"login" gorm:"type:varchar(255)"` common.NoPKModel }
type GithubApiParams ¶
type GithubApiParams models.GithubApiParams
TODO: avoid touching too many files, should be removed in the future
type GithubApiPullRequest ¶
type GithubApiPullRequest struct { GithubId int `json:"id"` Number int `json:"number"` State string `json:"state"` Title string `json:"title"` Body json.RawMessage `json:"body"` HtmlUrl string `json:"html_url"` Labels []struct { Name string `json:"name"` } `json:"labels"` Assignee *GithubAccountResponse `json:"assignee"` User *GithubAccountResponse `json:"user"` ClosedAt *common.Iso8601Time `json:"closed_at"` MergedAt *common.Iso8601Time `json:"merged_at"` GithubCreatedAt common.Iso8601Time `json:"created_at"` GithubUpdatedAt common.Iso8601Time `json:"updated_at"` MergeCommitSha string `json:"merge_commit_sha"` Head struct { Ref string `json:"ref"` Sha string `json:"sha"` Repo *GithubApiRepo `json:"repo"` } `json:"head"` Base struct { Ref string `json:"ref"` Sha string `json:"sha"` Repo *GithubApiRepo `json:"repo"` } `json:"base"` }
type GithubApiRepo ¶
type GithubApiRepo struct { Name string `json:"name"` FullName string `json:"full_name"` GithubId int `json:"id"` HTMLUrl string `json:"html_url"` Language string `json:"language"` Description string `json:"description"` Owner *GithubAccountResponse Parent *GithubApiRepo `json:"parent"` CreatedAt common.Iso8601Time `json:"created_at"` UpdatedAt *common.Iso8601Time `json:"updated_at"` CloneUrl string `json:"clone_url"` }
type GithubOptions ¶
type GithubOptions struct { ConnectionId uint64 `json:"connectionId" mapstructure:"connectionId,omitempty"` ScopeConfigId uint64 `json:"scopeConfigId" mapstructure:"scopeConfigId,omitempty"` GithubId int `json:"githubId" mapstructure:"githubId,omitempty"` Owner string `json:"owner" mapstructure:"owner,omitempty"` Repo string `json:"repo" mapstructure:"repo,omitempty"` Name string `json:"name" mapstructure:"name,omitempty"` FullName string `json:"fullName" mapstructure:"fullName,omitempty"` ScopeConfig *models.GithubScopeConfig `mapstructure:"scopeConfig,omitempty" json:"scopeConfig"` helper.CollectorOptions `mapstructure:",squash"` }
func DecodeAndValidateTaskOptions ¶
func DecodeAndValidateTaskOptions(options map[string]interface{}) (*GithubOptions, errors.Error)
func DecodeTaskOptions ¶
func DecodeTaskOptions(options map[string]interface{}) (*GithubOptions, errors.Error)
type GithubRawJobsResult ¶
type GithubRawJobsResult struct { TotalCount int64 `json:"total_count"` GithubWorkflowJobs []json.RawMessage `json:"jobs"` }
type GithubRawRunsResult ¶
type GithubRawRunsResult struct { TotalCount int `json:"total_count"` WorkflowRuns []struct { ID int64 `json:"id"` Name string `json:"name"` NodeID string `json:"node_id"` HeadBranch string `json:"head_branch"` HeadSha string `json:"head_sha"` Path string `json:"path"` DisplayTitle string `json:"display_title"` RunNumber int `json:"run_number"` Event string `json:"event"` Status string `json:"status"` Conclusion string `json:"conclusion"` WorkflowID int `json:"workflow_id"` CheckSuiteID int64 `json:"check_suite_id"` CheckSuiteNodeID string `json:"check_suite_node_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` PullRequests []struct { URL string `json:"url"` ID int `json:"id"` Number int `json:"number"` Head struct { Ref string `json:"ref"` Sha string `json:"sha"` Repo struct { ID int `json:"id"` URL string `json:"url"` Name string `json:"name"` } `json:"repo"` } `json:"head"` Base struct { Ref string `json:"ref"` Sha string `json:"sha"` Repo struct { ID int `json:"id"` URL string `json:"url"` Name string `json:"name"` } `json:"repo"` } `json:"base"` } `json:"pull_requests"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Actor struct { Login string `json:"login"` ID int `json:"id"` NodeID string `json:"node_id"` AvatarURL string `json:"avatar_url"` GravatarID string `json:"gravatar_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` FollowersURL string `json:"followers_url"` FollowingURL string `json:"following_url"` GistsURL string `json:"gists_url"` StarredURL string `json:"starred_url"` SubscriptionsURL string `json:"subscriptions_url"` OrganizationsURL string `json:"organizations_url"` ReposURL string `json:"repos_url"` EventsURL string `json:"events_url"` ReceivedEventsURL string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` } `json:"actor"` RunAttempt int `json:"run_attempt"` ReferencedWorkflows []any `json:"referenced_workflows"` RunStartedAt time.Time `json:"run_started_at"` TriggeringActor struct { Login string `json:"login"` ID int `json:"id"` NodeID string `json:"node_id"` AvatarURL string `json:"avatar_url"` GravatarID string `json:"gravatar_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` FollowersURL string `json:"followers_url"` FollowingURL string `json:"following_url"` GistsURL string `json:"gists_url"` StarredURL string `json:"starred_url"` SubscriptionsURL string `json:"subscriptions_url"` OrganizationsURL string `json:"organizations_url"` ReposURL string `json:"repos_url"` EventsURL string `json:"events_url"` ReceivedEventsURL string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` } `json:"triggering_actor"` JobsURL string `json:"jobs_url"` LogsURL string `json:"logs_url"` CheckSuiteURL string `json:"check_suite_url"` ArtifactsURL string `json:"artifacts_url"` CancelURL string `json:"cancel_url"` RerunURL string `json:"rerun_url"` PreviousAttemptURL any `json:"previous_attempt_url"` WorkflowURL string `json:"workflow_url"` HeadCommit struct { ID string `json:"id"` TreeID string `json:"tree_id"` Message string `json:"message"` Timestamp time.Time `json:"timestamp"` Author struct { Name string `json:"name"` Email string `json:"email"` } `json:"author"` Committer struct { Name string `json:"name"` Email string `json:"email"` } `json:"committer"` } `json:"head_commit"` Repository struct { ID int `json:"id"` NodeID string `json:"node_id"` Name string `json:"name"` FullName string `json:"full_name"` Private bool `json:"private"` Owner struct { Login string `json:"login"` ID int `json:"id"` NodeID string `json:"node_id"` AvatarURL string `json:"avatar_url"` GravatarID string `json:"gravatar_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` FollowersURL string `json:"followers_url"` FollowingURL string `json:"following_url"` GistsURL string `json:"gists_url"` StarredURL string `json:"starred_url"` SubscriptionsURL string `json:"subscriptions_url"` OrganizationsURL string `json:"organizations_url"` ReposURL string `json:"repos_url"` EventsURL string `json:"events_url"` ReceivedEventsURL string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` } `json:"owner"` HTMLURL string `json:"html_url"` Description string `json:"description"` Fork bool `json:"fork"` URL string `json:"url"` ForksURL string `json:"forks_url"` KeysURL string `json:"keys_url"` CollaboratorsURL string `json:"collaborators_url"` TeamsURL string `json:"teams_url"` HooksURL string `json:"hooks_url"` IssueEventsURL string `json:"issue_events_url"` EventsURL string `json:"events_url"` AssigneesURL string `json:"assignees_url"` BranchesURL string `json:"branches_url"` TagsURL string `json:"tags_url"` BlobsURL string `json:"blobs_url"` GitTagsURL string `json:"git_tags_url"` GitRefsURL string `json:"git_refs_url"` TreesURL string `json:"trees_url"` StatusesURL string `json:"statuses_url"` LanguagesURL string `json:"languages_url"` StargazersURL string `json:"stargazers_url"` ContributorsURL string `json:"contributors_url"` SubscribersURL string `json:"subscribers_url"` SubscriptionURL string `json:"subscription_url"` CommitsURL string `json:"commits_url"` GitCommitsURL string `json:"git_commits_url"` CommentsURL string `json:"comments_url"` IssueCommentURL string `json:"issue_comment_url"` ContentsURL string `json:"contents_url"` CompareURL string `json:"compare_url"` MergesURL string `json:"merges_url"` ArchiveURL string `json:"archive_url"` DownloadsURL string `json:"downloads_url"` IssuesURL string `json:"issues_url"` PullsURL string `json:"pulls_url"` MilestonesURL string `json:"milestones_url"` NotificationsURL string `json:"notifications_url"` LabelsURL string `json:"labels_url"` ReleasesURL string `json:"releases_url"` DeploymentsURL string `json:"deployments_url"` } `json:"repository"` HeadRepository struct { ID int `json:"id"` NodeID string `json:"node_id"` Name string `json:"name"` FullName string `json:"full_name"` Private bool `json:"private"` Owner struct { Login string `json:"login"` ID int `json:"id"` NodeID string `json:"node_id"` AvatarURL string `json:"avatar_url"` GravatarID string `json:"gravatar_id"` URL string `json:"url"` HTMLURL string `json:"html_url"` FollowersURL string `json:"followers_url"` FollowingURL string `json:"following_url"` GistsURL string `json:"gists_url"` StarredURL string `json:"starred_url"` SubscriptionsURL string `json:"subscriptions_url"` OrganizationsURL string `json:"organizations_url"` ReposURL string `json:"repos_url"` EventsURL string `json:"events_url"` ReceivedEventsURL string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` } `json:"owner"` HTMLURL string `json:"html_url"` Description string `json:"description"` Fork bool `json:"fork"` URL string `json:"url"` ForksURL string `json:"forks_url"` KeysURL string `json:"keys_url"` CollaboratorsURL string `json:"collaborators_url"` TeamsURL string `json:"teams_url"` HooksURL string `json:"hooks_url"` IssueEventsURL string `json:"issue_events_url"` EventsURL string `json:"events_url"` AssigneesURL string `json:"assignees_url"` BranchesURL string `json:"branches_url"` TagsURL string `json:"tags_url"` BlobsURL string `json:"blobs_url"` GitTagsURL string `json:"git_tags_url"` GitRefsURL string `json:"git_refs_url"` TreesURL string `json:"trees_url"` StatusesURL string `json:"statuses_url"` LanguagesURL string `json:"languages_url"` StargazersURL string `json:"stargazers_url"` ContributorsURL string `json:"contributors_url"` SubscribersURL string `json:"subscribers_url"` SubscriptionURL string `json:"subscription_url"` CommitsURL string `json:"commits_url"` GitCommitsURL string `json:"git_commits_url"` CommentsURL string `json:"comments_url"` IssueCommentURL string `json:"issue_comment_url"` ContentsURL string `json:"contents_url"` CompareURL string `json:"compare_url"` MergesURL string `json:"merges_url"` ArchiveURL string `json:"archive_url"` DownloadsURL string `json:"downloads_url"` IssuesURL string `json:"issues_url"` PullsURL string `json:"pulls_url"` MilestonesURL string `json:"milestones_url"` NotificationsURL string `json:"notifications_url"` LabelsURL string `json:"labels_url"` ReleasesURL string `json:"releases_url"` DeploymentsURL string `json:"deployments_url"` } `json:"head_repository"` } `json:"workflow_runs"` }
type GithubTaskData ¶
type GithubTaskData struct { Options *GithubOptions ApiClient *helper.ApiAsyncClient GraphqlClient *helper.GraphqlAsyncClient RegexEnricher *helper.RegexEnricher }
func CreateRawDataSubTaskArgs ¶
func CreateRawDataSubTaskArgs(taskCtx plugin.SubTaskContext, table string) (*api.RawDataSubTaskArgs, *GithubTaskData)
type IssueComment ¶
type IssueComment struct { GithubId int `json:"id"` Body json.RawMessage User *GithubAccountResponse IssueUrl string `json:"issue_url"` GithubCreatedAt common.Iso8601Time `json:"created_at"` GithubUpdatedAt common.Iso8601Time `json:"updated_at"` }
type IssueEvent ¶
type IssueEvent struct { GithubId int `json:"id"` Event string Actor *GithubAccountResponse Issue struct { Id int } GithubCreatedAt common.Iso8601Time `json:"created_at"` }
type IssueRegexes ¶
type IssueRegexes struct { SeverityRegex *regexp.Regexp ComponentRegex *regexp.Regexp PriorityRegex *regexp.Regexp TypeBugRegex *regexp.Regexp TypeRequirementRegex *regexp.Regexp TypeIncidentRegex *regexp.Regexp }
func NewIssueRegexes ¶
func NewIssueRegexes(config *models.GithubScopeConfig) (*IssueRegexes, errors.Error)
type IssuesResponse ¶
type IssuesResponse struct { GithubId int `json:"id"` Number int State string Title string Body json.RawMessage HtmlUrl string `json:"html_url"` PullRequest struct { Url string `json:"url"` HtmlUrl string `json:"html_url"` } `json:"pull_request"` Labels []struct { Name string `json:"name"` } `json:"labels"` Assignee *GithubAccountResponse `json:"assignee"` Assignees []GithubAccountResponse `json:"assignees"` User *GithubAccountResponse Milestone *struct { Id int } ClosedAt *common.Iso8601Time `json:"closed_at"` GithubCreatedAt common.Iso8601Time `json:"created_at"` GithubUpdatedAt common.Iso8601Time `json:"updated_at"` }
type MilestoneConverterModel ¶
type MilestoneConverterModel struct { common.RawDataOrigin models.GithubMilestone GithubId int }
type MilestonesResponse ¶
type MilestonesResponse struct { Url string `json:"url"` HtmlUrl string `json:"html_url"` LabelsUrl string `json:"labels_url"` Id int `json:"id"` NodeId string `json:"node_id"` Number int `json:"number"` Title string `json:"title"` Description string `json:"description"` Creator struct { Login string `json:"login"` Id int `json:"id"` NodeId string `json:"node_id"` AvatarUrl string `json:"avatar_url"` GravatarId string `json:"gravatar_id"` Url string `json:"url"` HtmlUrl string `json:"html_url"` FollowersUrl string `json:"followers_url"` FollowingUrl string `json:"following_url"` GistsUrl string `json:"gists_url"` StarredUrl string `json:"starred_url"` SubscriptionsUrl string `json:"subscriptions_url"` OrganizationsUrl string `json:"organizations_url"` ReposUrl string `json:"repos_url"` EventsUrl string `json:"events_url"` ReceivedEventsUrl string `json:"received_events_url"` Type string `json:"type"` SiteAdmin bool `json:"site_admin"` } `json:"creator"` OpenIssues int `json:"open_issues"` ClosedIssues int `json:"closed_issues"` State string `json:"state"` CreatedAt common.Iso8601Time `json:"created_at"` UpdatedAt common.Iso8601Time `json:"updated_at"` DueOn *common.Iso8601Time `json:"due_on"` ClosedAt *common.Iso8601Time `json:"closed_at"` }
type PrCommitsResponse ¶
type PrCommitsResponse struct { Sha string `json:"sha"` Commit PullRequestCommit Url string }
type PullRequestCommit ¶
type PullRequestCommit struct { Author struct { Id int Name string Email string Date common.Iso8601Time } Committer struct { Name string Email string Date common.Iso8601Time } Message json.RawMessage }
type PullRequestReview ¶
type PullRequestReview struct { GithubId int `json:"id"` User *GithubAccountResponse Body string State string CommitId string `json:"commit_id"` SubmittedAt common.Iso8601Time `json:"submitted_at"` }
type SimpleAccount ¶
type SimpleAccount struct {
Login string
}
type SimpleAccountWithId ¶
type SimpleBranch ¶
type SimpleBranch struct {
HeadBranch string `json:"head_branch" gorm:"type:varchar(255)"`
}
type SimpleGithubApiEvents ¶
type SimpleGithubApiEvents struct { GithubId int64 CreatedAt common.Iso8601Time `json:"created_at"` }
type SimpleGithubApiJob ¶
type SimpleGithubApiJob struct { ID int64 CreatedAt common.Iso8601Time `json:"created_at"` }
type SimpleGithubApiPr ¶
type SimpleGithubPr ¶
type SimpleGithubPr struct {
Number int64
}
type SimpleGithubRun ¶
type SimpleGithubRun struct {
ID int64
}
Source Files ¶
- account_collector.go
- account_convertor.go
- account_extractor.go
- account_org_collector.go
- account_org_extractor.go
- account_pre_extractor.go
- api_client.go
- cicd_job_collector.go
- cicd_job_convertor.go
- cicd_job_extractor.go
- cicd_run_collector.go
- cicd_run_convertor.go
- cicd_run_extractor.go
- comment_collector.go
- comment_extractor.go
- commit_collector.go
- commit_convertor.go
- commit_extractor.go
- commit_stats_collector.go
- commit_stats_extractor.go
- deployment_convertor.go
- event_collector.go
- event_extractor.go
- issue_assignee_convertor.go
- issue_collector.go
- issue_comment_convertor.go
- issue_convertor.go
- issue_extractor.go
- issue_label_convertor.go
- milestone_collector.go
- milestone_converter.go
- milestone_extractor.go
- pr_collector.go
- pr_comment_convertor.go
- pr_commit_collector.go
- pr_commit_convertor.go
- pr_commit_extractor.go
- pr_convertor.go
- pr_extractor.go
- pr_issue_convertor.go
- pr_issue_enricher.go
- pr_label_convertor.go
- pr_review_collector.go
- pr_review_comment_collector.go
- pr_review_comment_extractor.go
- pr_review_convertor.go
- pr_review_extractor.go
- register.go
- repo_convertor.go
- shared.go
- task_data.go
Click to show internal directories.
Click to hide internal directories.