tasks

package
v0.0.0-...-7d3b672 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

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_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_REPOSITORIES_TABLE = "github_api_repositories"
View Source
const RAW_RUN_TABLE = "github_api_runs"

Variables

View Source
var CollectAccountOrgMeta = plugin.SubTaskMeta{
	Name:             "collectAccountOrg",
	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},
}
View Source
var CollectAccountsMeta = plugin.SubTaskMeta{
	Name:             "collectAccounts",
	EntryPoint:       CollectAccounts,
	EnabledByDefault: true,
	Description:      "Collect accounts data from Github api, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var CollectApiCommentsMeta = plugin.SubTaskMeta{
	Name:             "collectApiComments",
	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},
}
View Source
var CollectApiCommitStatsMeta = plugin.SubTaskMeta{
	Name:             "collectApiCommitStats",
	EntryPoint:       CollectApiCommitStats,
	EnabledByDefault: false,
	Description:      "Collect commitStats data from Github api, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE},
}
View Source
var CollectApiCommitsMeta = plugin.SubTaskMeta{
	Name:             "collectApiCommits",
	EntryPoint:       CollectApiCommits,
	EnabledByDefault: false,
	Description:      "Collect commits data from Github api, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE},
}
View Source
var CollectApiEventsMeta = plugin.SubTaskMeta{
	Name:             "collectApiEvents",
	EntryPoint:       CollectApiEvents,
	EnabledByDefault: true,
	Description:      "Collect Events data from Github api, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectApiIssuesMeta = plugin.SubTaskMeta{
	Name:             "collectApiIssues",
	EntryPoint:       CollectApiIssues,
	EnabledByDefault: true,
	Description:      "Collect issues data from Github api, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectApiPrReviewCommentsMeta = plugin.SubTaskMeta{
	Name:             "collectApiPrReviewCommentsMeta",
	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},
}
View Source
var CollectApiPullRequestCommitsMeta = plugin.SubTaskMeta{
	Name:             "collectApiPullRequestCommits",
	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},
}
View Source
var CollectApiPullRequestReviewsMeta = plugin.SubTaskMeta{
	Name:             "collectApiPullRequestReviews",
	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},
}
View Source
var CollectApiPullRequestsMeta = plugin.SubTaskMeta{
	Name:             "collectApiPullRequests",
	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},
}
View Source
var CollectJobsMeta = plugin.SubTaskMeta{
	Name:             "collectJobs",
	EntryPoint:       CollectJobs,
	EnabledByDefault: true,
	Description:      "Collect Jobs data from Github action api, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
}
View Source
var CollectMilestonesMeta = plugin.SubTaskMeta{
	Name:             "collectApiMilestones",
	EntryPoint:       CollectApiMilestones,
	EnabledByDefault: true,
	Description:      "Collect milestone data from Github api, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectRunsMeta = plugin.SubTaskMeta{
	Name:             "collectRuns",
	EntryPoint:       CollectRuns,
	EnabledByDefault: true,
	Description:      "Collect Runs data from Github action api, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
}
View Source
var ConvertAccountsMeta = plugin.SubTaskMeta{
	Name:             "convertAccounts",
	EntryPoint:       ConvertAccounts,
	EnabledByDefault: true,
	Description:      "Convert tool layer table github_accounts into  domain layer table accounts",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ConvertCommitsMeta = plugin.SubTaskMeta{
	Name:             "convertCommits",
	EntryPoint:       ConvertCommits,
	EnabledByDefault: false,
	Description:      "Convert tool layer table github_commits into  domain layer table commits",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE},
}
View Source
var ConvertIssueAssigneeMeta = plugin.SubTaskMeta{
	Name:             "convertIssueAssignee",
	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},
}
View Source
var ConvertIssueCommentsMeta = plugin.SubTaskMeta{
	Name:             "convertIssueComments",
	EntryPoint:       ConvertIssueComments,
	EnabledByDefault: true,
	Description:      "ConvertIssueComments data from Github api",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertIssueLabelsMeta = plugin.SubTaskMeta{
	Name:             "convertIssueLabels",
	EntryPoint:       ConvertIssueLabels,
	EnabledByDefault: true,
	Description:      "Convert tool layer table github_issue_labels into  domain layer table issue_labels",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertIssuesMeta = plugin.SubTaskMeta{
	Name:             "convertIssues",
	EntryPoint:       ConvertIssues,
	EnabledByDefault: true,
	Description:      "Convert tool layer table github_issues into  domain layer table issues",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertJobsMeta = plugin.SubTaskMeta{
	Name:             "convertJobs",
	EntryPoint:       ConvertJobs,
	EnabledByDefault: true,
	Description:      "Convert tool layer table github_jobs into  domain layer table cicd_tasks",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
}
View Source
var ConvertMilestonesMeta = plugin.SubTaskMeta{
	Name:             "convertMilestones",
	EntryPoint:       ConvertMilestones,
	EnabledByDefault: true,
	Description:      "Convert tool layer table github_milestones into  domain layer table milestones",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertPullRequestCommentsMeta = plugin.SubTaskMeta{
	Name:             "convertPullRequestComments",
	EntryPoint:       ConvertPullRequestComments,
	EnabledByDefault: true,
	Description:      "ConvertPullRequestComments data from Github api",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_REVIEW},
}
View Source
var ConvertPullRequestCommitsMeta = plugin.SubTaskMeta{
	Name:             "convertPullRequestCommits",
	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},
}
View Source
var ConvertPullRequestIssuesMeta = plugin.SubTaskMeta{
	Name:             "convertPullRequestIssues",
	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},
}
View Source
var ConvertPullRequestLabelsMeta = plugin.SubTaskMeta{
	Name:             "convertPullRequestLabels",
	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},
}
View Source
var ConvertPullRequestReviewsMeta = plugin.SubTaskMeta{
	Name:             "convertPullRequestReviews",
	EntryPoint:       ConvertPullRequestReviews,
	EnabledByDefault: true,
	Description:      "ConvertPullRequestReviews data from Github api",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_REVIEW},
}
View Source
var ConvertPullRequestsMeta = plugin.SubTaskMeta{
	Name:             "convertPullRequests",
	EntryPoint:       ConvertPullRequests,
	EnabledByDefault: true,
	Description:      "ConvertPullRequests data from Github api",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW},
}
View Source
var ConvertRepoMeta = plugin.SubTaskMeta{
	Name:             "convertRepo",
	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},
}
View Source
var ConvertRunsMeta = plugin.SubTaskMeta{
	Name:             "convertRuns",
	EntryPoint:       ConvertRuns,
	EnabledByDefault: true,
	Description:      "Convert tool layer table github_runs into  domain layer table cicd_pipeline",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
}
View Source
var EnrichPullRequestIssuesMeta = plugin.SubTaskMeta{
	Name:             "enrichPullRequestIssues",
	EntryPoint:       EnrichPullRequestIssues,
	EnabledByDefault: true,
	Description:      "Create tool layer table github_pull_request_issues from github_pull_reqeusts",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractAccountOrgMeta = plugin.SubTaskMeta{
	Name:             "ExtractAccountOrg",
	EntryPoint:       ExtractAccountOrg,
	EnabledByDefault: true,
	Description:      "Extract raw account org data into tool layer table github_account_orgs",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractAccountsMeta = plugin.SubTaskMeta{
	Name:             "extractAccounts",
	EntryPoint:       ExtractAccounts,
	EnabledByDefault: true,
	Description:      "Extract raw account data  into tool layer table github_accounts",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractApiCommentsMeta = plugin.SubTaskMeta{
	Name:             "extractApiComments",
	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},
}
View Source
var ExtractApiCommitStatsMeta = plugin.SubTaskMeta{
	Name:             "extractApiCommitStats",
	EntryPoint:       ExtractApiCommitStats,
	EnabledByDefault: false,
	Description:      "Extract raw commit stats data into tool layer table github_commit_stats",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE},
}
View Source
var ExtractApiCommitsMeta = plugin.SubTaskMeta{
	Name:             "extractApiCommits",
	EntryPoint:       ExtractApiCommits,
	EnabledByDefault: false,
	Description:      "Extract raw commit data into tool layer table github_commits",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE},
}
View Source
var ExtractApiEventsMeta = plugin.SubTaskMeta{
	Name:             "extractApiEvents",
	EntryPoint:       ExtractApiEvents,
	EnabledByDefault: true,
	Description:      "Extract raw Events data into tool layer table github_issue_events",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractApiIssuesMeta = plugin.SubTaskMeta{
	Name:             "extractApiIssues",
	EntryPoint:       ExtractApiIssues,
	EnabledByDefault: true,
	Description:      "Extract raw Issues data into tool layer table github_issues",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractApiPrReviewCommentsMeta = plugin.SubTaskMeta{
	Name:             "extractApiPrReviewComments",
	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},
}
View Source
var ExtractApiPullRequestCommitsMeta = plugin.SubTaskMeta{
	Name:             "extractApiPullRequestCommits",
	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},
}
View Source
var ExtractApiPullRequestReviewsMeta = plugin.SubTaskMeta{
	Name:             "extractApiPullRequestReviews",
	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},
}
View Source
var ExtractApiPullRequestsMeta = plugin.SubTaskMeta{
	Name:             "extractApiPullRequests",
	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},
}
View Source
var ExtractJobsMeta = plugin.SubTaskMeta{
	Name:             "extractJobs",
	EntryPoint:       ExtractJobs,
	EnabledByDefault: true,
	Description:      "Extract raw run data into tool layer table github_jobs",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
}
View Source
var ExtractMilestonesMeta = plugin.SubTaskMeta{
	Name:             "extractMilestones",
	EntryPoint:       ExtractMilestones,
	EnabledByDefault: true,
	Description:      "Extract raw milestone data into tool layer table github_milestones",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractRunsMeta = plugin.SubTaskMeta{
	Name:             "extractRuns",
	EntryPoint:       ExtractRuns,
	EnabledByDefault: true,
	Description:      "Extract raw run data into tool layer table github_runs",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
}

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 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 EncodeTaskOptions

func EncodeTaskOptions(op *GithubOptions) (map[string]interface{}, 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 GetTotalPagesFromResponse

func GetTotalPagesFromResponse(res *http.Response, args *api.ApiCollectorArgs) (int, errors.Error)

func ValidateTaskOptions

func ValidateTaskOptions(op *GithubOptions) errors.Error

Types

type ApiRepoResponse

type ApiRepoResponse GithubApiRepo

type ApiSingleCommitResponse

type ApiSingleCommitResponse struct {
	Sha   string
	Stats struct {
		Additions int
		Deletions int
	}
	Commit struct {
		Committer struct {
			Name  string
			Email string
			Date  api.Iso8601Time
		}
	}
}

type Commit

type Commit struct {
	Author struct {
		Name  string
		Email string
		Date  api.Iso8601Time
	}
	Committer struct {
		Name  string
		Email string
		Date  api.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 GithubAccountOrgsResponse

type GithubAccountOrgsResponse struct {
	Login       string `json:"login"`
	Id          int    `json:"id"`
	NodeId      string `json:"node_id"`
	AvatarUrl   string `json:"avatar_url"`
	Description string `json:"description"`
}

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        *api.Iso8601Time       `json:"closed_at"`
	MergedAt        *api.Iso8601Time       `json:"merged_at"`
	GithubCreatedAt api.Iso8601Time        `json:"created_at"`
	GithubUpdatedAt api.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   api.Iso8601Time  `json:"created_at"`
	UpdatedAt   *api.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"`
	TimeAfter     string                    `json:"timeAfter" mapstructure:"timeAfter,omitempty"`
	Owner         string                    `json:"owner" mapstructure:"owner,omitempty"`
	Repo          string                    `json:"repo"  mapstructure:"repo,omitempty"`
	Name          string                    `json:"name"  mapstructure:"name,omitempty"`
	ScopeConfig   *models.GithubScopeConfig `mapstructure:"scopeConfig,omitempty" json:"scopeConfig"`
}

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         int64             `json:"total_count"`
	GithubWorkflowRuns []json.RawMessage `json:"workflow_runs"`
}

type GithubTaskData

type GithubTaskData struct {
	Options       *GithubOptions
	ApiClient     *helper.ApiAsyncClient
	GraphqlClient *helper.GraphqlAsyncClient
	TimeAfter     *time.Time
	RegexEnricher *helper.RegexEnricher
}

type IssueComment

type IssueComment struct {
	GithubId        int `json:"id"`
	Body            json.RawMessage
	User            *GithubAccountResponse
	IssueUrl        string             `json:"issue_url"`
	GithubCreatedAt helper.Iso8601Time `json:"created_at"`
	GithubUpdatedAt helper.Iso8601Time `json:"updated_at"`
}

type IssueEvent

type IssueEvent struct {
	GithubId int `json:"id"`
	Event    string
	Actor    *GithubAccountResponse
	Issue    struct {
		Id int
	}
	GithubCreatedAt api.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        *api.Iso8601Time `json:"closed_at"`
	GithubCreatedAt api.Iso8601Time  `json:"created_at"`
	GithubUpdatedAt api.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    api.Iso8601Time  `json:"created_at"`
	UpdatedAt    api.Iso8601Time  `json:"updated_at"`
	DueOn        *api.Iso8601Time `json:"due_on"`
	ClosedAt     *api.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  helper.Iso8601Time
	}
	Committer struct {
		Name  string
		Email string
		Date  helper.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 api.Iso8601Time `json:"submitted_at"`
}

type SimpleAccount

type SimpleAccount struct {
	Login string
}

type SimpleAccountWithId

type SimpleAccountWithId struct {
	Login     string
	AccountId int
}

type SimpleBranch

type SimpleBranch struct {
	HeadBranch string `json:"head_branch" gorm:"type:varchar(255)"`
}

type SimpleGithubApiEvents

type SimpleGithubApiEvents struct {
	GithubId  int64
	CreatedAt helper.Iso8601Time `json:"created_at"`
}

type SimpleGithubApiJob

type SimpleGithubApiJob struct {
	ID        int64
	CreatedAt helper.Iso8601Time `json:"created_at"`
}

type SimpleGithubApiPr

type SimpleGithubApiPr struct {
	CreatedAt time.Time `json:"created_at"`
}

type SimpleGithubPr

type SimpleGithubPr struct {
	Number int64
}

type SimpleGithubRun

type SimpleGithubRun struct {
	ID int64
}

type SimplePr

type SimplePr struct {
	Number   int
	GithubId int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL