tasks

package
v0.15.0-hexun-tapd Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2022 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Index

Constants

View Source
const RAW_ACCOUNTS_TABLE = "github_graphql_accounts"
View Source
const RAW_CHECK_RUNS_TABLE = "github_graphql_check_runs"
View Source
const RAW_ISSUES_TABLE = "github_graphql_issues"
View Source
const RAW_PRS_TABLE = "github_graphql_prs"
View Source
const RAW_REPO_TABLE = "github_graphql_repo"

Variables

View Source
var CollectAccountMeta = core.SubTaskMeta{
	Name:             "CollectAccount",
	EntryPoint:       CollectAccount,
	EnabledByDefault: true,
	Description:      "Collect Account data from GithubGraphql api",
	DomainTypes:      []string{core.DOMAIN_TYPE_CROSS},
}
View Source
var CollectCheckRunMeta = core.SubTaskMeta{
	Name:             "CollectCheckRun",
	EntryPoint:       CollectCheckRun,
	EnabledByDefault: true,
	Description:      "Collect CheckRun data from GithubGraphql api",
	DomainTypes:      []string{core.DOMAIN_TYPE_CICD},
}
View Source
var CollectIssueMeta = core.SubTaskMeta{
	Name:             "CollectIssue",
	EntryPoint:       CollectIssue,
	EnabledByDefault: true,
	Description:      "Collect Issue data from GithubGraphql api",
	DomainTypes:      []string{core.DOMAIN_TYPE_TICKET},
}
View Source
var CollectPrMeta = core.SubTaskMeta{
	Name:             "CollectPr",
	EntryPoint:       CollectPr,
	EnabledByDefault: true,
	Description:      "Collect Pr data from GithubGraphql api",
	DomainTypes:      []string{core.DOMAIN_TYPE_CODE_REVIEW},
}
View Source
var CollectRepoMeta = core.SubTaskMeta{
	Name:             "CollectRepo",
	EntryPoint:       CollectRepo,
	EnabledByDefault: true,
	Description:      "Collect Repo data from GithubGraphql api",
	DomainTypes:      []string{core.DOMAIN_TYPE_CODE, core.DOMAIN_TYPE_TICKET, core.DOMAIN_TYPE_CICD, core.DOMAIN_TYPE_CODE_REVIEW, core.DOMAIN_TYPE_CROSS},
}

Functions

func CollectAccount

func CollectAccount(taskCtx core.SubTaskContext) errors.Error

func CollectCheckRun added in v0.15.0

func CollectCheckRun(taskCtx core.SubTaskContext) errors.Error

func CollectIssue

func CollectIssue(taskCtx core.SubTaskContext) errors.Error

func CollectPr

func CollectPr(taskCtx core.SubTaskContext) errors.Error

func CollectRepo

func CollectRepo(taskCtx core.SubTaskContext) errors.Error

Types

type GithubAccountEdge

type GithubAccountEdge struct {
	Login     string
	Id        int `graphql:"databaseId"`
	Name      string
	Company   string
	Email     string
	AvatarUrl string
	HtmlUrl   string `graphql:"url"`
}

type GraphqlInlineAccountQuery

type GraphqlInlineAccountQuery struct {
	GithubAccountEdge `graphql:"... on User"`
}

type GraphqlQueryAccount

type GraphqlQueryAccount struct {
	Login     string
	Id        int `graphql:"databaseId"`
	Name      string
	Company   string
	Email     string
	AvatarUrl string
	HtmlUrl   string `graphql:"url"`
	//Type      string
	Organizations struct {
		Nodes []struct {
			Email      string
			Name       string
			DatabaseId int
			Login      string
		}
	} `graphql:"organizations(first: 10)"`
}

type GraphqlQueryAccountWrapper

type GraphqlQueryAccountWrapper struct {
	RateLimit struct {
		Cost int
	}
	Users []GraphqlQueryAccount `graphql:"user(login: $login)" graphql-extend:"true"`
}

type GraphqlQueryCheckRunWrapper added in v0.15.0

type GraphqlQueryCheckRunWrapper struct {
	RateLimit struct {
		Cost int
	}
	Node []GraphqlQueryCheckSuite `graphql:"node(id: $id)" graphql-extend:"true"`
}

type GraphqlQueryCheckSuite added in v0.15.0

type GraphqlQueryCheckSuite struct {
	Id         string
	Typename   string `graphql:"__typename"`
	CheckSuite struct {
		WorkflowRun struct {
			DatabaseId int
		}
		CheckRuns struct {
			TotalCount int
			Nodes      []struct {
				Id          string
				Name        string
				DetailsUrl  string
				DatabaseId  int
				Status      string
				StartedAt   *time.Time
				Conclusion  string
				CompletedAt *time.Time

				Steps struct {
					TotalCount int
					Nodes      []struct {
						CompletedAt         *time.Time `json:"completed_at"`
						Conclusion          string     `json:"conclusion"`
						Name                string     `json:"name"`
						Number              int        `json:"number"`
						SecondsToCompletion int        `json:"seconds_to_completion"`
						StartedAt           *time.Time `json:"started_at"`
						Status              string     `json:"status"`
					}
				} `graphql:"steps(first: 50)"`
			}
		} `graphql:"checkRuns(first: 50)"`
	} `graphql:"... on CheckSuite"`
}

type GraphqlQueryCommit

type GraphqlQueryCommit struct {
	Commit struct {
		Oid     string
		Message string
		Author  struct {
			Name  string
			Email string
			Date  time.Time
			User  *GraphqlInlineAccountQuery
		}
		Committer struct {
			Date  time.Time
			Email string
			Name  string
		}
	}
	Url string
}

type GraphqlQueryIssue

type GraphqlQueryIssue struct {
	DatabaseId   int
	Number       int
	State        string
	StateReason  string
	Title        string
	Body         string
	Author       *GraphqlInlineAccountQuery
	Url          string
	ClosedAt     *time.Time
	CreatedAt    time.Time
	UpdatedAt    time.Time
	AssigneeList struct {
		// FIXME now domain layer just support one assignee
		Assignees []GraphqlInlineAccountQuery `graphql:"nodes"`
	} `graphql:"assignees(first: 1)"`
	Milestone *struct {
		Number int
	} `json:"milestone"`
	Labels struct {
		Nodes []struct {
			Id   string
			Name string
		}
	} `graphql:"labels(first: 100)"`
}

type GraphqlQueryIssueWrapper

type GraphqlQueryIssueWrapper struct {
	RateLimit struct {
		Cost int
	}
	Repository struct {
		IssueList struct {
			TotalCount graphql.Int
			Issues     []GraphqlQueryIssue `graphql:"nodes"`
			PageInfo   *helper.GraphqlQueryPageInfo
		} `graphql:"issues(first: $pageSize, after: $skipCursor)"`
	} `graphql:"repository(owner: $owner, name: $name)"`
}

type GraphqlQueryPr

type GraphqlQueryPr struct {
	DatabaseId int
	Number     int
	State      string
	Title      string
	Body       string
	Url        string
	Labels     struct {
		Nodes []struct {
			Id   string
			Name string
		}
	} `graphql:"labels(first: 100)"`
	Author    *GraphqlInlineAccountQuery
	Assignees struct {
		// FIXME now domain layer just support one assignee
		Assignees []GraphqlInlineAccountQuery `graphql:"nodes"`
	} `graphql:"assignees(first: 1)"`
	ClosedAt    *time.Time
	MergedAt    *time.Time
	UpdatedAt   time.Time
	CreatedAt   time.Time
	MergeCommit *struct {
		Oid string
	}
	HeadRefName string
	HeadRefOid  string
	BaseRefName string
	BaseRefOid  string
	Commits     struct {
		PageInfo   *helper.GraphqlQueryPageInfo
		Nodes      []GraphqlQueryCommit `graphql:"nodes"`
		TotalCount graphql.Int
	} `graphql:"commits(first: 100)"`
	Reviews struct {
		TotalCount graphql.Int
		Nodes      []GraphqlQueryReview `graphql:"nodes"`
	} `graphql:"reviews(first: 100)"`
}

type GraphqlQueryPrWrapper

type GraphqlQueryPrWrapper struct {
	RateLimit struct {
		Cost int
	}
	Repository struct {
		PullRequests struct {
			PageInfo   *helper.GraphqlQueryPageInfo
			Prs        []GraphqlQueryPr `graphql:"nodes"`
			TotalCount graphql.Int
		} `graphql:"pullRequests(first: $pageSize, after: $skipCursor)"`
	} `graphql:"repository(owner: $owner, name: $name)"`
}

type GraphqlQueryRepo

type GraphqlQueryRepo struct {
	RateLimit struct {
		Cost int
	}
	Repository struct {
		Name      string `graphql:"name"`
		GithubId  int    `graphql:"databaseId"`
		HTMLUrl   string `graphql:"url"`
		Languages struct {
			Nodes []struct {
				Name string
			}
		} `graphql:"languages(first: 1)"`
		Description string `graphql:"description"`
		Owner       GraphqlInlineAccountQuery
		CreatedDate time.Time  `graphql:"createdAt"`
		UpdatedDate *time.Time `graphql:"updatedAt"`
		Parent      *struct {
			GithubId int    `graphql:"databaseId"`
			HTMLUrl  string `graphql:"url"`
		}
	} `graphql:"repository(owner: $owner, name: $name)"`
}

type GraphqlQueryReview

type GraphqlQueryReview struct {
	Body       string
	Author     *GraphqlInlineAccountQuery
	State      string `json:"state"`
	DatabaseId int    `json:"databaseId"`
	Commit     struct {
		Oid string
	}
	SubmittedAt *time.Time `json:"submittedAt"`
}

type SimpleAccount

type SimpleAccount struct {
	Login string
}

type SimpleWorkflowRun added in v0.15.0

type SimpleWorkflowRun struct {
	CheckSuiteNodeID string
}

Jump to

Keyboard shortcuts

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