Documentation
¶
Index ¶
- Variables
- func AddAuthTokenHeader(rt http.RoundTripper, cfg tokenGetter) http.RoundTripper
- func AddCacheTTLHeader(rt http.RoundTripper, ttl time.Duration) http.RoundTripper
- func AddReview(client *Client, repo ghrepo.Interface, pr *PullRequest, ...) error
- func BranchDeleteRemote(client *Client, repo ghrepo.Interface, branch string) error
- func CanPushToRepo(httpClient *http.Client, repo ghrepo.Interface) (bool, error)
- func CommentCreate(client *Client, repoHost string, params CommentCreateInput) (string, error)
- func CommentUpdate(client *Client, repoHost string, params CommentUpdateInput) (string, error)
- func ConvertPullRequestToDraft(client *Client, repo ghrepo.Interface, pr *PullRequest) error
- func CurrentLoginName(client *Client, hostname string) (string, error)
- func CurrentUserID(client *Client, hostname string) (string, error)
- func EndpointNeedsScopes(resp *http.Response, s string) *http.Response
- func ExtractHeader(name string, dest *string) func(http.RoundTripper) http.RoundTripper
- func HandleHTTPError(resp *http.Response) error
- func IssueGraphQL(fields []string) string
- func NewCachedHTTPClient(httpClient *http.Client, ttl time.Duration) *http.Client
- func NewHTTPClient(opts HTTPClientOptions) (*http.Client, error)
- func ProjectNamesToPaths(client *Client, repo ghrepo.Interface, projectNames []string) ([]string, error)
- func ProjectsToPaths(projects []RepoProject, names []string) ([]string, error)
- func PullRequestClose(httpClient *http.Client, repo ghrepo.Interface, prID string) error
- func PullRequestGraphQL(fields []string) string
- func PullRequestReady(client *Client, repo ghrepo.Interface, pr *PullRequest) error
- func PullRequestReopen(httpClient *http.Client, repo ghrepo.Interface, prID string) error
- func RepoDefaultBranch(client *Client, repo ghrepo.Interface) (string, error)
- func RepoParent(client *Client, repo ghrepo.Interface) (ghrepo.Interface, error)
- func RepositoryGraphQL(fields []string) string
- func RequiredStatusCheckRollupGraphQL(prID, after string) string
- func ScopesSuggestion(resp *http.Response) string
- func StatusCheckRollupGraphQL(after string) string
- func UpdatePullRequestReviews(client *Client, repo ghrepo.Interface, params githubv4.RequestReviewsInput) error
- type Assignees
- type Author
- type BranchRef
- type CheckContext
- type CheckContexts
- type Client
- func (c Client) GraphQL(hostname string, query string, variables map[string]interface{}, ...) error
- func (c *Client) HTTP() *http.Client
- func (c Client) Mutate(hostname, name string, mutation interface{}, variables map[string]interface{}) error
- func (c Client) Query(hostname, name string, query interface{}, variables map[string]interface{}) error
- func (c Client) REST(hostname string, method string, p string, body io.Reader, data interface{}) error
- func (c Client) RESTWithNext(hostname string, method string, p string, body io.Reader, data interface{}) (string, error)
- type CodeOfConduct
- type CodingLanguage
- type Comment
- func (c Comment) Association() string
- func (c Comment) AuthorLogin() string
- func (c Comment) Content() string
- func (c Comment) Created() time.Time
- func (c Comment) HiddenReason() string
- func (c Comment) Identifier() string
- func (c Comment) IsEdited() bool
- func (c Comment) IsHidden() bool
- func (c Comment) Link() string
- func (c Comment) Reactions() ReactionGroups
- func (c Comment) Status() string
- type CommentCreateInput
- type CommentUpdateInput
- type Comments
- type Commit
- type CommitStatusCheckRollup
- type ContactLink
- type FundingLink
- type GitHubUser
- type GraphQLError
- type HTTPClientOptions
- type HTTPError
- type Issue
- type IssueLabel
- type IssueStatusOptions
- type IssueTemplate
- type IssuesAndTotalCount
- type IssuesDisabledError
- type IssuesPayload
- type Labels
- type License
- type Milestone
- type OrgTeam
- type Owner
- type PRRepository
- type ProjectCards
- type ProjectInfo
- type PullRequest
- func (pr *PullRequest) ChecksStatus() (summary PullRequestChecksStatus)
- func (pr PullRequest) CurrentUserComments() []Comment
- func (pr *PullRequest) DisplayableReviews() PullRequestReviews
- func (pr *PullRequest) ExportData(fields []string) map[string]interface{}
- func (pr PullRequest) HeadLabel() string
- func (pr PullRequest) Identifier() string
- func (pr PullRequest) IsOpen() bool
- func (pr PullRequest) Link() string
- func (pr *PullRequest) ReviewStatus() PullRequestReviewStatus
- type PullRequestAndTotalCount
- type PullRequestChecksStatus
- type PullRequestCommit
- type PullRequestCommitCommit
- type PullRequestFile
- type PullRequestReview
- func (prr PullRequestReview) Association() string
- func (prr PullRequestReview) AuthorLogin() string
- func (prr PullRequestReview) Content() string
- func (prr PullRequestReview) Created() time.Time
- func (prr PullRequestReview) HiddenReason() string
- func (prr PullRequestReview) Identifier() string
- func (prr PullRequestReview) IsEdited() bool
- func (prr PullRequestReview) IsHidden() bool
- func (prr PullRequestReview) Link() string
- func (prr PullRequestReview) Reactions() ReactionGroups
- func (prr PullRequestReview) Status() string
- type PullRequestReviewInput
- type PullRequestReviewState
- type PullRequestReviewStatus
- type PullRequestReviews
- type PullRequestTemplate
- type ReactionGroup
- type ReactionGroupUsers
- type ReactionGroups
- type RepoAssignee
- type RepoLabel
- type RepoMetadataInput
- type RepoMetadataResult
- func (m *RepoMetadataResult) LabelsToIDs(names []string) ([]string, error)
- func (m *RepoMetadataResult) MembersToIDs(names []string) ([]string, error)
- func (m *RepoMetadataResult) Merge(m2 *RepoMetadataResult)
- func (m *RepoMetadataResult) MilestoneToID(title string) (string, error)
- func (m *RepoMetadataResult) ProjectsToIDs(names []string) ([]string, error)
- func (m *RepoMetadataResult) TeamsToIDs(names []string) ([]string, error)
- type RepoMilestone
- type RepoNetworkResult
- type RepoProject
- type RepoResolveInput
- type Repository
- func CreateRepoTransformToV4(apiClient *Client, hostname string, method string, path string, body io.Reader) (*Repository, error)
- func FetchRepository(client *Client, repo ghrepo.Interface, fields []string) (*Repository, error)
- func ForkRepo(client *Client, repo ghrepo.Interface, org, newName string) (*Repository, error)
- func GitHubRepo(client *Client, repo ghrepo.Interface) (*Repository, error)
- func InitRepoHostname(repo *Repository, hostname string) *Repository
- func RenameRepo(client *Client, repo ghrepo.Interface, newRepoName string) (*Repository, error)
- func RepoFindForks(client *Client, repo ghrepo.Interface, limit int) ([]*Repository, error)
- type RepositoryLicense
- type RepositoryOwner
- type RepositoryRelease
- type RepositoryTopic
- type RequestedReviewer
- type ReviewRequests
- type StatusCheckRollupCommit
- type StatusCheckRollupNode
Constants ¶
This section is empty.
Variables ¶
var IssueFields = []string{
"assignees",
"author",
"body",
"closed",
"comments",
"createdAt",
"closedAt",
"id",
"labels",
"milestone",
"number",
"projectCards",
"reactionGroups",
"state",
"title",
"updatedAt",
"url",
}
var PullRequestFields = append(IssueFields,
"additions",
"baseRefName",
"changedFiles",
"commits",
"deletions",
"files",
"headRefName",
"headRefOid",
"headRepository",
"headRepositoryOwner",
"isCrossRepository",
"isDraft",
"latestReviews",
"maintainerCanModify",
"mergeable",
"mergeCommit",
"mergedAt",
"mergedBy",
"mergeStateStatus",
"potentialMergeCommit",
"reviewDecision",
"reviewRequests",
"reviews",
"statusCheckRollup",
)
var RepositoryFields = []string{
"id",
"name",
"nameWithOwner",
"owner",
"parent",
"templateRepository",
"description",
"homepageUrl",
"openGraphImageUrl",
"usesCustomOpenGraphImage",
"url",
"sshUrl",
"mirrorUrl",
"securityPolicyUrl",
"createdAt",
"pushedAt",
"updatedAt",
"isBlankIssuesEnabled",
"isSecurityPolicyEnabled",
"hasIssuesEnabled",
"hasProjectsEnabled",
"hasWikiEnabled",
"mergeCommitAllowed",
"squashMergeAllowed",
"rebaseMergeAllowed",
"forkCount",
"stargazerCount",
"watchers",
"issues",
"pullRequests",
"codeOfConduct",
"contactLinks",
"defaultBranchRef",
"deleteBranchOnMerge",
"diskUsage",
"fundingLinks",
"isArchived",
"isEmpty",
"isFork",
"isInOrganization",
"isMirror",
"isPrivate",
"isTemplate",
"isUserConfigurationRepository",
"licenseInfo",
"viewerCanAdminister",
"viewerDefaultCommitEmail",
"viewerDefaultMergeMethod",
"viewerHasStarred",
"viewerPermission",
"viewerPossibleCommitEmails",
"viewerSubscription",
"repositoryTopics",
"primaryLanguage",
"languages",
"issueTemplates",
"pullRequestTemplates",
"labels",
"milestones",
"latestRelease",
"assignableUsers",
"mentionableUsers",
"projects",
}
Functions ¶
func AddAuthTokenHeader ¶ added in v2.14.0
func AddAuthTokenHeader(rt http.RoundTripper, cfg tokenGetter) http.RoundTripper
AddAuthToken adds an authentication token header for the host specified by the request.
func AddCacheTTLHeader ¶ added in v2.14.0
func AddCacheTTLHeader(rt http.RoundTripper, ttl time.Duration) http.RoundTripper
AddCacheTTLHeader adds an header to the request telling the cache that the request should be cached for a specified amount of time.
func AddReview ¶
func AddReview(client *Client, repo ghrepo.Interface, pr *PullRequest, input *PullRequestReviewInput) error
func BranchDeleteRemote ¶
func CanPushToRepo ¶
func CommentCreate ¶
func CommentCreate(client *Client, repoHost string, params CommentCreateInput) (string, error)
func CommentUpdate ¶ added in v2.18.0
func CommentUpdate(client *Client, repoHost string, params CommentUpdateInput) (string, error)
func ConvertPullRequestToDraft ¶ added in v2.16.0
func ConvertPullRequestToDraft(client *Client, repo ghrepo.Interface, pr *PullRequest) error
func EndpointNeedsScopes ¶
EndpointNeedsScopes adds additional OAuth scopes to an HTTP response as if they were returned from the server endpoint. This improves HTTP 4xx error messaging for endpoints that don't explicitly list the OAuth scopes they need.
func ExtractHeader ¶ added in v2.5.0
func ExtractHeader(name string, dest *string) func(http.RoundTripper) http.RoundTripper
ExtractHeader extracts a named header from any response received by this client and, if non-blank, saves it to dest.
func HandleHTTPError ¶
HandleHTTPError parses a http.Response into a HTTPError.
func IssueGraphQL ¶ added in v2.15.0
IssueGraphQL constructs a GraphQL query fragment for a set of issue fields.
func NewCachedHTTPClient ¶ added in v2.14.0
func NewHTTPClient ¶
func NewHTTPClient(opts HTTPClientOptions) (*http.Client, error)
func ProjectNamesToPaths ¶
func ProjectsToPaths ¶
func ProjectsToPaths(projects []RepoProject, names []string) ([]string, error)
func PullRequestClose ¶
func PullRequestGraphQL ¶
PullRequestGraphQL constructs a GraphQL query fragment for a set of pull request fields. It will try to sanitize the fields to just those available on pull request.
func PullRequestReady ¶
func PullRequestReady(client *Client, repo ghrepo.Interface, pr *PullRequest) error
func PullRequestReopen ¶
func RepoDefaultBranch ¶
func RepoParent ¶
RepoParent finds out the parent repository of a fork
func RepositoryGraphQL ¶
func RequiredStatusCheckRollupGraphQL ¶ added in v2.16.0
func ScopesSuggestion ¶
ScopesSuggestion is an error messaging utility that prints the suggestion to request additional OAuth scopes in case a server response indicates that there are missing scopes.
Types ¶
type Assignees ¶
type Assignees struct { Nodes []GitHubUser TotalCount int }
type Author ¶
type Author struct { // adding these breaks generated GraphQL requests //ID string `json:"id,omitempty"` //Name string `json:"name,omitempty"` Login string `json:"login"` }
type BranchRef ¶
type BranchRef struct {
Name string `json:"name"`
}
BranchRef is the branch name in a GitHub repository
type CheckContext ¶ added in v2.5.0
type CheckContext struct { TypeName string `json:"__typename"` Name string `json:"name"` IsRequired bool `json:"isRequired"` CheckSuite struct { WorkflowRun struct { Workflow struct { Name string `json:"name"` } `json:"workflow"` } `json:"workflowRun"` } `json:"checkSuite"` // QUEUED IN_PROGRESS COMPLETED WAITING PENDING REQUESTED Status string `json:"status"` // ACTION_REQUIRED TIMED_OUT CANCELLED FAILURE SUCCESS NEUTRAL SKIPPED STARTUP_FAILURE STALE Conclusion string `json:"conclusion"` StartedAt time.Time `json:"startedAt"` CompletedAt time.Time `json:"completedAt"` DetailsURL string `json:"detailsUrl"` Context string `json:"context"` // EXPECTED ERROR FAILURE PENDING SUCCESS State string `json:"state"` TargetURL string `json:"targetUrl"` CreatedAt time.Time `json:"createdAt"` }
type CheckContexts ¶ added in v2.16.0
type CheckContexts struct { Nodes []CheckContext PageInfo struct { HasNextPage bool EndCursor string } }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClientFromHTTP ¶
func (Client) GraphQL ¶
func (c Client) GraphQL(hostname string, query string, variables map[string]interface{}, data interface{}) error
GraphQL performs a GraphQL request and parses the response. If there are errors in the response, GraphQLError will be returned, but the data will also be parsed into the receiver.
func (Client) Mutate ¶ added in v2.14.0
func (c Client) Mutate(hostname, name string, mutation interface{}, variables map[string]interface{}) error
GraphQL performs a GraphQL mutation and parses the response. If there are errors in the response, GraphQLError will be returned, but the data will also be parsed into the receiver.
func (Client) Query ¶ added in v2.14.0
func (c Client) Query(hostname, name string, query interface{}, variables map[string]interface{}) error
GraphQL performs a GraphQL query and parses the response. If there are errors in the response, GraphQLError will be returned, but the data will also be parsed into the receiver.
type CodeOfConduct ¶
type CodingLanguage ¶
type CodingLanguage struct {
Name string `json:"name"`
}
type Comment ¶
type Comment struct { ID string `json:"id"` Author Author `json:"author"` AuthorAssociation string `json:"authorAssociation"` Body string `json:"body"` CreatedAt time.Time `json:"createdAt"` IncludesCreatedEdit bool `json:"includesCreatedEdit"` IsMinimized bool `json:"isMinimized"` MinimizedReason string `json:"minimizedReason"` ReactionGroups ReactionGroups `json:"reactionGroups"` URL string `json:"url,omitempty"` ViewerDidAuthor bool `json:"viewerDidAuthor"` }
func (Comment) Association ¶
func (Comment) AuthorLogin ¶
func (Comment) HiddenReason ¶
func (Comment) Identifier ¶ added in v2.18.0
func (Comment) Reactions ¶
func (c Comment) Reactions() ReactionGroups
type CommentCreateInput ¶
type CommentUpdateInput ¶ added in v2.18.0
type Comments ¶
type Comments struct { Nodes []Comment TotalCount int PageInfo struct { HasNextPage bool EndCursor string } }
func (Comments) CurrentUserComments ¶ added in v2.18.0
type Commit ¶
type Commit struct {
OID string `json:"oid"`
}
Commit loads just the commit SHA and nothing else
type CommitStatusCheckRollup ¶ added in v2.16.0
type CommitStatusCheckRollup struct {
Contexts CheckContexts
}
type ContactLink ¶
type FundingLink ¶
type GitHubUser ¶
type GraphQLError ¶
type HTTPClientOptions ¶ added in v2.14.0
type HTTPError ¶
func (HTTPError) ScopesSuggestion ¶
type Issue ¶
type Issue struct { Typename string `json:"__typename"` ID string Number int Title string URL string State string StateReason string Closed bool Body string CreatedAt time.Time UpdatedAt time.Time ClosedAt *time.Time Comments Comments Author Author Assignees Assignees Labels Labels ProjectCards ProjectCards Milestone *Milestone ReactionGroups ReactionGroups IsPinned bool }
func IssueCreate ¶
func IssueCreate(client *Client, repo *Repository, params map[string]interface{}) (*Issue, error)
IssueCreate creates an issue in a GitHub repository
func (Issue) CurrentUserComments ¶ added in v2.18.0
func (*Issue) ExportData ¶
func (Issue) Identifier ¶
func (Issue) IsPullRequest ¶ added in v2.3.0
type IssueLabel ¶
type IssueStatusOptions ¶
type IssueTemplate ¶
type IssuesAndTotalCount ¶
type IssuesDisabledError ¶
type IssuesDisabledError struct {
// contains filtered or unexported fields
}
type IssuesPayload ¶
type IssuesPayload struct { Assigned IssuesAndTotalCount Mentioned IssuesAndTotalCount Authored IssuesAndTotalCount }
func IssueStatus ¶
func IssueStatus(client *Client, repo ghrepo.Interface, options IssueStatusOptions) (*IssuesPayload, error)
type Labels ¶
type Labels struct { Nodes []IssueLabel TotalCount int }
type PRRepository ¶
type ProjectCards ¶
type ProjectCards struct { Nodes []*ProjectInfo TotalCount int }
func (ProjectCards) ProjectNames ¶
func (p ProjectCards) ProjectNames() []string
type ProjectInfo ¶ added in v2.3.0
type PullRequest ¶
type PullRequest struct { ID string Number int Title string State string Closed bool URL string BaseRefName string HeadRefName string HeadRefOid string Body string Mergeable string Additions int Deletions int ChangedFiles int MergeStateStatus string IsInMergeQueue bool IsMergeQueueEnabled bool // Indicates whether the pull request's base ref has a merge queue enabled. CreatedAt time.Time UpdatedAt time.Time ClosedAt *time.Time MergedAt *time.Time MergeCommit *Commit PotentialMergeCommit *Commit Files struct { Nodes []PullRequestFile } Author Author MergedBy *Author HeadRepositoryOwner Owner HeadRepository *PRRepository IsCrossRepository bool IsDraft bool MaintainerCanModify bool BaseRef struct { BranchProtectionRule struct { RequiresStrictStatusChecks bool RequiredApprovingReviewCount int } } ReviewDecision string Commits struct { TotalCount int Nodes []PullRequestCommit } StatusCheckRollup struct { Nodes []StatusCheckRollupNode } Assignees Assignees Labels Labels ProjectCards ProjectCards Milestone *Milestone Comments Comments ReactionGroups ReactionGroups Reviews PullRequestReviews LatestReviews PullRequestReviews ReviewRequests ReviewRequests }
func CreatePullRequest ¶
func CreatePullRequest(client *Client, repo *Repository, params map[string]interface{}) (*PullRequest, error)
CreatePullRequest creates a pull request in a GitHub repository
func (*PullRequest) ChecksStatus ¶
func (pr *PullRequest) ChecksStatus() (summary PullRequestChecksStatus)
func (PullRequest) CurrentUserComments ¶ added in v2.18.0
func (pr PullRequest) CurrentUserComments() []Comment
func (*PullRequest) DisplayableReviews ¶
func (pr *PullRequest) DisplayableReviews() PullRequestReviews
func (*PullRequest) ExportData ¶
func (pr *PullRequest) ExportData(fields []string) map[string]interface{}
func (PullRequest) HeadLabel ¶
func (pr PullRequest) HeadLabel() string
func (PullRequest) Identifier ¶
func (pr PullRequest) Identifier() string
func (PullRequest) IsOpen ¶
func (pr PullRequest) IsOpen() bool
func (PullRequest) Link ¶
func (pr PullRequest) Link() string
func (*PullRequest) ReviewStatus ¶
func (pr *PullRequest) ReviewStatus() PullRequestReviewStatus
type PullRequestAndTotalCount ¶
type PullRequestAndTotalCount struct { TotalCount int PullRequests []PullRequest SearchCapped bool }
type PullRequestChecksStatus ¶
type PullRequestCommit ¶
type PullRequestCommit struct {
Commit PullRequestCommitCommit
}
type PullRequestCommitCommit ¶
type PullRequestCommitCommit struct { OID string `json:"oid"` Authors struct { Nodes []struct { Name string Email string User GitHubUser } } MessageHeadline string MessageBody string CommittedDate time.Time AuthoredDate time.Time }
PullRequestCommitCommit contains full information about a commit
type PullRequestFile ¶
type PullRequestReview ¶
type PullRequestReview struct { ID string `json:"id"` Author Author `json:"author"` AuthorAssociation string `json:"authorAssociation"` Body string `json:"body"` SubmittedAt *time.Time `json:"submittedAt"` IncludesCreatedEdit bool `json:"includesCreatedEdit"` ReactionGroups ReactionGroups `json:"reactionGroups"` State string `json:"state"` URL string `json:"url,omitempty"` }
func (PullRequestReview) Association ¶
func (prr PullRequestReview) Association() string
func (PullRequestReview) AuthorLogin ¶
func (prr PullRequestReview) AuthorLogin() string
func (PullRequestReview) Content ¶
func (prr PullRequestReview) Content() string
func (PullRequestReview) Created ¶
func (prr PullRequestReview) Created() time.Time
func (PullRequestReview) HiddenReason ¶
func (prr PullRequestReview) HiddenReason() string
func (PullRequestReview) Identifier ¶ added in v2.18.0
func (prr PullRequestReview) Identifier() string
func (PullRequestReview) IsEdited ¶
func (prr PullRequestReview) IsEdited() bool
func (PullRequestReview) IsHidden ¶
func (prr PullRequestReview) IsHidden() bool
func (PullRequestReview) Link ¶
func (prr PullRequestReview) Link() string
func (PullRequestReview) Reactions ¶
func (prr PullRequestReview) Reactions() ReactionGroups
func (PullRequestReview) Status ¶
func (prr PullRequestReview) Status() string
type PullRequestReviewInput ¶
type PullRequestReviewInput struct { Body string State PullRequestReviewState }
type PullRequestReviewState ¶
type PullRequestReviewState int
const ( ReviewApprove PullRequestReviewState = iota ReviewRequestChanges ReviewComment )
type PullRequestReviewStatus ¶
type PullRequestReviews ¶
type PullRequestReviews struct { Nodes []PullRequestReview PageInfo struct { HasNextPage bool EndCursor string } TotalCount int }
type PullRequestTemplate ¶
type ReactionGroup ¶
type ReactionGroup struct { Content string `json:"content"` Users ReactionGroupUsers `json:"users"` }
func (ReactionGroup) Count ¶
func (rg ReactionGroup) Count() int
func (ReactionGroup) Emoji ¶
func (rg ReactionGroup) Emoji() string
type ReactionGroupUsers ¶
type ReactionGroupUsers struct {
TotalCount int `json:"totalCount"`
}
type ReactionGroups ¶
type ReactionGroups []ReactionGroup
func (ReactionGroups) MarshalJSON ¶
func (rg ReactionGroups) MarshalJSON() ([]byte, error)
type RepoAssignee ¶
func RepoAssignableUsers ¶
func RepoAssignableUsers(client *Client, repo ghrepo.Interface) ([]RepoAssignee, error)
RepoAssignableUsers fetches all the assignable users for a repository
func (RepoAssignee) DisplayName ¶ added in v2.5.0
func (ra RepoAssignee) DisplayName() string
DisplayName returns a formatted string that uses Login and Name to be displayed e.g. 'Login (Name)' or 'Login'
type RepoMetadataInput ¶
type RepoMetadataResult ¶
type RepoMetadataResult struct { AssignableUsers []RepoAssignee Labels []RepoLabel Projects []RepoProject Milestones []RepoMilestone Teams []OrgTeam }
func RepoMetadata ¶
func RepoMetadata(client *Client, repo ghrepo.Interface, input RepoMetadataInput) (*RepoMetadataResult, error)
RepoMetadata pre-fetches the metadata for attaching to issues and pull requests
func RepoResolveMetadataIDs ¶
func RepoResolveMetadataIDs(client *Client, repo ghrepo.Interface, input RepoResolveInput) (*RepoMetadataResult, error)
RepoResolveMetadataIDs looks up GraphQL node IDs in bulk
func (*RepoMetadataResult) LabelsToIDs ¶
func (m *RepoMetadataResult) LabelsToIDs(names []string) ([]string, error)
func (*RepoMetadataResult) MembersToIDs ¶
func (m *RepoMetadataResult) MembersToIDs(names []string) ([]string, error)
func (*RepoMetadataResult) Merge ¶
func (m *RepoMetadataResult) Merge(m2 *RepoMetadataResult)
func (*RepoMetadataResult) MilestoneToID ¶
func (m *RepoMetadataResult) MilestoneToID(title string) (string, error)
func (*RepoMetadataResult) ProjectsToIDs ¶
func (m *RepoMetadataResult) ProjectsToIDs(names []string) ([]string, error)
func (*RepoMetadataResult) TeamsToIDs ¶
func (m *RepoMetadataResult) TeamsToIDs(names []string) ([]string, error)
type RepoMilestone ¶
func RepoMilestones ¶
RepoMilestones fetches milestones in a repository
type RepoNetworkResult ¶
type RepoNetworkResult struct { ViewerLogin string Repositories []*Repository }
RepoNetworkResult describes the relationship between related repositories
func RepoNetwork ¶
func RepoNetwork(client *Client, repos []ghrepo.Interface) (RepoNetworkResult, error)
RepoNetwork inspects the relationship between multiple GitHub repositories
type RepoProject ¶
type RepoProject struct { ID string `json:"id"` Name string `json:"name"` Number int `json:"number"` ResourcePath string `json:"resourcePath"` }
func OrganizationProjects ¶
func OrganizationProjects(client *Client, repo ghrepo.Interface) ([]RepoProject, error)
OrganizationProjects fetches all open projects for an organization
func RepoAndOrgProjects ¶
func RepoAndOrgProjects(client *Client, repo ghrepo.Interface) ([]RepoProject, error)
RepoAndOrgProjects fetches all open projects for a repository and its org
func RepoProjects ¶
func RepoProjects(client *Client, repo ghrepo.Interface) ([]RepoProject, error)
RepoProjects fetches all open projects for a repository
type RepoResolveInput ¶
type Repository ¶
type Repository struct { ID string Name string NameWithOwner string Owner RepositoryOwner Parent *Repository TemplateRepository *Repository Description string HomepageURL string OpenGraphImageURL string UsesCustomOpenGraphImage bool URL string SSHURL string MirrorURL string SecurityPolicyURL string CreatedAt time.Time PushedAt *time.Time UpdatedAt time.Time IsBlankIssuesEnabled bool IsSecurityPolicyEnabled bool HasIssuesEnabled bool HasProjectsEnabled bool HasWikiEnabled bool MergeCommitAllowed bool SquashMergeAllowed bool RebaseMergeAllowed bool AutoMergeAllowed bool ForkCount int StargazerCount int Watchers struct { TotalCount int `json:"totalCount"` } Issues struct { TotalCount int `json:"totalCount"` } PullRequests struct { TotalCount int `json:"totalCount"` } CodeOfConduct *CodeOfConduct ContactLinks []ContactLink DefaultBranchRef BranchRef DeleteBranchOnMerge bool DiskUsage int FundingLinks []FundingLink IsArchived bool IsEmpty bool IsFork bool ForkingAllowed bool IsInOrganization bool IsMirror bool IsPrivate bool IsTemplate bool IsUserConfigurationRepository bool LicenseInfo *RepositoryLicense ViewerCanAdminister bool ViewerDefaultCommitEmail string ViewerDefaultMergeMethod string ViewerHasStarred bool ViewerPermission string ViewerPossibleCommitEmails []string ViewerSubscription string Visibility string RepositoryTopics struct { Nodes []struct { Topic RepositoryTopic } } PrimaryLanguage *CodingLanguage Languages struct { Edges []struct { Size int `json:"size"` Node CodingLanguage `json:"node"` } } IssueTemplates []IssueTemplate PullRequestTemplates []PullRequestTemplate Labels struct { Nodes []IssueLabel } Milestones struct { Nodes []Milestone } LatestRelease *RepositoryRelease AssignableUsers struct { Nodes []GitHubUser } MentionableUsers struct { Nodes []GitHubUser } Projects struct { Nodes []RepoProject } // contains filtered or unexported fields }
Repository contains information about a GitHub repo
func CreateRepoTransformToV4 ¶
func FetchRepository ¶
func GitHubRepo ¶
func GitHubRepo(client *Client, repo ghrepo.Interface) (*Repository, error)
func InitRepoHostname ¶
func InitRepoHostname(repo *Repository, hostname string) *Repository
func RenameRepo ¶ added in v2.5.0
RenameRepo renames the repository on GitHub and returns the renamed repository
func RepoFindForks ¶
RepoFindForks finds forks of the repo that are affiliated with the viewer
func (*Repository) ExportData ¶
func (repo *Repository) ExportData(fields []string) map[string]interface{}
func (Repository) RepoHost ¶
func (r Repository) RepoHost() string
RepoHost is the GitHub hostname of the repository
func (Repository) RepoName ¶
func (r Repository) RepoName() string
RepoName is the name of the repository
func (Repository) RepoOwner ¶
func (r Repository) RepoOwner() string
RepoOwner is the login name of the owner
func (Repository) ViewerCanPush ¶
func (r Repository) ViewerCanPush() bool
ViewerCanPush is true when the requesting user has push access
func (Repository) ViewerCanTriage ¶
func (r Repository) ViewerCanTriage() bool
ViewerCanTriage is true when the requesting user can triage issues and pull requests
type RepositoryLicense ¶
type RepositoryOwner ¶
RepositoryOwner is the owner of a GitHub repository
type RepositoryRelease ¶
type RepositoryTopic ¶
type RepositoryTopic struct {
Name string `json:"name"`
}
type RequestedReviewer ¶
type RequestedReviewer struct { TypeName string `json:"__typename"` Login string `json:"login"` Name string `json:"name"` Slug string `json:"slug"` Organization struct { Login string `json:"login"` } `json:"organization"` }
func (RequestedReviewer) LoginOrSlug ¶
func (r RequestedReviewer) LoginOrSlug() string
type ReviewRequests ¶
type ReviewRequests struct { Nodes []struct { RequestedReviewer RequestedReviewer } }
func (ReviewRequests) Logins ¶
func (r ReviewRequests) Logins() []string
type StatusCheckRollupCommit ¶ added in v2.16.0
type StatusCheckRollupCommit struct {
StatusCheckRollup CommitStatusCheckRollup
}
type StatusCheckRollupNode ¶ added in v2.16.0
type StatusCheckRollupNode struct {
Commit StatusCheckRollupCommit
}